Я вызываю xgboost через его интерфейс Python в стиле scikit-learn:
model = xgboost.XGBRegressor()
%time model.fit(trainX, trainY)
testY = model.predict(testX)
Некоторые модели sklearn сообщают вам, какое значение они придают функциям через атрибут feature_importances
, Это, кажется, не существует для XGBRegressor
:
model.feature_importances_
AttributeError Traceback (most recent call last)
<ipython-input-36-fbaa36f9f167> in <module>()
----> 1 model.feature_importances_
AttributeError: 'XGBRegressor' object has no attribute 'feature_importances_'
Странная вещь: для моего сотрудника атрибут feature_importances_
есть! В чем может быть проблема?
Вот версии, которые у меня есть:
In [2]: xgboost.__version__
Out[2]: '0.6'
In [4]: sklearn.__version__
Out[4]: '0.18.1'
… и библиотека xgboost C ++ от github, commit ef8d92fc52c674c44b824949388e72175f72e4d1
,
Как вы установили xgboost? Собирали ли вы пакет после клонирования из github, как описано в документе?
http://xgboost.readthedocs.io/en/latest/build.html
Как в этом ответе:
Важность функции с XGBClassifier
Кажется, всегда возникают проблемы с установкой pip и xgboost. Сборка и установка из вашей сборки, похоже, поможет.