Python数据挖掘—特征工程—特征选择

如何选择特征

根据是否发散及是否相关来选择

方差选择法

先计算各个特征的方差,根据阈值,选择方差大于阈值的特征

方差过滤使用到的是VarianceThreshold类,该类有个参数threshold,该值为最小方差的阈值,然后使用fit_transform进行特征值过滤

相关系数法

先计算各个特征对目标值的相关系数,选择更加相关的特征

递归特征消除法

使用一个基模型来进行多轮训练,经过多轮训练后,保留指定的特征数

通过estimator将基模型设置为线性模型(可以设置为其他类型),通过n_features_to_select=2将要选择的特征数设置为2

 1 import pandas
 2 from sklearn.feature_selection import RFE
 3 from sklearn.linear_model import LinearRegression
 4
 5 data=pandas.read_csv("C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\6.2\\data2.csv")
 6
 7 feature=data[["月份","季度","广告费用","客流量"]]
 8 rfe=RFE(
 9     estimator=LinearRegression(),   #通过estimator将基模型设置为线性模型
10     n_features_to_select=2)   #要选择的特征数设置为2

将自变量和因变量通过fit_transfrom传入,并通过get_support()知道所用的哪两列的名字,得到对应列名

1 sFeature=rfe.fit_transform(
2     feature,
3     data["销售额"])
4
5 rfe.get_support()  #要知道这两列的名字

模型选择法

它是一种吧我们建好的模型对象传入选择器,然后它会根据这个已经建好的模型,自动帮我们选择最好的特征值。

首先导入数据,给出全部特征值,然后建立模型,作为参数传入SelctFromModel(),在通过fit_transfrom对特征值和因变量进行过滤,选出最优的特征,最后通过get_support()得到对应的列名。

 1 import pandas
 2 from sklearn.linear_model import LinearRegression
 3 from sklearn.feature_selection import SelectFromModel
 4
 5 data=pandas.read_csv("C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\6.2\\data2.csv")
 6
 7 feature=data[["月份","季度","广告费用","客流量"]]
 8
 9 lrModel=LinearRegression()
10
11 selectFromModel=SelectFromModel(lrModel)
12
13 selectFromModel.fit_transform(
14         feature,
15         data["销售额"])
16
17 feature.columns[selectFromModel.get_support()]

原文地址:https://www.cnblogs.com/U940634/p/9748667.html

时间: 2024-08-01 09:24:13

Python数据挖掘—特征工程—特征选择的相关文章

Python数据挖掘—特征工程—数据处理

概念: 特征工程:本质上是一项工程活动,他目的是最大限度地从原始数据中提取特征以供算法和模型使用 特征工程的重要性:特征越好,灵活性越强.模型越简单.性能越出色. 特征工程包括:数据处理.特征选择.维度压缩 量纲不一: 就是单位,特征的单位不一致,不能放在一起比较 通过:0-1标准化.Z标准化.Normalizer归一化 数据处理-归一化: 1 import pandas 2 3 data=pandas.read_csv( 4 "C:\\Users\\Jw\\Desktop\\python_wo

数据挖掘——特征工程

特征工程(Feature Engineering) 特征工程其本质上是一项工程活动,它的目的是最大限度地从原始数据中提取特征以供算法和模型使用. 特征工程的重要性: 特征越好,灵活性越强 特征越好,模型越简单 特征越好,性能越出色 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.特征工程的最终目的就是提升模型的性能. 特征工程包括:数据处理.特征选择.维度压缩三大方面的内容. 1.数据处理:量纲不一.虚拟变量.缺失值填充 1.1.量纲不一 量纲就是单位,特征的单位不一致就不能放在一

特征工程-特征选择

转自:https://www.cnblogs.com/pinard/p/9032759.html 1. 特征的来源 在做数据分析的时候,特征的来源一般有两块,一块是业务已经整理好各种特征数据,我们需要去找出适合我们问题需要的特征:另一块是我们从业务特征中自己去寻找高级数据特征.我们就针对这两部分来分别讨论. 2.  选择合适的特征 我们首先看当业务已经整理好各种特征数据时,我们如何去找出适合我们问题需要的特征,此时特征数可能成百上千,哪些才是我们需要的呢? 第一步是找到该领域懂业务的专家,让他们

使用Python做单机特征工程

目录 1 特征工程是什么?2 数据预处理 2.1 无量纲化 2.1.1 标准化 2.1.2 区间缩放法 2.1.3 无量纲化与正则化的区别 2.2 对定量特征二值化 2.3 对定性特征哑编码 2.4 缺失值计算 2.5 数据变换 2.6 回顾3 特征选择 3.1 Filter 3.1.1 方差选择法 3.1.2 相关系数法 3.1.3 卡方检验 3.1.4 互信息法 3.2 Wrapper 3.2.1 递归特征消除法 3.3 Embedded 3.3.1 基于惩罚项的特征选择法 3.3.2 基于

机器学习 特征工程之特征选择

概念 首先看一下维基百科中关于特征选择的介绍: 在机器学习和统计学中,特征选择 也被称为变量选择.属性选择 或变量子集选择 .它是指:为了构建模型而选择相关特征(即属性.指标)子集的过程. 在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从特征集中挑选出一组最具统计意义的特征子集,把其他无用数据删掉,达到降维的目的. 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目

【特征工程】特征选择与特征学习

http://www.jianshu.com/p/ab697790090f 特征选择与特征学习 在机器学习的具体实践任务中,选择一组具有代表性的特征用于构建模型是非常重要的问题.特征选择通常选择与类别相关性强.且特征彼此间相关性弱的特征子集,具体特征选择算法通过定义合适的子集评价函数来体现.在现实世界中,数据通常是复杂冗余,富有变化的,有必要从原始数据发现有用的特性.人工选取出来的特征依赖人力和专业知识,不利于推广.于是我们需要通过机器来学习和抽取特征,促进特征工程的工作更加快速.有效. 特征选

机器学习之(四)特征工程以及特征选择的工程方法

关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:"数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已".由此可见,特征工程在机器学习中占有相当重要的地位.在实际应用当中,可以说特征工程是机器学习成功的关键.纵观Kaggle.KDD等国内外大大小小的比赛,每个竞赛的冠军其实并没有用到很高深的算法,大多数都是在特征工程这个环节做出了出色的工作,然后使用一些常见的算法,比如LR,就能得到出色的性能.遗憾的是,在很多的书籍中并没有直接

特征工程之特征选择

特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样是确定的步骤,更多是工程上的经验和权衡.因此没有统一的方法.这里只是对一些常用的方法做一个总结.本文关注于特征选择部分.后面还有两篇会关注于特征表达和特征预处理. 1. 特征的来源 在做数据分析的时候,特征的来源一般有两块,一块是业务已经整理好各种特征数据,我们需要去找出适合我们问题需要的特征:另一块是我们从业务特征中自己去寻找高级数据特征.我们就针对这两部分来分别讨论. 2.  选择合适的特征 我们首先看当业务已经整理好各种特

特征工程基本流程

前言 特征是数据中抽取出来的对结果预测有用的信息,可以是文本或者数据.特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程.过程包含了特征提取.特征构建.特征选择等模块. 特征工程的目的是筛选出更好的特征,获取更好的训练数据.因为好的特征具有更强的灵活性,可以用简单的模型做训练,更可以得到优秀的结果."工欲善其事,必先利其器",特征工程可以理解为利其器的过程.互联网公司里大部分复杂的模型都是极少数的数据科学家在做,大多数工程师们做的事情基本是在数据仓