Надеюсь, что я читаю это неправильно, но в библиотеке XGBoost документации, обратите внимание на извлечение атрибутов важности функции с помощью feature_importances_
much как случайный лес sklearn.
Однако по какой-то причине я продолжаю получать эту ошибку: 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_
Кажется, что вы можете вычислить значение функции с помощью объекта Booster
, вызвав атрибут get_fscore
. Единственная причина, по которой я использую XGBClassifier
over Booster
, - это то, что она может быть завернута в конвейер sklearn. Любые мысли о выделении функций? Кто-нибудь еще испытывает это?