如何在sklearn中获取分类器预测的置信度分数?
如何在sklearn中获取分类器预测的置信度分数?
我希望获得每个预测的置信度分数,以显示分类器对其正确性的确定程度。
我想要的是这样的结果:
分类1:81%的置信度,认为这是分类1
分类2:10%
分类3:6%
分类4:3%
我的代码示例:
features_train,features_test,labels_train,labels_test = cross_validation.train_test_split(main,target,test_size = 0.4) # 确定训练时间 t0 = time() model = SVC() #model = SVC(kernel='poly') #model = GaussianNB() model.fit(features_train,labels_train) print 'training time: ',round(time()-t0,3),'s' # 确定预测时间 t1 = time() pred = model.predict(features_test) print 'predicting time: ',round(time()-t1,3),'s' accuracy = accuracy_score(labels_test,pred) print 'Confusion Matrix: ' print confusion_matrix(labels_test,pred) # 精度在0.9333,9.6667,1.0范围内 print accuracy model.predict(sub_main) # 确定预测时间 t1 = time() pred = model.predict(sub_main) print 'predicting time: ',round(time()-t1,3),'s' print '' print 'Prediction: ' print pred
我怀疑我会使用score()函数,但我似乎一直没有正确实现它。我不知道这是否是正确的函数,但如何获得分类器预测的置信度百分比?