본문 바로가기

Machine Learning

(47)
Regression - Linear Regression Linear Regression (선형 회귀) 데이터를 가장 잘 설명해내는 직선을 찾아내는 것. 데이터가 분포되어 있는 공간에서 데이터를 가장 잘 표현하는 선을 긋는 것. 가장 적합간 기울기(가중치, 계수)와 y절편(편향)을 찾아내는 것. 특성(feature, x)의 개수 1개 특성(feature, x)의 개수 2개 이상 출력 y의 값 1개 단변량 단순 선형 회귀 단변량 다중 선형 회귀 출력 y의 값 2개 - 다변량 다중 선형 회귀 기본적으로 출력되는 y의 값이 1개이며 여러 개의 특성을 사용하는 단변량 다중 선형 회귀를 알아본다. 다중 선형 회귀 ŷ : 예측값 x : 독립변수, 특성으로 부르지만 여기선 특성(feature)으로 통일한다. w : 기울기 또는 계수(coefficient) 또는 가중치. 여..
Regression - FIFA 이적료 예측 : 전처리 dacon.io/competitions/open/235538/data/ [스포츠] 해외 축구 선수 이적료 예측 미션 출처 : DACON - Data Science Competition dacon.io 각 컬럼의 정보 id 선수 고유의 아이디 name 이름 age 나이 continent 선수들의 국적이 포함되어 있는 대륙 contract_until 선수의 계약기간 만료 position 선수가 선호하는 포지션 prefer_foot 선수가 선호하는 발 reputation 선수가 유명한 정도 stat_overall 선수의 현재 능력치 stat_potential 선수가 경험 및 노력을 통해 발전할 수 있는 정도 stat_skill_moves 선수의 개인기 능력치 value FIFA가 선정한 선수의 이적 시장 가격..
Classification - 모델 평가 : roc_auc_score https://steadiness-193.tistory.com/267 Classification - 모델 평가 : precision_score(정밀도), recall_score(재현율), f1_score [민감도(sensitivity)] 환자를 찾아냄 (양성을 찾음), 질병이 있는 사람을 질병이라 진단 [특이도(specificity)] 정상을 찾아냄 (음성을 찾음), 정상인 사람을 정상으로 진단 민감도와 특이도는 서로 반대 steadiness-193.tistory.com 위 포스팅에서 필요한 내용을 다시 환기하면 아래와 같다. ROC Curve(Receiver-Operating Characteristic curve) 민감도와 특이도의 관계가 보이는 양상을 2차원 평면상에 그려낸 것 민감도를 높이면 특이도..
Classification - 모델 평가 : precision_score(정밀도), recall_score(재현율), f1_score [민감도(sensitivity)] 환자를 찾아냄 (양성을 찾음), 질병이 있는 사람을 질병이라 진단 [특이도(specificity)] 정상을 찾아냄 (음성을 찾음), 정상인 사람을 정상으로 진단 민감도와 특이도는 서로 반대로 움직이는 경향을 보인다. True or False 예측 예측 결과 실제 결과 True Positive, TP + 양성 +양성 양성이 맞음 양성 True Negative, TN + 음성 +음성 음성이 맞음 음성 False Positive, FP - 양성 -양성 양성이 틀림 음성 False Negative, FN - 음성 -음성 음성이 틀림 양성 민감도(sensitivity) 양성으로 예측한 사람 중 실제 양성인 사람 (TP) / 실제 양성인 사람 (TP + FN) 특이도(specifi..
Classification - predict_proba (log_loss) [log_loss] log_loss는 분류 모델의 손실 함수로 사용되며 Cross Entropy라고도 불림 log_loss는 정확한 label값 (0, 1, ..)을 맞히는 것이 아닌, 모델이 그 클래스를 예측할 확률을 이용해서 평가하는 지표 모델의 fit 이후 predict_proba를 이용하면 각 클래스별 예측 확률을 array형태로 리턴함 현재 학습한 확률이 특정 확률에 대한 참값(목표 확률)에 가까울 수록 cross entropy는 낮아짐 from sklearn.metrics import log_loss model.fit(X_train, y_train) y_pred = model.predict_proba(X_valid) log_loss(y_valid, y_pred) log_loss는 손실이므로 값..
Classification - LGBMClassifier Gradient Boosting 알고리즘 기반의 단점을 보완한 xgboost에도 아쉬운 점이 있다. 바로, 여전히 속도가 느리다는 것이다. 이를 다시 보완하기위해 나온 것이 LightGBM이다. [LightGBM] XGboost보다 가볍고 더 나은 성능을 보이며 메모리도 더 적게 사용한다. XGboost의 균형 트리 분할 방식 (level-wise)가 아닌 리프 중심 분할 방식 (leaf-wise)을 사용해 비대칭적 트리를 형성하므로 균형을 잡기 위한 연산을 하지 않는다. lightgbm의 장단점 장점 단점 xgboost의 장점을 차용한다. 데이터의 양이 적다면 과적합될 가능성이 있다. (leaf-wise) xgboost 보다 빠르고 좋은 성능, 더 적은 메모리 https://steadiness-193...
Classification - XGBClassifier [XGBoost] 부트스트래핑(Bootstrapping) 방식의 앙상블 알고리즘 부트스트래핑 : 임의로 샘플 및 변수를 선택하여 학습 부스팅 알고리즘 (Boosting algorithm) 각 트리(이터레이션)가 맞히지 못한 샘플에 대해 가중치를 부여, 추후 학습할 때 가중치를 반영하여 새로운 트리를 생성 XGBoost는 균형 트리 분할 방식(level-wise)으로 모델을 학습하여 대칭적 트리를 만듦 XGBoost의 장점 1. 강력한 병렬 처리로 학습과 처리가 빠름 (Gradient Boosting Model 대비 빠른 것) 2. Greedy-algorithm을 이용, 자동 가지치기(Pruning)가 가능 과적합(Overfitting) 방지 3. 자체 교차검증 알고리즘 탑재 4. 결측치 자체 처리 5. ..
Regression - Regularization : L1 규제(Lasso), L2 규제(Ridge) * 수학적 증명, 수식보단 기본 개념과 활용법에 초점을 맞춤 Regularization (정형화, 규제, 일반화) 모델이 과적합되게 학습하지 않고 일반성을 가질 수 있도록 규제 하는 것. 하늘색 선은 오버피팅 될 수 있으므로 빨간색 점선으로 모델이 설정될 수 있게 해주는 작업이다. 데이터의 feature에는 손대지 않고 최대한 하늘색 선을 펴주려면 기울기(가중치)를 건드리면 된다. 이때 이용하는 것이 Lasso, Ridge이다. Lasso (least absolute shrinkage and selection operator) w는 가중치(기울기)를 의미한다. MSE (손실함수)에 α를 곱한 L1규제항을 더한 것이다. (비용함수에 가중치 파라미터의 절댓값을 모두 합한 형태) 학습의 방향이 단순히 손실함수..