精华内容
下载资源
问答
  • 特征选择过滤法之方差选择、双样本t检验、方差分析、相关系数法、卡方检验、互信息法 目录 特征选择过滤法之方差选择、双样本t检验、方差分析、相关系数法、卡方检验、互信息法 方差选择 双样本t检验 方差分析 ...

    特征选择过滤法之方差选择、双样本t检验、方差分析、相关系数法、卡方检验、互信息法

    目录

    特征选择过滤法之方差选择、双样本t检验、方差分析、相关系数法、卡方检验、互信息法

    方差选择

    双样本t检验

    方差分析

    相关系数法

    卡方检验

    互信息法


    方差选择

    方差是衡量一个变量的离散程度(即数据偏离平均值的程度大小),变量的方差越大,就可以认为它的离散程度越大,也就是意味着这个变量对模型的贡献和作用会更明显,因此要保留方差较大的变量,反之,要剔除掉无意义的特征。方差大的变量更有可能产生对目标变量的差异判别。

    双样本t检验

    单样本t检验是在比较假设的总体平均数与样本平均数的差异是否显著,双样本t检验在于检验两个样本均值的差异是否显著。在数据分析中,双样本t检验常用于检验某二分类变量区分下的某连续变量是否具有显著差异。

    方差分析

    方差分析用于检验多个样本的均值是否有显著差异,所以其用于分析多于两个分类的分类变量与连续变量的关系。例如,想要知道信用卡消费是否瘦到教育程度的影响,这种影响是否显著,其中的受教育程度就是一个多分类变量。

    方差分析又分为单因素方差分析和多因素方差分析。单因素方差分析可以检验一个分类变量与一个连续变量之间的关系,而多因素方差分析可以检验多个分类变量与一个连续变量的关系。

    相关系数法

    通过计算特征与特征之间的相关系数的大小,可判定两两特征之间的相关程度。相关系数的取值区间在[-1, 1]之间,取值关系如下

    corr(x1,x2)相关系数值小于0表示负相关((这个变量下降,那个就会上升)),即x1x2是互补特征;

    corr(x1,x2)相关系数值等于0表示无相关;

    corr(x1,x2)相关系数值大于0表示正相关,即x1x2是替代特征;

    原理实现:取相关系数值的绝对值,然后把corr值大于90%~95%的两两特征中的某一个特征剔除。

     

    不同形态的点分布与相关系数之间的关系

    卡方检验

    卡方检验是检验定性自变量对定性因变量的相关性,求出卡方值,然后根据卡方值,匹配出其所对应的概率是否足以推翻原假设H0,如果能推翻H0,就启用备用假设H1

    假设检验:假如提出原假设H0XY没有关系;备用假设H1XY显著关系。

    互信息法

    评价定性自变量对定性应变量的相关性,在处理分类问题提取特征的时候就可以用互信息来衡量某个特征和特定类别的相关性,如果信息量越大,那么特征和这个类别的相关性越大。反之也是成立的。在概率统计里,互信息表示两个变量的相关性,值越大越相关。

     

     

     

     

    展开全文
  • 文章目录前言F检验法F检验概述示例互信息法互信息法概述示例 前言 前面已经讲了方差过滤和卡方过滤,如果这两种方法过滤后的数据还是不能令人满意,就可考虑这篇文章要将的F检验法,和互信息法。 F检验法 F检验概述 ...

    前言

    前面已经讲了方差过滤卡方过滤,如果这两种方法过滤后的数据还是不能令人满意,就可考虑这篇文章要将的F检验法,和互信息法。

    F检验法

    F检验概述

    F检验又称为ANOVA,方差齐性检验,是用来捕捉标签与每个特征之间线性关系的过滤方法。F检验即可做分类也可以做回归

    • 分类:feature_selection.f_classif(标签离散)
    • 回归:feature_selection.f_regression(标签连续)
      与卡方检验一样,这两个方法都要和SelectKBest连用
      注意点:F检验对于正态分布的数据表现很好,所以再进行F检验之前我们可以考虑将数据归一化或标准化,标准化,归一化看这里
      K值可以设定,也可以通过p值计算出来,方法与卡方检验一样。

    示例

    这里使用的数据还是前面两篇博文使用的数据,这里直接使用方差过滤后的数据,关于方差过滤,可以看前面的博文。

    from sklearn.feature_selection import f_classif
    f_values, f_pvalues = f_classif(X_var_median_filter, y)
    f_values.shape # (392,)
    k = f_values.shape[0] - (f_pvalues > 0.01).sum()
    k # 392
    # 可以看到最佳的k值为392,说明我们的数据已经不能再删除了
    

    互信息法

    F检验只能捕捉特征和标签之间的线性关系,但是如果标签与属性之间存在非线性关系是无法捕捉到的,这里就需要用到互信息法了。

    互信息法概述

    互信息法是用来捕捉每个特征和标签之间的任意关系(包括线性和非线性)
    和F检验相似,互信息既可以做回归也可以做分类

    • feature_selection.mutual_info_classif:用于分类标签
    • feature_selection.mutual_info_regression:用于连续性标签
      用法参数和F检验一样
      互信息比F检验强大,F检验只能捕捉线性关系,互信息可以找出任意关系
      互信息不返回p值或F值类似的统计量,他返回每个特征与标签之间的互信息量的统计
      返回值再0-1之间,0表示完全不想管,1表是完全相关
      互信息也是要与SelectKBest相结合使用

    示例

    from sklearn.feature_selection import mutual_info_classif
    res = mutual_info_classif(X_var_median_filter, y)
    # 返回结果全是大于0的。表明了每个特征都是和标签相关的
    
    # k值的计算
    # 我这里假设互信息小于0.005就人为标签属性是无关的
    k = res.shape[0] - (res < 0.005).sum()
    k # 392
    # 通过这个结果可以看出,标签属性之间的相关性还是很高的
    

    在这里插入图片描述

    展开全文
  • 变量筛选-比例发 变量筛选-方差 变量的筛选-KBest

    转载:https://www.cnblogs.com/jasonfreak/p/5448385.html
    https://blog.csdn.net/daxiaofan/article/details/53118259
    特征选择主要从两个方面入手:

    1. 特征是否发散:特征发散说明特征的方差大,能够根据取值的差异化度量目标信息.
    2. 特征与目标相关性:优先选取与目标高度相关性的.
      对于特征选择,有时候我们需要考虑分类变量和连续变量的不同.
    3. .过滤法:按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数选择特征

    变量筛选-方差法(连续)

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

    from sklearn.feature_selection import VarianceThreshold
    var = VarianceThreshold(threshold=0.2)
    data = var.fit_transform([[1,1,1],
                             [1,4,2],
                             [1,10,3]])
    print('每列的方差')
    print(var.variances_)
    print('经过特征筛选后的数据')
    data
    

    输出: 每列的方差
    [ 0. 14. 0.66666667]
    经过特征筛选后的数据
    array([[ 1, 1],
    [ 4, 2],
    [10, 3]])

    卡方检验:建议作为分类问题的分类变量的筛选方法(离散-离散)

    经典的卡方检验是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量

    from sklearn.feature_selection import chi2
    from sklearn.datasets import load_iris
    import pandas as pd
    X,y = load_iris(return_X_y=True)
    X_df = pd.DataFrame(X,columns=list(“ABCD”))

    (chi2,pval) = chi2(X_df,y)

    dict_feature = {}
    for i,j in zip(X_df.columns.values,chi2):
    dict_feature[i]=j
    #对字典按照values排序
    ls = sorted(dict_feature.items(),key=lambda item:item[1],reverse=True)
    ls:
    [(‘C’, 116.16984746363947),
    (‘D’, 67.24482758620685),
    (‘A’, 10.817820878493993),
    (‘B’, 3.5944990176817315)]

    互信息法:建议作为分类问题的分类变量的筛选方法(离散-离散))

    经典的互信息也是评价定性自变量对定性因变量的相关性的,为了处理定量数据,最大信息系数法被提出。

    包装法

    递归特征消除法:用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练
    包裹式特征选择直接把最终将要使用的学习器性能作为特征子集的评价标准,换而言之选择出了最有利于学习器性能发挥量身定做的特征子集。包裹式特征选择比过滤式特征选择更好,但由于需要在特征选择的过程中多次训练学习器,故计算开销较大。
    交叉验证版的REF
    from sklearn.datasets import load_iris
    import pandas as pd
    from sklearn.feature_selection import RFECV
    from sklearn.ensemble import RandomForestClassifier
    “”“

    • estimator – 基学习器

    • step – 默认1,即每次迭代移除一个特征

    • cv – 默认2,即二折交叉验证的方式进行特征选择

    • scoring – 根据学习目标设定的模型评分标准

    • verbose – 默认0,即不显示中间过程

    • n_jobs – 默认1,即不使用并行计算,单核计算
      ”“”
      X,y = load_iris(return_X_y=True)
      X_df = pd.DataFrame(X,columns=list(“ABCD”))

      refCV = RFECV(estimator=RandomForestClassifier(),
      step=0.5,
      cv =5,
      scoring=None,
      n_jobs=-1)

      refCV.fit(X_df,y)

      #保留特征的数量
      print(refCV.n_features_)
      #保留特征的False、True标记
      print(refCV.support_)
      feature_new = X_df.columns.values[refCV.support_]
      #交叉验证分数
      print(refCV.grid_scores_)

    1
    [False False True False]
    [0.96666667 0.95333333 0.94 ]

    SelectFromModel

    3.1 以L1为基的特征选择

    L1可以稀疏系数,用feature_selection.SelectFromModel可以选择不是0的系数

     from sklearn.svm import LinearSVC
     from sklearn.datasets import load_iris
     from sklearn.feature_selection import SelectFromModel
     iris = load_iris()
     X, y = iris.data, iris.target
     X.shape
    (150, 4)
    lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(X, y)
    model = SelectFromModel(lsvc, prefit=True)
     X_new = model.transform(X)
     X_new.shape
    (150, 3)
    

    SlectBest、SelectPercentile

    from sklearn.feature_selection import SelectKBest
    from sklearn.feature_selection import chi2

    #选择K个最好的特征,返回选择特征后的数据
    ch2=SelectKBest(chi2, k=2)
    X_new =ch2.fit_transform(X,y)#新的处理之后的数据
    ch2.get_support()#获得选取的特征

    展开全文
  • 3.互信息法 4 卡方检验 5.1嵌入的方法: 基于L1范数:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维 5.2嵌入的方法: 基于树模型的特征选择:树模型中GBDT也可用来作为基模型进行特征选择,使用...

    最近处理数据的时候尝试了一下特征选择,在此记录一下常用的方法,以便日后查阅:
    先贴一下原始数据:
    在这里插入图片描述

    1.RFE特征选择

    在这里插入图片描述

    2.方差分析

    在这里插入图片描述

    3.互信息法

    在这里插入图片描述

    4 卡方检验

    在这里插入图片描述

    5.1嵌入的方法:

    基于L1范数:使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维
    在这里插入图片描述

    5.2嵌入的方法:

    基于树模型的特征选择:树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型
    在这里插入图片描述

    展开全文
  • 提出了一种改进的语音增强算法,该算法以基于先验信噪比估计的维纳滤波为基础。首先通过计算无声段的统计平均得到初始噪声功率谱;其次,计算语音段间带噪语音功率谱,并平滑处理初始噪声功率谱和带噪语音功率谱,...
  • 特征选择(过滤、包装、嵌入)

    千次阅读 2020-04-29 20:33:16
    文章目录Filter过滤式方法方差选择法相关系数法卡方检验互信息法和最大信息系数Mutual information and maximal information coefficient (MIC)Wrapper封装式方法递归特征消除法Recursive feature elimination (RFE)...
  • 特征选择

    2020-07-27 20:27:33
    特征选择一、过滤法(1)方差过滤(2)相关性过滤1、卡方过滤2、F检验3、互信息法二、Embedded嵌入法三、Wrapper包装法四、总结 特征提取——特征创造——特征选择 一、过滤法 (1)方差过滤 特征本身的方差很小,就...
  • 本文主要复习特征工程的核心——特征处理(数据预处理,特征选择,降维)。 一、数据预处理 量纲不统一怎么办?(猫咪的身高和体重) 标准化(前提是特征值服从正态分布,通过算特征的均值和标准差转成标准...
  • 特征选择和特征抽取

    2019-09-15 10:51:32
    特征提取算法分为特征选择和特征抽取两大类。 特征选择:不改变原始的特征...(2)MI(Mutual Information) 互信息法 互信息法用于衡量特征词与文档类别直接的信息量。 如果某个特征词的频率很低,那么互信息得分就会...
  • 两个容易混淆的概念:数据降维和特征选择的区别 用于文本挖掘分类的特征选择算法:参考 (1)DF(Document Frequency)文档频率 ...如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法...
  • 特征选择方法

    2020-03-10 21:51:30
    2)MI(Mutual Information) 互信息法 互信息法用于衡量特征词与文档类别直接的信息量。 如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向"低频"的特征词。 相对的词频很高的词,得分就会变低,...
  • 相关系数法、卡方检验法和互信息法是进行特征选择时常用的几种过滤式方法。 变量之间的关系 变量之间的关系可分为两类: (1)存在完全确定的关系——称为函数关系,即Y=2X+3; (2)不存在完全确定的关系——...
  • 上一章节我们系统性的讲述了数据预处理,本章我们将讲解特征选择。参看官网,效果更佳!...2.2.1.4互信息法 2.2.2包装法(wrapper) 2.2.3嵌入法(Embedded) 2.2.3.1基于惩罚项的特征选择 2.2.3.2基于树模型的特...
  • 数据预处理-特征选择

    2019-04-27 11:10:36
    关于数据预处理,特征选择的主要技术原理,包括特征离散化,特征交叉,单特征/多特征AUC,残差分析,方差选择,卡方检验,互信息特征选择,逻辑回归计算特征重要度,距离相关系数,衡量数据分布的箱线图介绍等。
  • 特征选择1、概述2、特征选择过程3、特征选择方法3.1 过滤式(filter)特征选择3.1.1 Pearson相关系数法3.1.2卡方经验3.1.3 互信息法3.1.4 方差选择法3.2包裹式(wrapper)特征选择3.2.1 递归特征消除法3.3 嵌入式...
  • 特征选择的几种方法

    千次阅读 2020-02-08 23:53:56
    1.4 互信息法 1.5 relief算法 2 包裹法(Wrapper) 2.1 递归特征消除法 2.2 特征干扰法 3 嵌入法(Embedded) 3.1 基于惩罚项的特征选择法 3.2 基于树模型的特征选择法 4 特征选择方法的优...
  • 特征选择1 概述2 特征选择之Filter 2.1 方差选择法 2.2 卡方检验法 2.3 互信息法3 特征选择之Wrapper 3.1 递归式特征...
  • 特征选择学习笔记

    2021-05-27 10:36:09
    单变量过滤方法:不需要考虑特征之间的相互关系,按照特征变量和目标变量之间的相关性或互信息特征进行排序,过滤掉最不相关的特征变量。优点是计算效率高、不易过拟合 多变量过滤方法:考虑特征之间的相互关系,...
  • 常采用特征选择方法。常见的六种特征选择方法: 1)DF(Document Frequency) 文档频率 DF:统计特征词出现的文档...如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向"低频"的特征词。 相对
  • 文章目录写在前面特征工程概述特征提取特征选择特征构建特征选择过滤式(Filter过滤法)方差过滤卡方过滤相关性系数选择F检验互信息法嵌入式(Embedded嵌入法)包裹式(wrapper包装法) 写在前面 本文的特征选择的...
  • 1. 特征选择 1. 过滤 1)方差筛选 方差越大的特征,我们认为一般比较有用,设定方差阈值,舍弃方差小于阈值的特征 2)相关系数筛选 主要用于输出连续值的监督学习算法中,计算所有训练集中各个特征与输出值之前的...
  • 特征选择是非常关键的步骤,选入大量的特征不仅会降低模型效果,也会耗费大量的计算时间,而漏选的特征也会直接影响到最终的模型结果。一般情况下主要利用以下办法进行特征选择。...互信息法也经常...
  • 文本分类特征选择方法

    千次阅读 2017-06-02 20:28:01
    1)DF(DocumentFrequency) ...如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向"低频"的特征词。相对的词频很高的词,得分就会变低,如果这词携带了很高的信息量,互信息法

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

互信息法特征选择