特征选择

# -*- coding: utf-8 -*-
"""
Created on Wed Aug 10 20:26:15 2016

@author: qqhfeng
"""

#模块1 VarianceThreshold 选择特征值
‘‘‘
Feature selector that removes all low-variance features.
This feature selection algorithm looks only at the features (X),
not the desired outputs (y), and can thus be used for unsupervised learning.

VarianceThreshold is a simple baseline approach to feature selection.
It removes all features whose variance doesn’t meet some threshold.
By default, it removes all zero-variance features, i.e.
features that have the same value in all samples.
As an example, suppose that we have a dataset with boolean features,
and we want to remove all features that are either one or zero (on or off)
in more than 80% of the samples. Boolean features are Bernoulli random variables,
and the variance of such variables is given by
‘‘‘

from sklearn.feature_selection import VarianceThreshold
X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
#sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
sel = VarianceThreshold()
print sel.fit_transform(X)

#模块2 选择最重要的 SelectKBest removes all but the k highest scoring features
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
iris = load_iris()
X, y = iris.data, iris.target
print X.shape
X_new = SelectKBest(chi2, k=2).fit_transform(X, y) #chi2是一种特征重要性评价方法
print X_new.shape

#模块3 递归特征消除法
时间: 2024-10-12 15:13:20

特征选择的相关文章

特征选择, 经典三刀

        [特征工程]特征选择与特征学习        特征选择(Feature Selection,FS)和特征抽取(Feature Extraction, FE)是特征工程(Feature Engineering)的两个重要的方面.  他们之间最大的区别就是是否生成新的属性.  FS仅仅对特征进行排序(Ranking)和选择, FE更为复杂,需要重新认识事物, 挖掘新的角度, 创新性的创立新的属性, 而目前深度学习这么火, 一个很重要的原因是缩减了特征提取的任务. 不过, 目前特征工程

降维中的特征选择

在数据挖掘过程中,高维数据是非常棘手的研究对象.特别是在文本挖掘.图像处理和基因数据分析中,维度过高使很多学习器无法工作或效率降低,所以降维也是数据预处理过程的一项必要任务.降维大致有两大类别,一类是从原始维度中提取新的维度,例如主成分分析或因子分析,再或者是奇异值分解或是多维标度分析.另一类是从原始维度中选择一些子集,即称为特征选择(Feature Selection),或者叫作最佳子集选择.特征选择本质上继承了Occam's razor的思想,从一组特征中选出一些最有效的特征,使构造出来的模

结合Scikit-learn介绍几种常用的特征选择方法

作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的).

特征选择常用算法综述

特征选择的一般过程: 1.生成子集:搜索特征子集,为评价函数提供特征子集 2.评价函数:评价特征子集的好坏 3.停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索 4.验证过程:在验证数据集上验证选出来的特征子集的有效性 1.生成子集 搜索算法有 完全搜索.启发式搜索.随机搜索 三大类. (1)完全搜索 <1>宽搜(Breadth First Search):时间复杂度高,不实用 <2>分支界限搜索(Branch and Bound):其实就是宽搜加上深度的限

特征选择(三)-K-L变换

上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的. 舍去不重要的分量,这就是降维. 聚类变换认为:重要的分量就是能让变换后类内距离小的分量. 类内距离小,意味着抱团抱得紧. 但是,抱团抱得紧,真的就一定容易分类么? 如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动大)的分量丢掉,所以两个椭圆都要向y轴投影,这样悲剧了,两个重叠在一起,根本分不开了.而另一种情况却可以这么做,把方差大的分量丢掉,于是向x轴投影,很顺利就能分开了.因此,聚类变换并不是每次都能成功

干货:结合Scikit-learn介绍几种常用的特征选择方法

原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我

特征选择方法之信息增益

前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征选择方法.但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同.开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留. 在信息增益中,重要性的衡量标准就是看特征可以为分类系统带来多少信息,带来的信息越多,该特征越重要. 因此先回顾一下信息论中有关信息量(就是"熵")的定义.说有这么一

浅谈关于特征选择算法与Relief的实现

一. 背景 1) 问题 在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果: 1.     特征个数越多,分析特征.训练模型所需的时间就越长,模型也会越复杂. 2.     特征个数越多,容易引起“维度灾难”,其推广能力会下降. 3.     特征个数越多,容易导致机器学习中经常出现的特征稀疏的问题,导致模型效果下降. 4.     对于模型来说,可能会导致不适定的情况,即是解出的参数会因为样本的微小变化而出现大的波动. 特征选择,能

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

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

特征选择方法总结

摘要: 1.特征选择的功能 2.封装特征选择(Wapper Feature Select) 3.过滤特征选择(Filter Feature Select) 4.嵌入特征选择(Embeding Feature Select) 内容: 1.特征选择的功能 减少特征数量.降维,使模型泛化能力更强,减少过拟合: 增强对特征和特征值之间的理解 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征 2.封装特征选择(Wapper Feature