[python] scikit-learn을 사용한 정밀도 평가
정확성(Accuracy)는 분류 모델의 성능을 평가하는 데 자주 사용되는 지표 중 하나입니다. 그러나 정확성만으로 모델의 성능을 평가하기에는 부족한 경우가 있습니다. 특히, 클래스 간 데이터의 불균형이 있는 경우에는 정확성이 제대로 반영되지 않을 수 있습니다. 이를 보완하기 위해 정밀도(Precision)와 같은 다른 평가 지표를 사용합니다.
scikit-learn은 파이썬에서 머신러닝을 구현하기 위해 사용되는 라이브러리로, 다양한 지표를 계산하기 위한 도구를 제공합니다. 정밀도 평가를 위해서는 sklearn.metrics
모듈의 precision_score
함수를 사용할 수 있습니다.
from sklearn.metrics import precision_score
# 실제값과 예측값을 준비합니다.
y_true = [1, 0, 1, 1, 0]
y_pred = [1, 1, 1, 0, 0]
# 정밀도를 계산합니다.
precision = precision_score(y_true, y_pred)
print("Precision:", precision)
위의 코드에서, y_true
는 실제 클래스의 라벨을 나타내는 리스트이고, y_pred
는 예측된 클래스의 라벨을 나타내는 리스트입니다. precision_score
함수를 호출하여 실제값과 예측값을 전달하면, 정밀도 값을 계산하여 반환합니다.
scikit-learn의 precision_score
함수는 기본적으로 이진 분류 문제를 다루도록 설계되어 있습니다. 이외에 다중 클래스 문제를 다루고자 한다면, average
매개변수를 사용하여 평균 방식(macro
, micro
, weighted
, samples
)을 지정할 수 있습니다.
더 자세한 내용은 scikit-learn의 문서를 참조하시기 바랍니다.