[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의 문서를 참조하시기 바랍니다.