데이터 가공: 전처리
1) 결측치 처리: missing value(없는 값), Outlier(부적절한 값/이상치) 처리
2) 클래스 라벨 설정: class labeling
- 범주형 데이터 -> 1, 2, 3, 4 등으로 코딩하는 행위 포함
- One-hot Encoding: 오직 0, 1로만 표현 (Dummy 변수)
-> NLP로 더 들어가면 BoW, TF-IDF 등 방법 있음
3) 데이터 스케일링(Data Scaling): 데이터값이 단위 영향 받지 않도록 변형
- 표준화 스케일링: 데이터가 평균 0, 표준편차 1이 되도록 변경하는 방법(정규화) -> (값 - 평균) / 표준편차
- Robust scaling: Median, Quantile 사용 / (값 - 중위수(2사분위수)) / (3사분위수 - 1사분위수)
- min-max scaling: 데이터의 최대값 1, 최소값 0으로 데이터가 가지는 범위 제한 / (값 - min(x)) / (max(x) - min(x))
- Normal scaling: 벡터의 유클리디안 길이가 1이 되도록 변경, 방향(각도)만 고려할 때 사용
모형 평가
- parameter: 모형 내부에서 데이터에 의해 추정되는 값
- hyperparameter: 모형 생성에 쓰이는 데이터로부터 나온 값
- Overfitting: 모델이 특정 데이터셋에 과도하게 적합된 것, 특정 데이터셋 잘 푸나 딴거는 못 맞춤
- Underfitting: 데이터셋에 적합이 안됨
Cross-Validation (교차 검증): 주어진 데이터셋을 다양하게 조합해, 모형의 성능을 검증하는 것.
- Data를 Test / Validation / Train data로 나누어 검증
- Train data의 일부를 validation data로 나눠 사용 (e.g. k-nearest neighbor algorithm)
- K-fold cross-validation: 전체 데이터를 K개로 분할한 수 train/validation 조합을 바꾸는 행위
손실 함수/비용 함수
- 손실 함수: 예측값과 실제값의 차이 정도 / 주로 각 데이터포인트에 대한 차이
- 비용 함수: 주로 데이터포인트 전체 (데이터셋 전체)를 대상으로 하는 손실함수.
- MSE(Mean Square Error): sum((실제값 - 예측값)^2)
- RMSE = root(MSE) // MSE가 outlier에 민감하므로.
- Entropy: 확률 변수의 불확실성 정도를 측정, 의사결정나무에서 주로 사용
- Cross-entropy: 두 분포 P(x): 실제 모형 분포, Q(x): 추정 모형 분포에 대해 엔트로피를 측정해, 두 분포 간 차이를 계산
모형 성능평가
위 confustion matrix를 기반으로 한 평가지표
- precision(정밀도): P 예측 중 실제 P의 확률
- recall(민감도, sensitivity): 실제 P에 해당하는것 중 P로 예측되는 비율
- accuracy(정확도): 전체 데이터 중 T로 분류되는 비율
- F1 score: precision과 recall의 조화평균. 0~1값 가지며, 1에 가까울수록 고성능.
'머신러닝-딥러닝' 카테고리의 다른 글
[딥러닝] seq2seq & Attention (0) | 2024.08.12 |
---|---|
[딥러닝] RNN & LSTM & Auto-Encoder (0) | 2024.08.12 |
[딥러닝] 딥러닝 소개 & 활성함수 & 역전파 계산 (0) | 2024.08.09 |
[딥러닝] refinement란? (1) | 2024.05.16 |
[딥러닝] 규칙 기반, 기계학습, 딥러닝 (0) | 2024.04.25 |