Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用随机林时sklearn平均精度分数的参数_Python_Machine Learning_Scikit Learn_Random Forest_Average Precision - Fatal编程技术网

Python 使用随机林时sklearn平均精度分数的参数

Python 使用随机林时sklearn平均精度分数的参数,python,machine-learning,scikit-learn,random-forest,average-precision,Python,Machine Learning,Scikit Learn,Random Forest,Average Precision,我一直试图摆弄sklearn指标,特别是平均精度分数。然而,我只能在sklearn文档中找到一个计算平均精度分数的例子,也可以使用SVM。下面是代码片段以及文档链接,作为参考: 现在我的问题是在上面的例子中,y_得分是通过决策函数(预测样本的置信度得分)得到的输出,y_检验是类。考虑到没有像支持向量机那样的随机森林决策函数方法,如何计算y_得分 我曾经尝试并看到人们使用预测(self,X)(预测X类)和预测概率(self,X)(预测X类概率)方法来计算平均精度得分。使用这两种方法,我的结果非常

我一直试图摆弄sklearn指标,特别是平均精度分数。然而,我只能在sklearn文档中找到一个计算平均精度分数的例子,也可以使用SVM。下面是代码片段以及文档链接,作为参考:

现在我的问题是在上面的例子中,y_得分是通过决策函数(预测样本的置信度得分)得到的输出,y_检验是类。考虑到没有像支持向量机那样的随机森林决策函数方法,如何计算y_得分


我曾经尝试并看到人们使用预测(self,X)(预测X类)和预测概率(self,X)(预测X类概率)方法来计算平均精度得分。使用这两种方法,我的结果非常不同。使用predict(self,X)我得到0.74作为平均精度评分,使用predict\u proba我得到0.94。我的y_测试是带有值(1,0)的类标签。对于什么是正确的事情,我有点困惑。何时使用predict vs predict_proba,以及为什么它们会导致如此不同的平均精度分数。任何帮助都将不胜感激。

使用预测-您预测标签(假设为0和1) 使用predict_Probability(预测概率)-您拥有特定样本的两个标签的概率(结果[0.1,0.9]=>此样本最有可能是1而不是0)

度量AP-是顺序度量,因此预测的唯一顺序很重要。所以,如果地面真值向量[1,0,1]和预测向量(通过概率)[0.9,0.7,0.8]-AP为第二个例子提供1.0偶数概率,因为1是0.7

因此,如果您的模型出现错误(缺少类),那么仍然有可能使顺序更加平滑。因此,对于订单指标,如AP或ROC AUC,最好将proba置于预测之上

# Create a simple classifier
classifier = svm.LinearSVC(random_state=random_state)
classifier.fit(X_train, y_train)
y_score = classifier.decision_function(X_test)
# Computing the avaerage_precision_score
from sklearn.metrics import average_precision_score
average_precision = average_precision_score(y_test, y_score)