f_regression#
- sklearn.feature_selection.f_regression(X, y, *, center=True, force_finite=True)[source]#
- 返回 F 统计量和 p 值的单变量线性回归检验。 - 用于检验单个回归量效应的快速线性模型,对许多回归量依次进行。 - 此过程分两步进行: - 使用 - r_regression计算每个回归量与目标变量之间的交叉相关性,如下所示:- E[(X[:, i] - mean(X[:, i])) * (y - mean(y))] / (std(X[:, i]) * std(y)) 
- 它被转换为F值,然后转换为p值。 
 - f_regression源自- r_regression,如果所有特征都与目标正相关,则会按相同的顺序对特征进行排序。- 但是请注意,与 - f_regression相反,- r_regression值位于 [-1, 1] 之间,因此可以为负值。- f_regression因此被推荐为特征选择标准,用于识别下游分类器的潜在预测特征,而不管与目标变量关联的符号如何。- 此外, - f_regression返回 p 值,而- r_regression则不返回。- 在 用户指南 中了解更多信息。 - 参数:
- X形状为 (n_samples, n_features) 的{数组、稀疏矩阵}
- 数据矩阵。 
- y形状为 (n_samples,) 的数组
- 目标向量。 
- center布尔值,默认为 True
- 是否对数据矩阵 - X和目标向量- y进行中心化。默认情况下,- X和- y将被中心化。
- force_finite布尔值,默认为 True
- 是否强制 F 统计量及其关联的 p 值为有限值。在以下两种情况下,F 统计量预计不会是有限值: - 当目标 - y或- X中的一些特征是常数时。在这种情况下,皮尔逊相关系数 R 未定义,导致在 F 统计量和 p 值中获得- np.nan值。当- force_finite=True时,F 统计量设置为- 0.0,关联的 p 值设置为- 1.0。
- 当 - X中的一个特征与目标- y完全相关(或反相关)时。在这种情况下,F 统计量预计为- np.inf。当- force_finite=True时,F 统计量设置为- np.finfo(dtype).max,关联的 p 值设置为- 0.0。
 - 版本 1.1 中添加。 
 
- 返回:
- f_statistic形状为 (n_features,) 的 ndarray
- 每个特征的 F 统计量。 
- p_values形状为 (n_features,) 的 ndarray
- 与 F 统计量相关的 P 值。 
 
 - 另请参阅 - r_回归
- 回归任务中标签/特征之间的皮尔逊相关系数 R。 
- f_classif
- 分类任务中标签/特征之间的方差分析 F 值。 
- chi2
- 分类任务中非负特征的卡方统计量。 
- SelectKBest
- 基于 k 个最高分数选择特征。 
- SelectFpr
- 基于错误阳性率检验选择特征。 
- SelectFdr
- 基于估计的错误发现率选择特征。 
- SelectFwe
- 基于全族错误率选择特征。 
- SelectPercentile
- 基于最高分数百分位数选择特征。 
 - 示例 - >>> from sklearn.datasets import make_regression >>> from sklearn.feature_selection import f_regression >>> X, y = make_regression( ... n_samples=50, n_features=3, n_informative=1, noise=1e-4, random_state=42 ... ) >>> f_statistic, p_values = f_regression(X, y) >>> f_statistic array([1.2...+00, 2.6...+13, 2.6...+00]) >>> p_values array([2.7..., 1.5..., 1.0...]) 
 
     
