我遇到业务问题,我已经在python中运行回归模型来预测我的目标价值。用我的测试集验证它时,我知道我的预测变量与实际值相差很远。现在,我想从该模型中提取的是,哪个功能扮演了使我的预测值与实际值偏离的角色(假设差异在某个阈值内)? 我想对功能影响进行明智的排序,以便可以与客户联系。 谢谢
答案 0 :(得分:1)
这取决于您选择的估计量,线性模型通常具有coef_方法,您可以调用coef_方法来获得用于每个功能的coef,只要对它们进行了归一化即可告诉您您想知道什么。
如上所述,对于树模型,您具有功能重要性。您还可以使用此处描述的树解释器之类的库: Interpreting Random Forest
答案 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的更多信息: