gpt4 book ai didi

python - 使用 LinearRegression() 进行特征选择

转载 作者:太空宇宙 更新时间:2023-11-04 10:18:02 28 4
gpt4 key购买 nike

我正在尝试使用 scikit-learn 库进行特征选择。我的数据很简单。行是样本,列是特征。虽然原来的类标签是 X 和 Y,但我将它们更改为数字以进行线性回归,X 为 0,Y 为 1。

G1  G2  G3  ... Gn Class
1.0 4.0 5.0 ... 1.0 0
4.0 5.0 9.0 ... 1.0 0
9.0 6.0 3.0 ... 2.0 1
...

我使用了库 sklearn.linear_model.LinearRegression(),并且表现良好。现在我使用 coef_ 值进行特征选择。在这种情况下,我有 2 个问题。

使用特征的coef_值是否正确?或者在 LinearRegression() 中是否有其他更好的特征选择参数?

此外,是否有某种规则来决定合适的阈值(例如,用于特征选择的 coef_ 的最小值)?

最佳答案

简单地根据系数值来决定显然是不合逻辑的。这是因为除非您的数据是系数的归一化值,否则不会指示任何内容。

例如:假设其中一个特征的范围为 (0,1),其系数为 0.5,而另一个特征的范围为 (0,10000),其系数为 0.5。显然,由于生成最终输出的范围更大,后期特征的权重要大得多。

因此,通常建议的是对特征进行归一化。即 $ x' =\frac{x-mean(x)}{std(x)} $。然后根据系数值决定。

注意:要进行预测,请记住转换特征。

这可能并不总是有效,因为规范化可能会扭曲特征。还有其他启发式方法。您可以在其他地方阅读它们。

另一种方法是通过淘汰,一个一个的淘汰特征,看它们有多重要。这可以通过检查回归情况下的 p 值或简单的拟合误差(平方和)来完成。

一个建议:似乎您正在使用线性回归来解决分类问题,这在很大程度上也是错误的,因为线性回归假设输出 y 是连续的,而此处 y 是 0 或 1。您可能想改用逻辑回归。

关于python - 使用 LinearRegression() 进行特征选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34203443/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com