人工智能-python-特征选择-皮尔逊相关系数
以下是关于特征选择中常用方法的表格总结,并且详细阐述了皮尔逊相关系数的原理、计算方法、步骤以及示例。
常用特征选择方法总结
方法 | 原理 | 优点 | 缺点 | 使用场景 |
---|---|---|---|---|
过滤法(Filter Method) | 基于特征的统计信息(如相关性、方差等)筛选特征。 | 简单、计算效率高,适用于大数据 | 无法考虑特征之间的依赖关系 | 适用于高维数据,快速筛选特征 |
包裹法(Wrapper Method) | 使用预测模型评估特征子集的效果,并通过递归或贪心算法进行选择。 | 选择特征考虑了模型性能 | 计算成本高,可能过拟合 | 适用于较小数据集,模型训练时间可接受时 |
嵌入法(Embedded Method) | 在模型训练过程中进行特征选择,如L1正则化(Lasso回归)等。 | 结合了模型训练,减少了计算开销 | 可能对高维数据不够有效 | 适用于大数据,能够同时训练模型和选择特征 |
基于相关系数的特征选择 | 通过计算特征与目标变量之间的相关系数,筛选与目标相关性高的特征,并去除冗余特征。 | 简单直观,适用于特征间相关性较强 | 只能处理线性关系,忽略非线性关系 | 适用于线性关系较强的回归或分类问题 |
基于树的方法(如随机森林) | 通过训练树模型(如随机森林)来计算特征的重要性,并选择重要特征。 | 适用于大规模数据集 | 可能过拟合,计算复杂度高 | 适用于分类、回归任务,数据集较大时 |
主成分分析(PCA) | 将数据线性变换到一个新的坐标系,使得新特征的方差最大化,通常用于降维。 | 可以有效降维,减少计算开销 | 只能处理线性关系,解释性差 | 适用于大规模数据,特征相关性较强时 |
皮尔逊相关系数的详细阐述
1. 原理
皮尔逊相关系数(Pearson Correlation Coefficient,简称PCC)是衡量两个变量之间线性相关程度的一个统计量。它的取值范围为[−1,1][-1, 1][−1,1],数值越接近1或-1,表示相关性越强,数值接近0则表示无相关性。
- r=1r = 1r=1:完全正相关,两个变量的关系是线性且相同方向。
- r=−1r = -1r=−1:完全负相关,两个变量的关系是线性且相反方向。
- r=0r = 0r=0:没有线性关系。
2. 计算方法
皮尔逊相关系数的计算公式如下:
rxy=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2 r_{xy} = \frac{\sum{(x_i - \bar{x})(y_i - \bar{y})}}{\sqrt{\sum{(x_i - \bar{x})^2}\sum{(y_i - \bar{y})^2}}} rxy=∑(xi−xˉ)2∑(yi−yˉ)2∑(xi−xˉ)(yi−yˉ)
其中:
- rxyr_{xy}rxy 是变量 xxx 和 yyy 的皮尔逊相关系数。
- xix_ixi 和 yiy_iyi 是数据集中的第 iii 个观测值。
- xˉ\bar{x}xˉ 和 yˉ\bar{y}yˉ 是变量 xxx 和 yyy 的均值。
3. 计算步骤
-
计算每个变量的均值:
xˉ=1n∑i=1nxi和yˉ=1n∑i=1nyi \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \quad \text{和} \quad \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i xˉ=n1i=1∑nxi和yˉ=n1i=1∑nyi
-
计算每对数据点的偏差(xi−xˉx_i - \bar{x}xi−xˉ 和 yi−yˉy_i - \bar{y}yi−yˉ)。
-
计算偏差的乘积和:
∑(xi−xˉ)(yi−yˉ) \sum{(x_i - \bar{x})(y_i - \bar{y})} ∑(xi−xˉ)(yi−yˉ)
-
计算各自的方差:
∑(xi−xˉ)2,∑(yi−yˉ)2 \sum{(x_i - \bar{x})^2}, \quad \sum{(y_i - \bar{y})^2} ∑(xi−xˉ)2,∑(yi−yˉ)2
-
计算皮尔逊相关系数:
rxy=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2 r_{xy} = \frac{\sum{(x_i - \bar{x})(y_i - \bar{y})}}{\sqrt{\sum{(x_i - \bar{x})^2}\sum{(y_i - \bar{y})^2}}} rxy=∑(xi−xˉ)2∑(yi−yˉ)2∑(xi−xˉ)(yi−yˉ)
4. 示例
假设我们有两个特征 XXX 和 YYY 的数据集如下:
XXX | YYY |
---|---|
1 | 2 |
2 | 3 |
3 | 4 |
4 | 5 |
步骤 1:计算均值
Xˉ=1+2+3+44=2.5,Yˉ=2+3+4+54=3.5 \bar{X} = \frac{1 + 2 + 3 + 4}{4} = 2.5, \quad \bar{Y} = \frac{2 + 3 + 4 + 5}{4} = 3.5 Xˉ=41+2+3+4=2.5,Yˉ=42+3+4+5=3.5
步骤 2:计算偏差
-
对于 XXX:
X−Xˉ=[1−2.5,2−2.5,3−2.5,4−2.5]=[−1.5,−0.5,0.5,1.5] X - \bar{X} = [1-2.5, 2-2.5, 3-2.5, 4-2.5] = [-1.5, -0.5, 0.5, 1.5] X−Xˉ=[1−2.5,2−2.5,3−2.5,4−2.5]=[−1.5,−0.5,0.5,1.5]
-
对于 YYY:
Y−Yˉ=[2−3.5,3−3.5,4−3.5,5−3.5]=[−1.5,−0.5,0.5,1.5] Y - \bar{Y} = [2-3.5, 3-3.5, 4-3.5, 5-3.5] = [-1.5, -0.5, 0.5, 1.5] Y−Yˉ=[2−3.5,3−3.5,4−3.5,5−3.5]=[−1.5,−0.5,0.5,1.5]
步骤 3:计算偏差的乘积和
∑(Xi−Xˉ)(Yi−Yˉ)=(−1.5×−1.5)+(−0.5×−0.5)+(0.5×0.5)+(1.5×1.5)=2.25+0.25+0.25+2.25=5 \sum{(X_i - \bar{X})(Y_i - \bar{Y})} = (-1.5 \times -1.5) + (-0.5 \times -0.5) + (0.5 \times 0.5) + (1.5 \times 1.5) = 2.25 + 0.25 + 0.25 + 2.25 = 5 ∑(Xi−Xˉ)(Yi−Yˉ)=(−1.5×−1.5)+(−0.5×−0.5)+(0.5×0.5)+(1.5×1.5)=2.25+0.25+0.25+2.25=5
步骤 4:计算方差
-
XXX 的方差:
∑(Xi−Xˉ)2=(−1.5)2+(−0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5 \sum{(X_i - \bar{X})^2} = (-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2 = 2.25 + 0.25 + 0.25 + 2.25 = 5 ∑(Xi−Xˉ)2=(−1.5)2+(−0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5
-
YYY 的方差:
∑(Yi−Yˉ)2=(−1.5)2+(−0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5 \sum{(Y_i - \bar{Y})^2} = (-1.5)^2 + (-0.5)^2 + (0.5)^2 + (1.5)^2 = 2.25 + 0.25 + 0.25 + 2.25 = 5 ∑(Yi−Yˉ)2=(−1.5)2+(−0.5)2+(0.5)2+(1.5)2=2.25+0.25+0.25+2.25=5
步骤 5:计算皮尔逊相关系数
rxy=55×5=55=1 r_{xy} = \frac{5}{\sqrt{5 \times 5}} = \frac{5}{5} = 1 rxy=5×55=55=1
所以,rxy=1r_{xy} = 1rxy=1,表明 XXX 和 YYY 完全正相关。
总结:
- 皮尔逊相关系数用来衡量两个变量的线性相关性,取值范围为[−1,1][-1, 1][−1,1]。
- 计算过程包括数据的均值计算、偏差乘积和、方差计算等步骤。
- 它适用于评估连续数值型特征间的相关性,并广泛用于特征选择中,尤其是当我们想要移除冗余特征时。
- 当然如果你看过另一篇关于特征降维的文章,那么你可能会有疑问,因为PCA和基于树的选择在特征选择和特征降维里面都出现了。
- 虽然 PCA 和 基于树的选择方法(如随机森林) 经常出现在特征选择和特征降维的讨论中,但它们的作用有所不同:
PCA 更多是通过生成新的特征(主成分)来实现降维,也可以视为一种选择重要特征的方式。
基于树的方法,如随机森林,主要通过选择最重要的原始特征来达到降维和提高模型准确性的目的。
它们两者的共同点在于减少特征的数量,但方法和实现方式不同。在实际应用中,它们常常结合使用,以便同时进行特征选择和降维,优化模型的性能。
如果有更多问题或者需要进一步的解释,随时告诉我!