如何知道哪些功能对预测目标类别有更大的影响?

时间:2019-01-29 09:37:00

标签: python-3.x machine-learning scikit-learn deep-learning

我遇到业务问题,我已经在python中运行回归模型来预测我的目标价值。用我的测试集验证它时,我知道我的预测变量与实际值相差很远。现在,我想从该模型中提取的是,哪个功能扮演了使我的预测值与实际值偏离的角色(假设差异在某个阈值内)? 我想对功能影响进行明智的排序,以便可以与客户联系。 谢谢

3 个答案:

答案 0 :(得分:1)

这取决于您选择的估计量,线性模型通常具有coef_方法,您可以调用coef_方法来获得用于每个功能的coef,只要对它们进行了归一化即可告诉您您想知道什么。

如上所述,对于树模型,您具有功能重要性。您还可以使用此处描述的树解释器之类的库: Interpreting Random Forest

examples

答案 1 :(得分:0)

您可以看一下- Feature selection

答案 2 :(得分:0)

检查随机Forest Regressor-执行回归。

# Example 
from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import make_regression
X, y = make_regression(n_features=4, n_informative=2,
                       random_state=0, shuffle=False)
regr = RandomForestRegressor(max_depth=2, random_state=0,
                             n_estimators=100)
regr.fit(X, y)
print(regr.feature_importances_)
print(regr.predict([[0, 0, 0, 0]]))

选中regr.feature_importances_以获取更高,更重要的功能。有关FeatureImportance

的更多信息

编辑1:
正如用户(@blacksite)注释中指出的那样,仅feature_importance不能完全解释随机森林。用于进一步分析结果和负责任的功能。请参考以下博客

有关feature_importance的更多信息: