python特征选择内存错误_python - 使用MRMR进行特征选择 - 堆栈内存溢出

我发现了两种在python中实现MRMR功能选择的方法。 包含该方法的论文的来源是:

这是我的数据集代码。

import numpy as np

import pandas as pd

from sklearn.datasets import make_classification

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

X, y = make_classification(n_samples=10000,

n_features=6,

n_informative=3,

n_classes=2,

random_state=0,

shuffle=False)

# Creating a dataFrame

df = pd.DataFrame({'Feature 1':X[:,0],

'Feature 2':X[:,1],

'Feature 3':X[:,2],

'Feature 4':X[:,3],

'Feature 5':X[:,4],

'Feature 6':X[:,5],

'Class':y})

y_train = df['Class']

X_train = df.drop('Class', axis=1)

方法1:使用pymrmr应用MRMR

包含MID和MIQ

import pymrmr

pymrmr.mRMR(df, 'MIQ',6)

['功能4','功能5','功能2','功能6','功能1','功能3']

或使用第二种方式运行

pymrmr.mRMR(df, 'MID',6)

['功能4','功能6','功能5','功能2','功能1','功能3']

在上述数据集中,这两种方法都产生了这两个输出。 GitHub上的另一位作者声称您可以使用他的版本来应用MRMR方法。 但是,当我将它用于相同的数据集时,我得到了不同的结果。

方法2:使用MIFS应用MRMR

Github链接

import mifs

for i in range(1,11):

feat_selector = mifs.MutualInformationFeatureSelector('MRMR',k=i)

feat_selector.fit(X_train, y_train)

# call transform() on X to filter it down to selected features

X_filtered = feat_selector.transform(X_train.values)

#Create list of features

feature_name = X_train.columns[feat_selector.ranking_]

print(feature_name)

如果你对i的所有不同值运行上面的迭代,那么两个方法实际上都不会产生相同的特征选择输出。

这里似乎有什么问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值