Scikit-learn(Python):f_regression()计算什么?

6 投票
1 回答
2207 浏览
提问于 2025-04-18 13:52

我想了解一下在特征选择包中,f_regression()这个函数是干什么的。http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.f_regression.html#sklearn.feature_selection.f_regression

根据文档,f_regression的第一步是这样的:

"1. the regressor of interest and the data are orthogonalized wrt constant regressors."

这行代码到底是什么意思呢?这些常量回归器是什么?

谢谢!

1 个回答

6

这句话的意思是,对两个变量都减去它们的平均值。

一个常数回归器是一个全是1的向量。这个向量在你的数据中能解释的部分会被减去。这样就得到了一个总和为零的向量,也就是一个中心化的变量。

f1_regression 实际上计算的是相关性,也就是中心化后的变量和适当缩放后的变量之间的点积。

最终得到的分数是这个值和自由度的函数,自由度就是向量的维度。分数越高,说明这些变量之间的关联性越强。

撰写回答