Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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 eli5 permuter.feature_importances_返回所有零_Python_Scikit Learn_Data Science_Random Forest_Eli5 - Fatal编程技术网

Python eli5 permuter.feature_importances_返回所有零

Python eli5 permuter.feature_importances_返回所有零,python,scikit-learn,data-science,random-forest,eli5,Python,Scikit Learn,Data Science,Random Forest,Eli5,我试图在一个小样本数据上获得RandomForestClassifier的排列重要性,但是虽然我可以得到简单的特征重要性,但我的排列重要性返回为全零 代码如下: 输入1: X_train_encoded = encoder.fit_transform(X_train1) X_val_encoded = encoder.transform(X_val1) model = RandomForestClassifier(n_estimators=300, random_state=25,

我试图在一个小样本数据上获得RandomForestClassifier的排列重要性,但是虽然我可以得到简单的特征重要性,但我的排列重要性返回为全零

代码如下:

输入1:

X_train_encoded = encoder.fit_transform(X_train1)
X_val_encoded = encoder.transform(X_val1)
model = RandomForestClassifier(n_estimators=300, random_state=25, 
                               n_jobs=-1,max_depth=2)
model.fit(X_train_encoded, y_train1)
产出1:

RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,
                       criterion='gini', max_depth=2, max_features='auto',
                       max_leaf_nodes=None, max_samples=None,
                       min_impurity_decrease=0.0, min_impurity_split=None,
                       min_samples_leaf=1, min_samples_split=2,
                       min_weight_fraction_leaf=0.0, n_estimators=300,
                       n_jobs=-1, oob_score=False, random_state=25, verbose=0,
                       warm_start=False)
输入2:

permuter = PermutationImportance(
    model,
    scoring='accuracy',
    n_iter=3,
    random_state=25
)
permuter.fit(X_val_encoded, y_val1)
输出2:

PermutationImportance(cv='prefit',
                      estimator=RandomForestClassifier(bootstrap=True,
                                                       ccp_alpha=0.0,
                                                       class_weight=None,
                                                       criterion='gini',
                                                       max_depth=2,
                                                       max_features='auto',
                                                       max_leaf_nodes=None,
                                                       max_samples=None,
                                                       min_impurity_decrease=0.0,
                                                       min_impurity_split=None,
                                                       min_samples_leaf=1,
                                                       min_samples_split=2,
                                                       min_weight_fraction_leaf=0.0,
                                                       n_estimators=300,
                                                       n_jobs=-1,
                                                       oob_score=False,
                                                       random_state=25,
                                                       verbose=0,
                                                       warm_start=False),
                      n_iter=3, random_state=25, refit=True,
                      scoring='accuracy')
(问题)输入3:

(问题)输出3:

我希望在这里得到值,但我得到的是零——我做错了什么吗 可能的结果

In: permuter.feature_importances_
Out:array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

原来问题出在我传递的数据上,而不是代码本身


数据只有不到70个观察值,因此在我能够向其中添加更多观察值(略低于400个)之后,我能够获得预期的排列重要性。

结果表明问题在于我传递的数据,而不是代码本身

这些数据只有不到70个观察值,所以在我能够添加更多的观察值(略低于400个)之后,我能够得到预期的排列重要性

Player     0.0
POS        0.0
ATT        0.0
YDS        0.0
TDS        0.0
REC        0.0
YDS.1      0.0
TDS.1      0.0
FL         0.0
FPTS       0.0
Overall    0.0
pos_adp    0.0
dtype: float64
In: permuter.feature_importances_
Out:array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])