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

文章目录


前言

最大相关最小冗余准则(maximal relevance andminimal redundancy,mRMR),其核心思想是从给
定的特征集合中寻找与目标类别有最大相关性且相互之间具有最少冗余性的特征子集。

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

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

二、如何安装和使用prmrmr?

1. 新建一个环境

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

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的使用。这样我们就可以很快的处理冗余数据了。

猜你喜欢

转载自blog.csdn.net/qlkaicx/article/details/127884395