随机森林预测问题

  统计/机器学习 监督式学习    浏览次数:1431        分享
0

的在一个500条的数据样本中,标签只有两类,使用随机森林去训练该数据集,发现当正类1的比例越高,随机森林的准确率越高,当正类和负类接近于50%的时候,准确率也在50%左右,这是什么原因?按我的理解是,随机森林训练后的模型是可以正确预测到正负类,因此准确率是准确预测为正类或负类的概率,而不是预测为正类的概率。

 

蝌蚪   2021-06-17 08:24



   2个回答 
2

首先我们来看准确率评价指标的定义:

$ACC=\frac{TP+TN}{TP+TN+FP+FN}$

所以准确率的确就是被分对的样本数除以所有的样本数,不管是正类还是负类,但你忽略了一个问题就是你的模型可能预测正类样本的效果会远远好于负类样本,这样便会导致你说的正类比例越高,效果越好。

验证这个问题其实也很简单,计算一下Precision和Recall,你的Precision应该会低于Recall。


SofaSofa数据科学社区DS面试题库 DS面经

cabbage   2021-07-11 22:54

1

当自变量和因变量不相关时,模型可能只是在学习因变量的分布

下面的代码可以得到90%以上的准确率,但是当样本比例为1:1时,准确率为50%。具体要看混淆矩阵

x = np.random.normal(size = (500,2))
y = [1]*400+[0]*100
reg = se.RandomForestClassifier()
reg.fit(x,y)
reg.score(np.random.normal(size = (100,2)),[1]*100)
SofaSofa数据科学社区DS面试题库 DS面经

lingf33   2021-07-27 16:37



  相关讨论

Extra Tree算法

关于knn算法中kd树的问题

决策树是如何得到量化的概率,不只是0或1的标签?

决策树怎么做增量学习或者online学习?

决策树剪枝有什么策略或者注意事项?

决策树可以做多元分类吗?

请问针对Adaboost、GBDT等集成学习同一个特征是否可以入模多次?

Adaboost里的树有没有可能权重是负数?

随机森林中增加树的数量对于偏差和方差的影响

lightgbm使用自定义损失函数后,二分类的预测结果不再是【0,1】区间

  随便看看

NLP里的OOV是什么意思?

训练神经网络中经常提到的epoch是什么意思

对于xgboost,还有必要做很多特征工程吗?

seaborn如何显示图?

KNN中K值的选择