我通过它的scikit-learn风格的Python接口调用xgboost:
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'
...和github上的xgboost C++库,提交ef8d92fc52c674c44b824949388e72175f72e4d1
。
4条答案
按热度按时间y1aodyip1#
你是怎么安装xgboost的?你是按照文档中的描述从github克隆后构建的吗?
http://xgboost.readthedocs.io/en/latest/build.html
就像这个答案:
Feature Importance with XGBClassifier
pip-installation和xgboost似乎总是有问题,从你的构建版本中构建和安装它似乎会有所帮助。
piztneat2#
这对我很有效:
希望能有所帮助
j9per5c43#
是,XGBoost模型具有特征重要性详细信息
尝试以下操作:(它还提供功能的名称及其权重)
Feature importance plot
nbnkbykc4#
也许这对你有用。
xgb.plot_importance(bst)
这就是链接:情节