我在Python中创建了一个XGBoost模型,并使用以下代码来更好地理解模型:
xgb.plot_importance(model)
或者
xgb.plot_importance(model, importance_type="gain")
我可以了解哪些参数最有价值,但似乎这些信息不足以告诉我这些值的具体情况。
假设我想确定某一天有多少人会租用自行车。运行上述两个plot_importance方法可能会告诉我’温度’和’星期几’是决定自行车骑行数量的最重要参数。但我想知道的是,这些参数的哪些值会导致高骑行量,哪些值会导致低骑行量。
回答:
我想你试图做的,是可视化和调试算法在预测时的行为。对于这一点,我建议你查看ELI5,特别是关于使用XGBoost的部分。要了解如何在泰坦尼克数据集上使用ELI5和XGBoost的全面示例,请查看这个链接。
为了解释预测,请执行以下操作:
from eli5 import show_predictionshow_prediction(moel, your_prediction, show_feature_values=True)