분류 모델 평가하기
모델 평가는 훈련된 모델이 얼마나 잘 예측하는지를 측정하는 과정입니다.
선택할 지표는 문제 유형에 따라 달라집니다.
분류
: 정확도(accuracy), 정밀도(precision), 재현율(recall), F1-점수회귀
: R²(결정계수), MSE, MAE
True Positive, True Negative, False Positive, False Negative
머신러닝에서 분류 모델을 평가할 때 자주 사용하는 용어는 다음과 같습니다.
- True Positive (TP): 실제 양성인 데이터를 양성으로 예측한 경우 (예: 실제로 산모가 임신했는데 임신했다고 예측한 경우)
- True Negative (TN): 실제 음성인 데이터를 음성으로 예측한 경우 (예: 실제로 산모가 임신하지 않았는데 임신하지 않았다고 예측한 경우)
- False Positive (FP): 실제 음성인 데이터를 양성으로 예측한 경우 (예: 실제로 산모가 임신하지 않았는데 임신했다고 예측한 경우)
- False Negative (FN): 실제 양성인 데이터를 음성으로 예측한 경우 (예: 실제로 산모가 임신했는데 임신하지 않았다고 예측한 경우)
분류 지표
분류 모델을 평가할 때 자주 사용하는 지표는 다음과 같습니다.
정확도(accuracy)
: 전체 예측 중 정답을 맞춘 비율 (TP + TN) / (TP + TN + FP + FN)정밀도(precision)
: 양성으로 예측한 것 중 실제로 맞은 비율 (TP) / (TP + FP)재현율(recall)
: 실제 양성 중에서 올바르게 찾아낸 비율 (TP) / (TP + FN)F1-점수(F1-score)
: 정밀도와 재현율의 조화를 하나의 값으로 나타냄 (2 * precision * recall) / (precision + recall)
Scikit-learn은 이러한 지표를 계산하는 내장 함수를 제공합니다.
분류 예시: 정확도(Accuracy) 점수
다음 예시는 분류 모델을 정확도 지표로 평가하는 방법을 보여줍니다.
정확도(Accuracy) 예시
from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score # 데이터 로드(붓꽃 데이터셋) X, y = load_iris(return_X_y=True) # 데이터 분할 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # 분류기 학습 knn = KNeighborsClassifier(n_neighbors=3) knn.fit(X_train, y_train) # 예측 y_pred = knn.predict(X_test) # 평가 acc = accuracy_score(y_test, y_pred) print(f"정확도: {acc:.2f}")
위 코드에서 정확도를 계산할 때 accuracy_score()
함수를 사용했습니다.
이와 같아 Scikit-learn은 분류 모델을 평가할 때 자주 사용하는 지표를 API로 제공합니다.
Quiz
0 / 1
타깃의 분산 중 모델이 설명하는 비율을 측정해 회귀 모델을 평가하는 지표는 무엇인가요?
회귀 모델을 평가하는 데 사용되는 평가지표는 입니다.
정확도
정밀도
R²
F1-스코어
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말