特征选择

什么是特征选择

定义: 数据中包含冗余或无关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征。

方法:

  • Filter(过滤式):主要探究特征本身特点、特征与特征和目标值之间关联

    • 方差选择法:低方差特征过滤
    • 相关系数
  • Embedded (嵌入式):算法自动选择特征(特征与目标值之间的关联)

    • 决策树:信息熵、信息增益
    • 正则化:L1、L2
    • 深度学习:卷积等
  • Wrapper (包裹式)

模块

sklearn.feature_selection

过滤式

低方差特征过滤

删除低方差的一些特征,前面讲过方差的意义。再结合方差的大小来考虑这个方式的角度。

  • 特征方差小:某个特征大多样本的值比较相近

  • 特征方差大:某个特征很多样本的值都有差别

API

  • sklearn.feature_selection.VarianceThreshold(threshold = 0.0)

    • 删除所有低方差特征
    • Variance.fit_transform(X)
      • X:numpy array格式的数据[n_samples,n_features]
      • 返回值:训练集差异低于threshold的特征将被删除。默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征。

数据计算

我们对某些股票的指标特征之间进行一个筛选

一共这些特征

pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,earnings_per_share,revenue,total_expense
index,pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,earnings_per_share,revenue,total_expense,date,return
0,000001.XSHE,5.9572,1.1818,85252550922.0,0.8008,14.9403,1211444855670.0,2.01,20701401000.0,10882540000.0,2012-01-31,0.027657228229937388
1,000002.XSHE,7.0289,1.588,84113358168.0,1.6463,7.8656,300252061695.0,0.326,29308369223.2,23783476901.2,2012-01-31,0.08235182370820669
2,000008.XSHE,-262.7461,7.0003,517045520.0,-0.5678,-0.5943,770517752.56,-0.006,11679829.03,12030080.04,2012-01-31,0.09978900335112327
3,000060.XSHE,16.476,3.7146,19680455995.0,5.6036,14.617,28009159184.6,0.35,9189386877.65,7935542726.05,2012-01-31,0.12159482758620697
4,000069.XSHE,12.5878,2.5616,41727214853.0,2.8729,10.9097,81247380359.0,0.271,8951453490.28,7091397989.13,2012-01-31,-0.0026808154146886697
def variance_demo():"""过滤低方差特征:return:"""# 1、获取数据data = pd.read_csv("factor_returns.csv")data = data.iloc[:, 1: -2]print(data)# 2、实例化一个转换器transfer = VarianceThreshold(threshold=5)# 3、调用fit_transformdata_new = transfer.fit_transform(data)print("data_new", data_new, data_new.shape)return Noneif __name__ == '__main__':# 低方差特征过滤variance_demo()

相关系数

皮尔逊相关系数(Pearson Correlation Coefficient): 反映变量之间相关关系密切程度的统计指标

公式计算案例(了解,不用记忆)

公式:

比如说我们计算年广告费投入与月均销售额

= 0.9942

所以我们最终得出结论是广告投入费与月平均销售额之间有高度的正相关关系。

特点

相关系数的值介于–1与+1之间,即–1≤ r ≤+1。其性质如下:

  • 当r>0时,表示两变量正相关,r<0时,两变量为负相关

  • 当|r|=1时,表示两变量为完全相关,当r=0时,表示两变量间无相关关系

  • 当0<|r|<1时,表示两变量存在一定程度的相关。且|r|越接近1,两变量间线性关系越密切;|r|越接近于0,表示两变量的线性相关越弱

一般可按三级划分:|r|<0.4为低度相关;0.4≤|r|<0.7为显著性相关;0.7≤|r|<1为高度线性相关

这个符号:|r|为r的绝对值, |-5| = 5

API

from scipy.stats import pearsonr
x : (N,) array_like
y : (N,) array_like Returns: (Pearson’s correlation coefficient, p-value)

【机器学习】特征降维-特征选择相关推荐

  1. 机器学习--特征降维方法总结

    本篇博文主要总结一下机器学习里面特征降维的方法,以及各种方法之间的联系和区别. 机器学习中我个人认为有两种途径可以来对特征进行降维,一种是特征抽取,其代表性的方法是PCA,SVD降维等,另外一个途径就 ...

  2. [学习笔记] [机器学习] 8. 聚类算法(聚类算法:K-means、K-means++;聚类算法评估;特征降维:特征选择(Pearson相关系数、Spearman相关系数)、PCA主成分分析)

    视频链接 数据集下载地址:无需下载 1. 聚类算法简介 学习目标: 掌握聚类算法实现过程 知道 K-means 算法原理 知道聚类算法中的评估模型 说明 K-means 的优缺点 了解聚类中的算法优化 ...

  3. 机器学习-特征工程中的特征降维

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

  4. 机器学习-特征工程中的特征选择

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

  5. 机器学习-特征处理/归一化/标准化/降维03

    归一化 from sklearn.preprocessing import MinMaxScaler def mm(): # 归一化处理mm = MinMaxScaler()data = mm.fit ...

  6. 【机器学习】特征降维

    特征降维 学习目标 知道特征选择的嵌入式.过滤式以及包裹氏三种方式 应用VarianceThreshold实现删除低方差特征 了解相关系数的特点和计算 应用相关性系数实现特征选择 降维 降维是指在某些 ...

  7. 基于Python的自动特征工程——教你如何自动创建机器学习特征

    作者 | William Koehrsen 译者 | 王天宇 编辑 | Jane 出品 | AI科技大本营 [导读]如今机器学习正在从人工设计模型更多地转移到自动优化工作流中,如 H20.TPOT 和 ...

  8. 机器学习-特征工程中的数据预处理

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

  9. 【完结篇】专栏 | 基于 Jupyter 的特征工程手册:特征降维

    作者:陈颖祥.杨子晗 编译:AI有道 经过数据预处理和特征选择,我们已经生成了一个很好的特征子集.但是有时该子集可能仍然包含过多特征,导致需要花费太多的计算能力用以训练模型.在这种情况下,我们可以使用 ...

最新文章

  1. python 的文件目录拷贝转移,自动递归目录建立目录
  2. 尚硅谷-SpringBoot高级-检索-Elasticsearch快速入门
  3. 纯CSS实现帅气的SVG路径描边动画效果
  4. js match函数注意
  5. JSP访问Spring中的bean
  6. 快速凝血分析仪行业调研报告 - 市场现状分析与发展前景预测
  7. 拼多多的硬核逆生长!
  8. 当SDN 遇到物联网
  9. 【数字信号调制】Matlab实现PCM编码和QAM调制
  10. 如何清空c盘只剩系统_怎么清空c盘只保留系统文件 你值得一看的技巧
  11. 石英晶振的电路组成与设计
  12. 【Ubuntu16.04】搭建Hyperledger Fabric环境
  13. python简单图片识别_用Python进行简单的图片识别(1)
  14. 一文尽览!弱监督语义/实例/全景分割全面调研(2022最新综述)
  15. postman 总结
  16. python itchat 抢红包-Python itchat模块在微信上的各种小应用
  17. hbw-utils - UUIDUtils
  18. 电商图片采集-免费批量电商图片采集软件
  19. ubuntu安装Qt5.12
  20. 机器学习之多层感知器

热门文章

  1. 两概率分布交叉熵的最小值是多少?
  2. 对比学习可以使用梯度累积吗?
  3. ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架
  4. 探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
  5. 浅谈零样本网络表示学习
  6. CVPR 2020 三篇有趣的论文解读
  7. NLP领域近期有哪些值得读的开源论文?
  8. Byte Cup 2018机器学习大赛进入冲刺阶段,最全资料帮你快速上手!
  9. [PAMI2013] Guided Image Filtering 导向滤波器以及OpenCV-Python代码实现
  10. 51NOD 1138 连续整数的和