Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Scikit learn sklearn:为什么由一棵树组成的随机林的分数(如此)与直接在该树上计算的分数不同?_Scikit Learn_Random Forest - Fatal编程技术网

Scikit learn sklearn:为什么由一棵树组成的随机林的分数(如此)与直接在该树上计算的分数不同?

Scikit learn sklearn:为什么由一棵树组成的随机林的分数(如此)与直接在该树上计算的分数不同?,scikit-learn,random-forest,Scikit Learn,Random Forest,我有一个包含20个类和大约90个特征的多类分类问题。我使用的是scikit学习python包(版本0.18.1)中的RandomForestClassifier。我看到的是: > rf1 = RandomForestClassifier(max_features=0.5, n_estimators=1) > rf1.fit(X_train, y_train) > print rf1.score(X_test, y_test), rf1.score(X_train, y_trai

我有一个包含20个类和大约90个特征的多类分类问题。我使用的是scikit学习python包(版本0.18.1)中的RandomForestClassifier。我看到的是:

> rf1 = RandomForestClassifier(max_features=0.5, n_estimators=1)
> rf1.fit(X_train, y_train)
> print rf1.score(X_test, y_test), rf1.score(X_train, y_train)
0.27868852459 0.740046838407

> print rf1.estimators_[0].score(X_test, y_test), rf1.estimators_[0].score(X_train, y_train)
0.0300546448087 0.0140515222482

> rf1
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
        max_depth=None, max_features=0.5, max_leaf_nodes=None,
        min_impurity_split=1e-07, min_samples_leaf=1,
        min_samples_split=2, min_weight_fraction_leaf=0.0,
        n_estimators=1, n_jobs=1, oob_score=False, random_state=None,
        verbose=0, warm_start=False)

> rf1.estimators_
[DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
             max_features=0.5, max_leaf_nodes=None,
             min_impurity_split=1e-07, min_samples_leaf=1,
             min_samples_split=2, min_weight_fraction_leaf=0.0,
             presort=False, random_state=2134571240, splitter='best')]
这些分数有什么不同?我的RF分类器中只有一棵树! 任何指针都会非常有用


我绘制了rf1和rf1的特征_重要性u。估计器0]和它们是相同的,这正是我所期望的。但是分数差别太大了。

我刚想出来。结果是决策树rf1。估计器[0]考虑从0到19的类,而rf1分类器考虑从1到20的类,就像原始输入一样。如果我在DecisionTree分类器的输出中添加一个,则输出与预期的相同