-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
sentiment 가 0과 1이 아닌 1~5점 일 경우?
20.07.01 23:13 작성 조회수 542
1
안녕하세요. 좋은 강의 감사드립니다.
코드를 따라가며 실행해보고 있는데 , sentiment 값이 0과 1이 아닌 5점척도 인 경우 어느 부분일 수정해야하는지요?
우선 아래의 코드 실행시 아래와 같은 오류가 발생합니다.
from sklearn.model_selection import cross_val_score
%time score = np.mean(cross_val_score(\
forest, train_data_features, \
train['rating'], cv=10, scoring='roc_auc'))
score
=> error : multiclass format is not supported
강의 전체가 0과 1인 경우만을 기준으로 진행되는데 5점척도인 경우 차원이 많아져 분석이 어려운 건지요?
감사합니다.
답변을 작성해보세요.
1
박조은
지식공유자2020.07.02
안녕하세요.
보통 분류를 할 때 0,1 둘 중에 하나로 분류를 하면 binary classification 이라고 하는데요.
미리 정의된 roc_auc 는 주로 binary 에 사용을 해요.
질문 주신 내용을 class가 5개인 경우인데요.
아래의 방법으로 레이블을 binarizer 해서 사용하는 방법을 사용해 보시면 될거 같아요.
아래 함수를 주피터 노트북에 써주시고 scoring='roc_auc' 대신에 scoring=multiclass_roc_auc_score 로 사용해 보세요.
def multiclass_roc_auc_score(y_test, y_pred, average="macro"):lb = LabelBinarizer()
lb.fit(y_test)y_test = lb.transform(y_test)
y_pred = lb.transform(y_pred)return roc_auc_score(y_test, y_pred, average=average)
또, 아래의 링크를 참고해 보세요!
[AUC ROC Curve Scoring Function for Multi-class Classification](https://medium.com/@plog397/auc-roc-curve-scoring-function-for-multi-class-classification-9822871a6659)
답변 1