2017-08-05 163 views
-1

我已经采取了3个分类模型,如何评价软投票的分类被训练上的一些数据

clf1 = DecisionTreeClassifier(max_depth=4) 
clf2 = KNeighborsClassifier(n_neighbors=7) 
clf3 = SVC(kernel='rbf', probability=True) 

我将它们传递给投票分类作为参数,并选择柔和投票。

eclf = VotingClassifier(estimators=[('dt', clf1), ('knn', clf2), ('svc', clf3)], voting='soft', weights=[2,1,2]) 

clf1 = clf1.fit(titanic_train1,y_train) 
clf2 = clf2.fit(titanic_train1,y_train) 
clf3 = clf3.fit(titanic_train1,y_train) 
eclf = eclf.fit(titanic_train1,y_train) 

这里我得到的错误,AttributeError的: 'VotingClassifier' 对象有 没有属性 'best_score_'

print("CvScore",eclf.best_score_) 
print("Train accuracy",eclf.score(titanic_train1, y_train)) 
+0

投票分类器简单地取个别估计量的概率并以最大概率返回类。你真的想通过'best_score_'访问什么?你说你得到一个错误,但没有描述你想要做什么。 –

回答

-1

VotingClassifier没有best_score_属性。您可以查看scikit-learn文档here以查看best_score_属性缺失。

如果你想获得进球,你需要使用类似K-FoldGridSearchCV一个交叉验证,其中K-折会给你的分类如何推广到幼稚的数据和GridSearchCV将有助于确定最佳参数的想法该模型的配置。

相关问题