python 卡方检验 特征选择_【学习摘录】机器学习特征选择

应用过机器学习进行数据挖掘的同学应该都知道特征选择对模型表现的重要性。本文基于网上经典特征选择相关文章整理出干货:常用方法分类以及调包侠该如何用sklearn快速上手,供大家参考。

(一)预处理:

1 无量纲化:

1.1 区间缩放

from sklearn.preprocessing

import MinMaxScaler #区间缩放,返回值为缩放到[0, 1]区间的数据

MinMaxScaler().fit_transform(iris.data)

1.2 标准化(特征值服需从正态分布)

from sklearn.preprocessing import StandardScaler #标准化,返回值为标准化后的数据

StandardScaler().fit_transform(iris.data)

2 特征二值化:定量特征二值化的核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0

3 特征哑变量

4 缺失值计算:一般以均值填充

5 数据变换:常见的数据变换有基于多项式的、基于指数函数的、基于对数函数的

(二)特征选择

1 过滤

1.1 基于方差

from sklearn.feature_selection

import VarianceThreshold

#方差选择法,返回值为特征选择后的数据 #参数threshold为方差的阈值

VarianceThreshold(threshold=3).fit_transform(iris.data)

1.2 相关系数

from sklearn.feature_selection

import SelectKBest

from scipy.stats import pearsonr

SelectKBest(lambda X, Y: array(map(lambda x:pearsonr(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)

1.3 卡方检验

from sklearn.feature_selection

import SelectKBest

from sklearn.feature_selection import chi2#选择K个最好的特征,返回选择特征后的数据

SelectKBest(chi2, k=2).fit_transform(iris.data, iris.target)

1.4 互信息

2 递归特征消除:递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练

3 嵌入法

3.1 基于惩罚项的特征选择法

3.2 树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型,来选择特征的代码如下:

from sklearn.feature_selection

import SelectFromModel

from sklearn.ensemble import GradientBoostingClassifier

SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

(四)降维

1 主成分分析

from sklearn.decomposition

import PCA2 3 #主成分分析法,返回降维后的数据 #参数n_components为主成分数目 PCA(n_components=2).fit_transform(iris.data)

2 线性判别分析

from sklearn.lda

import LDA2 3 #线性判别分析法,返回降维后的数据 #参数n_components为降维后的维数 LDA(n_components=2).fit_transform(iris.data, iris.target)

参考:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值