Python eli5 permuter.feature_importances_返回所有零
我试图在一个小样本数据上获得RandomForestClassifier的排列重要性,但是虽然我可以得到简单的特征重要性,但我的排列重要性返回为全零 代码如下: 输入1: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,
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.])