Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 随机森林分类器概率只有0,0.1,0.2。。。1._Python_Random Forest_Scikit Learn_Scipy - Fatal编程技术网

Python 随机森林分类器概率只有0,0.1,0.2。。。1.

Python 随机森林分类器概率只有0,0.1,0.2。。。1.,python,random-forest,scikit-learn,scipy,Python,Random Forest,Scikit Learn,Scipy,我试图使用随机林对数据进行分类,但当我生成分类器概率时,它总是有一个值,如0,0.1,0.2。。。1在5位以内。这是统计问题还是软件问题?我在Mac10.7.5上使用scikit learn ensemble for Python 2.7.3中的RandomForestClassifier。我的数据如下所示: y x1 x2 x3 x4... 0 23 4 0 1 102 2 0 1 12 17 1 响应变量y是二进制的。共有15个特性,都

我试图使用随机林对数据进行分类,但当我生成分类器概率时,它总是有一个值,如0,0.1,0.2。。。1在5位以内。这是统计问题还是软件问题?我在Mac10.7.5上使用scikit learn ensemble for Python 2.7.3中的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_probabile”函数生成概率,并得到0.9000000000000002或0.100000000000001这样的结果

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


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

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

你能检查指定的参数,看看它是否真的在建500棵树吗

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

那太尴尬了。谢谢