回归系数 vs feature_importances_ vs none

数据挖掘 机器学习 scikit-学习 特征选择
2021-09-30 07:34:31

在查看scikit-learn上的各种机器学习方法时,似乎有些模块LinearRegression提供了系数 ( coef_),而另一些模块则AdaBoostRegressor提供了feature_importances_而另一些模块则不提供其中任何一个。BaggingRegressorBernoulliNB

为什么会有这种差异?是否coef_类似于feature_importances_评估变量在预测中的贡献?如何评估这些都不可用的模块的功能重要性?

1个回答

线性回归和基于树的方法之间的主要区别在于线性回归是参数化的:它可以根据某些参数用数学封闭表达式编写。因此,系数是模型的参数,除非对数据进行归一化,否则不应将其视为任何重要性。

另一方面,非参数方法有非常不同的衡量重要性的方法。用外行的话来说,衡量变量在树上的重要性可以通过检查它们与根节点的距离来完成。在集成方法中,例如 bagging,可以将变量的重要性计算为集成中的平均值,就像在这个stackoverflow 答案中一样。

主要区别在于,参数模型通过其参数具有显示变量重要性的方法,而非参数模型需要一些额外的工作。