希望我读这个错误,但在XGBoost库documentation,有注意到使用feature_importances_
提取功能重要性属性很像sklearn的随机森林。功能重要性与XGBClassifier
然而,出于某种原因,我不断收到此错误:AttributeError: 'XGBClassifier' object has no attribute 'feature_importances_'
我的代码片段如下:
from sklearn import datasets
import xgboost as xg
iris = datasets.load_iris()
X = iris.data
Y = iris.target
Y = iris.target[ Y < 2] # arbitrarily removing class 2 so it can be 0 and 1
X = X[range(1,len(Y)+1)] # cutting the dataframe to match the rows in Y
xgb = xg.XGBClassifier()
fit = xgb.fit(X, Y)
fit.feature_importances_
看来你可以通过调用get_fscore
使用Booster
对象计算功能的重要性属性。我使用XGBClassifier
而不是Booster
的唯一原因是它能够被包裹在sklearn管道中。有关功能提取的任何想法?有没有人遇到过这种情况?
我无法重现与您的代码段的问题。你有什么版本的XGBoost? – BrenBarn
从我的'pip freeze',我有'xgboost == 0.4a30' –
这是否有帮助? https://www.kaggle.com/mmueller/liberty-mutual-group-property-inspection-prediction/xgb-feature-importance-python/评论 –