输出指标 TP、NP、TN、FN 值,用于留一法随机森林模型 python

问题描述

我正在运行一个随机森林模型的留一法网格搜索。我使用 f1 分数来获得最佳估计量和分数。从这里开始,我如何获得精确率和召回率分数,以便我可以绘制精确率-召回率曲线? X 是样本数据集,y 是目标。

from sklearn.ensemble import  RandomForestClassifier
from sklearn.model_selection import gridsearchcv
from sklearn.model_selection import LeaveOneOut

RF = RandomForestClassifier()
param_grid = { 
          'n_estimators': [10,20,30,50],'criterion': ['gini','entropy'],'max_depth': [10,None]}

grid_search = gridsearchcv(RF,param_grid=param_grid,cv = LeaveOneOut()
                       score='f1_score')

grid_search.fit(X,y)

解决方法

您可以从数组中收集模型的预测,并使用它来计算精确召回曲线(或您需要的任何其他性能指标)的数据:

$ curl -sX GET -H "Authorization: token ${mytoken}" https://my.company.url/api/v3/orgs/my_sub_org/repos?per_page=200| grep ssh_url | awk -F': ' '{print $2}'

强烈建议您拆分数据集并使用其中的大部分来训练模型,而留下一些数据仅用于测试性能。这样,就可以检查对未见数据进行概括的能力。