特征选择

特征选择方法之信息增益

こ雲淡風輕ζ 提交于 2020-01-30 01:57:43
前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征选择方法。但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同。开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留。 在信息增益中,重要性的衡量标准就是看特征可以为分类系统带来多少信息,带来的信息越多,该特征越重要。 因此先回顾一下信息论中有关信息量(就是“熵”)的定义。说有这么一个变量X,它可能的取值有n多种,各自是x 1 ,x 2 ,……,x n ,每一种取到的概率各自是P 1 ,P 2 ,……,P n ,那么X的熵就定义为: 意思就是一个变量可能的变化越多(反而跟变量详细的取值没有不论什么关系,仅仅和值的种类多少以及发生概率有关),它携带的信息量就越大(因此我一直认为我们的政策法规信息量非常大,由于它变化非常多,基本朝令夕改,笑)。 对分类系统来说,类别C是变量,它可能的取值是C 1 ,C 2 ,……,C n ,而每个类别出现的概率是P(C 1 ),P(C 2 ),……,P(C n ),因此n就是类别的总数。此时分类系统的熵就能够表示为: 有同学说不好理解呀,这样想就好了,文本分类系统的作用就是输出一个表示文本属于哪个类别的值,而这个值可能是C 1 ,C 2 ,……,C

特征选择方法之信息增益

天大地大妈咪最大 提交于 2020-01-30 01:50:46
前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征选择方法。但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同。开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留。 在信息增益中,重要性的衡量标准就是看特征可以为分类系统带来多少信息,带来的信息越多,该特征越重要。 因此先回顾一下信息论中有关信息量(就是“熵”)的定义。说有这么一个变量X,它可能的取值有n多种,各自是x 1 ,x 2 ,……,x n ,每一种取到的概率各自是P 1 ,P 2 ,……,P n ,那么X的熵就定义为: 意思就是一个变量可能的变化越多(反而跟变量详细的取值没有不论什么关系,仅仅和值的种类多少以及发生概率有关),它携带的信息量就越大(因此我一直认为我们的政策法规信息量非常大,由于它变化非常多,基本朝令夕改,笑)。 对分类系统来说,类别C是变量,它可能的取值是C 1 ,C 2 ,……,C n ,而每个类别出现的概率是P(C 1 ),P(C 2 ),……,P(C n ),因此n就是类别的总数。此时分类系统的熵就能够表示为: 有同学说不好理解呀,这样想就好了,文本分类系统的作用就是输出一个表示文本属于哪个类别的值,而这个值可能是C 1 ,C 2 ,……,C

机器学习实战之决策树基础笔记

柔情痞子 提交于 2020-01-30 00:06:44
决策树的优缺点 优点 计算复杂度不高 输出结果容易理解 对中间值的缺失不敏感 可以处理不相关特征数据 缺点 可能会产生过度匹配问题 决策树原理 《机器学习实战》书中讲了二十个问题的游戏的一个例子:就是参与游戏的一方脑子里想着某个事物。其他参与者可以向他提29个问题,但是答案只能用对错来回答。比如最简单的猜数游戏。我心里想一个数是7.然后A说你心里想的数比100小。然后我说正确。然后B说你心里想的数比10大,我说回答错误。然后C、D、E等人继续提问,直到那个数的范围越来越小,直到猜中答案。决策树的工作原理就是这样,用户给出一系列数据,然后给出游戏的答案。 相比于书中给出的邮件的例子,我更喜欢Jack Cui的例子,便于理解。所以下文中所有的例子以Jack Cui的例子为主。 如下就是一个决策树的树状图。决策树的结构主要是由结点和有向边组成。结点分为内部结点和叶结点。内部节点用来表示一个特征或者一个属性。叶结点表示一个类。长方形和椭圆形都是结点。长方形属于内部结点,下面还有分支或者叶结点。椭圆形是叶结点,下面没有分支。是结束。 对上图中的一些元素进行解释: 长方形代表判断模块 椭圆形代表终止模块,用于得到结论 从长方形(判断模块)出来的箭头是分支,可以到达另一个模块或者终止模块 流程图解释 这是一个简单的岳母相亲的分类模型。就是岳母来了先问问你有没有房子车子啊,如果有的话

算法的设计技术

非 Y 不嫁゛ 提交于 2020-01-27 11:39:44
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ght886/article/details/80289142 分治法 概念: 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 思想策略: 对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出的子问题的解可以合并为该问题的解; 4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。 第一条特征是绝大多数问题都可以满足的,因为问题的计算复杂性一般是随着问题规模的增加而增加; 第二条特征是应用分治法的前提它也是大多数问题可以满足的,此特征反映了递归思想的应用;、 第三条特征是关键,能否利用分治法完全取决于问题是否具有第三条特征,如果具备了第一条和第二条特征,而不具备第三条特征,则可以考虑用贪心法或动态规划法。 第四条特征涉及到分治法的效率,如果各子问题是不独立的则分治法要做许多不必要的工作,重复地解公共的子问题

特征工程&特征选择

白昼怎懂夜的黑 提交于 2020-01-26 06:43:59
特征工程 #核心代码举例 # 统计特征 #计算均值 gp = train . groupby ( by ) [ fea ] . mean ( ) #计算中位数 gp = train . groupby ( by ) [ fea ] . median ( ) #计算方差 gp = train . groupby ( by ) [ fea ] . std ( ) #计算最大值 gp = train . groupby ( by ) [ fea ] . max ( ) #计算最小值 gp = train . groupby ( by ) [ fea ] . min ( ) #计算出现次数 gp = train . groupby ( by ) [ fea ] . size ( ) # groupby生成统计特征:mean,std # 按照communityName分组计算面积的均值和方差 temp = data . groupby ( 'communityName' ) [ 'area' ] . agg ( { 'com_area_mean' : 'mean' , 'com_area_std' : 'std' } ) # 特征拆分 # 将houseType转为'Room','Hall','Bath' def Room ( x ) : Room = int ( x . split ( '室

机器学习中的降维

China☆狼群 提交于 2020-01-24 15:06:58
1. 啥是降维? 摘自维基百科 在机器学习和统计学领域,降维是指在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。 降维可进一步细分为变量选择和特征提取两大方法。 简单来说,如果你的数据集是由下面几个成分组成: 1.降雨量 2.湿度 3.房屋价格 4.健康指数 我们显然可以判断,前两个数据具有明显的 相关性 ,意思就是, 我们的原始数据就有比较大的 冗余 , 这对我们进行模型训练是无作用的,因此我们可以通过降维达到: 1. 平均湿度 2. 房屋价格 3. 健康指数 这就是一个改进版的训练集,一般都会在数据预处理阶段对数据先降个维。 2. 降维的方法是啥? 特征选择 : 这里不是特征提取,而是特征提取之后, 再从提取的特征之中筛选几个 1.过滤式选择 1.1 方差选择(低方差特征过滤, 删除低方差的特征项) from sklearn. feature_selection import VarianceThreshold def featur_Select(): data = pd.read_csv("feature.csv") #data =data.iloc[:,1:-2] print("\n") transfer = VarianceThreshold(threshold = 阈值) result = transfer.fit_transform(data)

机器学习(4)之决策树

本小妞迷上赌 提交于 2020-01-19 03:08:06
文章目录 1 比特化(Bits) 2 信息熵 2.1 信息量 2.2 信息熵的意义 2.3 条件熵 3 决策树的概念 3.1 决策树的构建 3.2 决策树的特征属性 3.3 决策树分割属性 3.4 决策树量化纯度 3.5 决策树的停止条件 3.6 决策树算法效果的评估 4 ID3算法 5 C4.5算法 6 CART算法 7 分类树和回归树 8 决策树的优化策略 8.1 剪枝优化 9 总结 1 比特化(Bits) 假设现在随机变量X具有m个值,分别为: V 1 ,V 2 ,…,V m ;并且各个值出现的概率: P(X=V 1 )=p 1 ,P(X=V 2 )=p 2 , P(X=V 3 )=p 3 …P(X=V m )=p m 可以使用这些变量的期望来表示每个变量需要多少个比特位来描述信息: 2 信息熵 H(X)就叫做随机变量X的信息熵。 2.1 信息量 指的是一个样本/事件所蕴含的信息,如果一个事件的概率越大,那么就 可以认为该事件所蕴含的信息越少。极端情况下,比如:“太阳从东方升起”,因为是确定事件,所以不携带任何信息量。 2.2 信息熵的意义 信息熵就是用来描述系统信息量的不确定度。 一个系统越是有序,信息熵就越低,一个系统越是混乱,信息熵就越高,所以信息熵被认为是一个系统有序程度的度量。 High Entropy(高信息熵) :表示随机变量X是均匀分布的

使用sklearn做特征工程

你离开我真会死。 提交于 2020-01-15 16:55:43
1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里介绍的特征处理库也十分强大!   本文中使用sklearn中的 IRIS(鸢尾花)数据集 来对特征处理功能进行说明。IRIS数据集由Fisher在1936年整理,包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾))。导入IRIS数据集的代码如下: 1 from sklearn.datasets import load_iris 2 3 #导入IRIS数据集 4 iris = load_iris() 5 6 #特征矩阵 7 iris.data

机器学习中的特征工程

自作多情 提交于 2020-01-15 14:59:59
作者:城东 链接: 特征工程到底是什么? - 城东的回答 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 目录 1 特征工程是什么? 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   2.5 数据变换 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 基于树模型的特征选择法 4 降维   4.1 主成分分析法(PCA)   4.2 线性判别分析法(LDA) 5 总结 6 参考资料 1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分

特征工程——特征选择

拜拜、爱过 提交于 2020-01-15 00:38:37
特征工程——特征选择 特征选择 实践 特征重要性 递归特征消除(RFE) SelecFromModel 相关矩阵分析 单变量选择 套索回归 注:该文来自微信公众号:Datawhale 减少统计分析期间要使用的特征的数量可能会带来一些好处,例如: 提高精度 降低过拟合风险 加快训练速度 改进数据可视化 增加我们模型的可解释性 事实上,统计上证明,当执行机器学习任务时,存在针对每个特定任务应该使用的最佳数量的特征(图 1)。如果添加的特征比必要的特征多,那么我们的模型性能将下降(因为添加了噪声)。真正的挑战是找出哪些特征是最佳的使用特征(这实际上取决于我们提供的数据量和我们正在努力实现的任务的复杂性)。这就是特征选择技术能够帮到我们的地方! 特征选择 有许多不同的方法可用于特征选择。其中最重要的是: 1.过滤方法=过滤我们的数据集,只取包含所有相关特征的子集(例如,使用 Pearson 相关的相关矩阵)。 2.遵循过滤方法的相同目标,但使用机器学习模型作为其评估标准(例如,向前/向后/双向/递归特征消除)。我们将一些特征输入机器学习模型,评估它们的性能,然后决定是否添加或删除特征以提高精度。因此,这种方法可以比滤波更精确,但计算成本更高。 3.嵌入方法。与过滤方法一样,嵌入方法也使用机器学习模型。这两种方法的区别在于,嵌入的方法检查 ML 模型的不同训练迭代,然后根据每个特征对 ML