728x90
반응형
모델의 precision 성능을 확인하려고 sklearn.metrics 라이브러리에서 제공하는 precision_score 함수에서 이런 에러를 만났다!
ValueError: Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'].
이럴 때는 역시 바로 공식 문서를 보는게 최고다.
precision_score 함수에는 파라미터로 "average"이라는 값이 존재한다.
이 파라미터는 multiclass/multilabel targets에 대해 계산할 때 필요한 값이다.
만약 값을 주지 않으면 기본적으로 binary targets에 대해 계산하는 것!
나같은 경우 movielens 데이터셋을 사용했고, 1~5까지의 multiclass targets이므로 에러가 난 것이다.
average에 줄 수 있는 값으로는 micro, macro,, samples, weighted, binary가 있다. (default = binary)
1) micro : 전체 true positives, false negatives, false positives에 대해서 전체적으로 계산
2) macro : 각 라벨에 대해서 계산하여 평균
3) weighted : 각 라벨에 대해서 계산하되 불균형 문제에 대해 가중치 값 부여
공식 문서를 참고해서 필요한 속성을 사용하면 될 것 같다!
728x90
반응형
'Programming > Python' 카테고리의 다른 글
Transforms.Normalize()의 역할 (0) | 2022.01.25 |
---|---|
[Python] asterisk - Unpacking의 역할 (0) | 2022.01.18 |
[Pandas] DataFrame 모든 행, 열 출력하기 (0) | 2021.12.01 |
[Python] max 내장 함수와 선택인자(key, default) (0) | 2021.12.01 |
[Pandas] categorical data type(범주형 데이터 타입)이란? (category datatype 사용 예제, pandas.Series.cat 사용법) (0) | 2021.11.29 |