我编写了运行多个分类模型并提供Jacard得分和汉明损失得分的函数。代码如下-
def avg_jacard(y_true,y_pred):
jacard = np.minimum(y_true,y_pred).sum(axis=1) / np.maximum(y_true,y_pred).sum(axis=1)
return jacard.mean()*100
def print_score(y_pred, clf):
print("Clf: ", clf.__class__.__name__)
print("Jacard score: {}".format(avg_jacard(y_test, y_pred)))
print("Hamming loss: {}".format(hamming_loss(y_pred, y_test)*100))
print("---")
dummy = DummyClassifier()
sgd = linear_model.SGDClassifier()
lr = LogisticRegression()
mn = MultinomialNB()
svc = LinearSVC()
perceptron = Perceptron()
pac = PassiveAggressiveClassifier()
mlpc = MLPClassifier()
rfc = RandomForestClassifier()
for classifier in [dummy, sgd, lr, mn, svc, perceptron, pac,mlpc,rfc]:
clf = OneVsRestClassifier(classifier)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print_score(y_pred, classifier)
调用该函数时出现以下错误
文件“ C:\ Users \ lalitha.sundar \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py”,第361行,位于_get_axis_number中 .format(axis,type(cls)))
ValueError:对象类型没有轴命名为