gpt4 book ai didi

python - 随机森林分类器概率只有值 0、0.1、0.2 ... 1

转载 作者:太空狗 更新时间:2023-10-30 02:12:37 25 4
gpt4 key购买 nike

我正在尝试使用随机森林对我的数据进行分类,但是当我生成分类器概率时,它的值始终在 5 位以内,例如 0、0.1、0.2、... 1。这是统计问题还是软件问题?我在 Mac 10.7.5 上的 Python 2.7.3 的 scikit-learn 集成中使用 RandomForestClassifier。我的数据看起来像这样:

y   x1   x2   x3   x4...
0 23 4 0
1 102 2 0
1 12 17 1

响应变量 y 是二进制的。有 15 个特征,都是实数或整数值,其中一些是二进制的。我有大约 2000 个培训点和 500 个测试。我将树的数量设置为 500,将每棵树尝试的特征数量设置为 8,并对其他所有内容使用默认值。训练模型后,我使用“predict_proba”函数生成概率并得到类似 0.90000000000000002 或 0.10000000000000001 的结果

我认为这个问题可能是由特定变量引起的,所以我一次只使用一个变量训练模型,重复五个变量。每个变量的概率单独具有正常值,如 0.5532。当我同时使用两个变量时,开始出现一些 0.70000 等值。当我使用更多变量时,我会得到更多的 0.700000 类型值。

这是统计问题还是软件问题? Numpy 通过了测试:numpy.test(),但是 scipy.test() 和 sklearn.test() 都失败了。我过去使用过 sci-kit 学习包,但没有这个问题,测试失败了。另外,我知道我应该修复这些包,但是我花了 20 个小时从源代码安装,然后是二进制包,然后阅读了 30 多个关于其他人如何安装它或他们有什么错误的网页。当他们说安装很容易时,我没有看到他们测试软件包。谢谢。

最佳答案

sklearn 的决策森林构建的默认树数为 10。您似乎没有正确更改它,因为森林中恰好有 10 棵树,这就是输出的样子(概率是分数给出类别 1 的树的数量,因此值将为 0、.1、.2、...、1)。

你能检查分配的参数,看看它是否真的在 build 500 棵树吗?

>>> import sklearn.ensemble
>>> rf = sklearn.ensemble.RandomForestRegressor()
>>> rf.n_estimators
10
>>> rf = sklearn.ensemble.RandomForestRegressor(n_estimators=500)
>>> rf.n_estimators
500

关于python - 随机森林分类器概率只有值 0、0.1、0.2 ... 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com