当前位置: 首页 > news >正文

人工智能-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=(xixˉ)2(yiyˉ)2(xixˉ)(yiyˉ)

其中:

  • rxyr_{xy}rxy 是变量 xxxyyy 的皮尔逊相关系数。
  • xix_ixiyiy_iyi 是数据集中的第 iii 个观测值。
  • xˉ\bar{x}xˉyˉ\bar{y}yˉ 是变量 xxxyyy 的均值。
3. 计算步骤
  1. 计算每个变量的均值

    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=1nxiyˉ=n1i=1nyi

  2. 计算每对数据点的偏差(xi−xˉx_i - \bar{x}xixˉyi−yˉy_i - \bar{y}yiyˉ

  3. 计算偏差的乘积和

    ∑(xi−xˉ)(yi−yˉ) \sum{(x_i - \bar{x})(y_i - \bar{y})} (xixˉ)(yiyˉ)

  4. 计算各自的方差

    ∑(xi−xˉ)2,∑(yi−yˉ)2 \sum{(x_i - \bar{x})^2}, \quad \sum{(y_i - \bar{y})^2} (xixˉ)2,(yiyˉ)2

  5. 计算皮尔逊相关系数

    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=(xixˉ)2(yiyˉ)2(xixˉ)(yiyˉ)

4. 示例

假设我们有两个特征 XXXYYY 的数据集如下:

XXXYYY
12
23
34
45

步骤 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] XXˉ=[12.5,22.5,32.5,42.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] YYˉ=[23.5,33.5,43.5,53.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 (XiXˉ)(YiYˉ)=(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 (XiXˉ)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 (YiYˉ)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,表明 XXXYYY 完全正相关。


总结:

  • 皮尔逊相关系数用来衡量两个变量的线性相关性,取值范围为[−1,1][-1, 1][1,1]
  • 计算过程包括数据的均值计算、偏差乘积和、方差计算等步骤。
  • 它适用于评估连续数值型特征间的相关性,并广泛用于特征选择中,尤其是当我们想要移除冗余特征时。
  • 当然如果你看过另一篇关于特征降维的文章,那么你可能会有疑问,因为PCA和基于树的选择在特征选择和特征降维里面都出现了。
  • 虽然 PCA 和 基于树的选择方法(如随机森林) 经常出现在特征选择和特征降维的讨论中,但它们的作用有所不同:

PCA 更多是通过生成新的特征(主成分)来实现降维,也可以视为一种选择重要特征的方式。

基于树的方法,如随机森林,主要通过选择最重要的原始特征来达到降维和提高模型准确性的目的。

它们两者的共同点在于减少特征的数量,但方法和实现方式不同。在实际应用中,它们常常结合使用,以便同时进行特征选择和降维,优化模型的性能。

如果有更多问题或者需要进一步的解释,随时告诉我!

http://www.dtcms.com/a/322752.html

相关文章:

  • 第15届蓝桥杯Scratch选拔赛初级及中级(STEMA)2023年12月17日真题
  • Python爬虫实战:构建国际营养数据采集系统
  • 非常简单!从零学习如何免费制作一个lofi视频
  • 【GitHub小娱乐】GitHub个人主页ProFile美化
  • 怎么选择和怎么填写域名解析到 阿里云ECS
  • 【Redis】Redis-plus-plus的安装与使用
  • 【pyqt5】SP_(Standard Pixmap)的标准图标常量及其对应的图标
  • elementui cascader 远程加载请求使用 选择单项等
  • AcWing 4579. 相遇问题
  • 生物多样性智慧化监测平台
  • 麒麟linux服务器搭建ftp服务【经典版】
  • 本地WSL部署接入 whisper + ollama qwen3:14b 总结字幕
  • 量化投资初探:搭建比特币智能交易机器人
  • 当AI成为语言桥梁:Seq2Seq的机器翻译革命
  • [CUDA] CUTLASS | `CuTe DSL` 创新
  • C# 使用iText获取PDF的trailer数据
  • 基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
  • Baumer高防护相机如何通过YoloV8深度学习模型实现输电线路塔电缆检测分割(C#代码UI界面版)
  • 《Resolving tissue complexity by multimodal spatial omics modeling with MISO》
  • Python人工智能matplotlib中markers属性介绍
  • 【高等数学】第八章 向量代数与空间解析几何——第四节 空间直线及其方程
  • ABP VNext + Apache Kafka Exactly-Once 语义:金融级消息一致性实战
  • Linux用户和组管理及Apache服务安装
  • 浅谈 VM 桥接模式:让虚拟机像真实电脑一样接入网络
  • Go语言实战案例:表单提交数据解析
  • CMU-15445(8)——PROJECT#3-Query Execution-Task#1
  • 前端工程化:从构建工具到性能监控的全流程实践
  • DeepSeek智能考试系统智能体
  • 大语言模型提示工程与应用:大语言模型对抗性提示安全防御指南
  • electron多进程设计