在R中使用mRMRe

我目前正在进行一个项目,需要进行特征选择来构建预测模型。我被引导到一个名为mRMRe的R包。我只是尝试运行示例,但无法使其工作。示例可以在这里找到。

这是我的代码 –

data(cgps)data <- data.frame(target=cgps.ic50, cgps.ge)mRMR.ensemble(data, 1, rep.int(1, 30))

当我运行这段代码时,我得到了以下错误 –

Error in .local(.Object, ...) : data must be of type mRMRe.Data.

我进一步研究后发现,实际上需要将数据转换为mRMR.Data类型。所以我做了以下更新 –

# Updatedata <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge))mRMR.ensemble(data, 1, rep.int(1, 30))

但我仍然得到相同的错误。当我查看数据的类别时 –

> class(data)[1] "mRMRe.Data"attr(,"package")[1] "mRMRe" 

所以数据已经是请求的类型,但代码仍然无法运行。

我的问题是,如果有人有使用这个包的经验,或者有任何帮助或评论,我将不胜感激!

还想指出,在链接中的示例中 – 当我加载数据时

cgps_ic50 -> cgps.ic50cgps_ge -> cgps.ge

所以数据的名称与示例中的名称不一样。


回答:

根据您编写的代码:

data(cgps)data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge))mRMR.ensemble(data, 1, rep.int(1, 30))

函数mRMR.ensemble接收数据作为第一个参数,但该函数的默认第一个参数是solution_count。

我理解您执行该示例的意图是使用经典的mRMR特征选择算法找到30个相关且非冗余的特征,因此请尝试这样做:

data(cgps)data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge))mRMR.ensemble(data = data, target_indices = 1,               feature_count = 30, solution_count = 1)

target_indices是原始数据框中用于最大化相关性(相关性或其他质量度量)的特征的位置,因此最终选择的特征将有助于解释target_indices中指示的特征。例如,在分类问题中,我们会选择类变量的位置作为target_indices参数的值。

feature_count参数表示要选择的变量数量。

solution_count不是经典mRMR的参数。它表示要组合的mRMR算法的数量,以获得最终的特征选择,因此如果设置为1,则仅执行一个经典mRMR。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注