希望我讀這個錯誤,但在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/評論 –