我正在研究情感分析程序。但是我设法在“ positive”和“ negative”旁边的类别中包括“ neutral”。它使类别成为多类。
所以我可以使roc_auc_score
在多类中工作吗?还是除了使用roc_auc_score
之外还有另一种方法来执行测量性能?
我的roc_auc_score
实现:
print(roc_auc_score(y_test, clf.predict_proba(X_test)[:,1]))
是,当然可以。
请参见here:
注:此实现可与二进制,多类和多标签分类一起使用,但有一些限制(请参阅参数)。
和here:
sklearn.metrics.roc_auc_score
功能可用于多类分类。
作为示例,让我们使用虹膜数据集:
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data,
iris.target,
stratify = iris.target,
random_state = 42)
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
print('roc auc score: {:.4f}'.format(roc_auc_score(y_test, model.predict_proba(X_test), multi_class='ovo')))
您得到:
roc auc得分:0.9808