sentiment 가 0과 1이 아닌 1~5점 일 경우?

미해결질문
Seungman Baek 프로필

안녕하세요. 좋은 강의 감사드립니다. 

코드를 따라가며 실행해보고 있는데 , 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점척도인 경우 차원이 많아져 분석이 어려운 건지요?
감사합니다.
박조은 프로필
박조은 3달 전

안녕하세요.

보통 분류를 할 때 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)

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스