使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)

慈云数据 2024-03-19 技术支持 217 0

文章目录

  • 系列文章目录
  • 前言
  • 一、最大相关最小冗余准则(mRMR)在python对应的库?
  • 二、如何安装和使用prmrmr?
    • 1.新建一个环境
    • 2.安装pymrmr库
    • 3.如何使用pymrmr?
    • pymrmr实验结果
  • 总结

    前言

    最大相关最小冗余准则(maximal relevance andminimal redundancy,mRMR),其核心思想是从给

    使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)
    (图片来源网络,侵删)

    定的特征集合中寻找与目标类别有最大相关性且相互之间具有最少冗余性的特征子集。

    一、最大相关最小冗余准则(mRMR)在python对应的库?

    对应的库是pymrmr,具体详细链接请参考Github  mRMR代码

    二、如何安装和使用prmrmr?

    1. 新建一个环境

    随便起一个名字,例如我起名为pymrmr,后面最好输入3.6版本。

    使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)
    (图片来源网络,侵删)
    conda create -n pymrmr python=3.6

    2. 安装pymrmr库

    先安装numpy,Cython,再安装pymrmr。

    推荐使用清华镜像 -i https://pypi.tuna.tsinghua.edu.cn/simple

    pip install numpy
    pip install Cython
    pip install pymrmr

    3. 如何使用pymrmr?

    具体请看代码

    import pandas as pd
    import pymrmr
    # 读入数据
    data = pd.read_excel("080220.xlsx")
    #选取十个特征
    mr=pymrmr.mRMR(data,'MIQ',10)
    print(mr)

    其中mRMR中一共三个参数,每个参数的具体含义如下:

    参数一:DataFrame,要求第一列是目标量(标注),其他列是特征量,其中首行必须是特征名称,且必须是字符形式,例如a1,a2,等
    参数二:选择的方法,有'MID'、'MIQ'两种。MID是基于互信息的mRMR,MIQ是基于商的mRMR。
    参数三:要求int类型,最后输出的特征数量。
    

     4.pymrmr实验结果

    *** MaxRel features ***
    Order 	 Fea 	 Name 	 Score
    1 	 10 	 a10 	 4.420
    2 	 83 	 a83 	 3.124
    3 	 76 	 a76 	 2.971
    4 	 75 	 a75 	 2.946
    5 	 80 	 a80 	 2.944
    6 	 78 	 a78 	 2.928
    7 	 81 	 a81 	 2.789
    8 	 82 	 a82 	 2.329
    9 	 38 	 a38 	 2.291
    10 	 44 	 a44 	 2.280

    这样我们就选出了我们的十个特征,特征之间不会存在冗余。 


    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了在python中pymrmr的使用。这样我们就可以很快的处理冗余数据了。

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon