Confusion_matrix
정확도(Accuracy)
→ 재현율과 정밀도는 trade-off 관계에 있음(하나가 높아지면 하나가 낮아지는 관계 / 둘 다 높을 수는 없다)
→ 애매한 것을 어떻게 사용할 것이냐
정밀도 : 사용하지 않음
재현율 : 사용한다
y_pred = knn.predict(X_test)
# precision : 정밀도, 애매한거 사용 안함
# recall : 재현율, 애매한거 사용
# f1-score : 정밀도와 재현율의 조화평균
# 셋 다 0~1까지의 값을 갖는다. 1에 가까울수록 좋음
# support : 데이터의 수
# accuracy : 전체 중에 맞춘 비율
# macro avg : 단순 평균, (0.96 + 0.96) / 2 = 0.96 * 0.5 + 0.96 * 0.5
# weighted avg : 가중 평균, 값이 많은 데이터가 높은 가중치를 갖는다
# 0.92 * 0.33 + 0.98 * 0.66 = 0.96
# (0.3036) (0.6566)
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))