지도학습(Supervised Learning): 예측해야하는 타겟이 무엇인지 확실히 정해야한다. 타겟은 이산형인지, 순서형인지, 범주형인지 등등 어떤 형태로 표현되어야 하는지도 명확히 이해하고 있어야 한다.
정보의 누수도 과거 언급했었다. (더 보러 가기) 정보의 누수가 가지는 문제점은 모델이 실전에서 성능이 급격히 떨어질 수 있다는 것!! 그렇기에 항상 조심해야한다.
분류: Accuracy, Precision, Recall, F1 등등
회귀: MSE, MAE, RMSE, R-squared
분류인데 회귀 평가지표를 사용하고, 회귀인데 분류 평가지표를 사용하고.... 그런 경우는 일어나서는 안된다...
수능에서 수리 가형과 수리 나형의 원점수를 그냥 비교하면 되겠는가,,,,,
Class_weight: 데이터에 A Class에 속한 데이터가 적으면 Oversampling, 많으면 Undersampling 등을 적용한다. 물론 Test에는 사용하면 안됨!! 아니면 직접 Class에 가중치를 부여해준다.
OverSampling: 데이터에 노이즈를 넣어서 Overfitting을 방지한다. 대표적인 방법은 SMOTE
UnderSampling: B Class에 속한 데이터가 많으면, 그 데이터를 적게 샘플링한다.
회귀 분석은 기본적으로
1. 특성과 타겟사이에 선형을 가정한다.
2. 특성과 타겟이 정규분포일 때 좋은 성능을 나타낸다.
위의 그림과 같이 한쪽으로 치우친(Skewed) 분포가 있으면 성능이 잘 나오지 않는다...
단, 로그, 루트 모두 딱 정해진 답은 아니고 그 때, 그 때의 흐름, 형태 등에 따라서 기본적인 개념을 잡고 다양한 수식으로 변환시켜 주면 된다!
+
'if not x['base_correct']'가 base_correct가 False이면 1이라는 뜻인가요?
네
로직 vs 알고리즘
로직: 좀 간단한 거
알고리즘: 좀 더 복잡한 문제를 풀고 그러는 것.