【发布时间】:2018-02-22 21:05:20
【问题描述】:
我是 R 的新用户,并尝试使用 mRMRe R 包(mRMR 是一种很好且众所周知的特征选择方法)从特征集中获取特征子集。如果我的问题很简单,请原谅,因为我真的想知道如何修复错误。下面是详细内容。
假设,我有一个 csv 文件 (gene.csv) 具有 6 个属性([G1.1.1.1]、[G1.1.1.2]、[G1.1.1.3]、[G1.1.1.4]、[G1.1.1.5]、@ 987654326@)和一个目标类变量[Output]('1'表示正类,'-1'代表负类)。这是一个示例gene.csv 文件:
[G1.1.1.1] [G1.1.1.2] [G1.1.1.3] [G1.1.1.4] [G1.1.1.5] [G1.1.1.6] [Output]
11.688312 0.974026 4.87013 7.142857 3.571429 10.064935 -1
12.538226 1.223242 3.669725 6.116208 3.363914 9.174312 1
10.791367 0.719424 6.115108 6.47482 3.597122 10.791367 -1
13.533835 0.37594 6.766917 7.142857 2.631579 10.902256 1
9.737828 2.247191 5.992509 5.992509 2.996255 8.614232 -1
11.864407 0.564972 7.344633 4.519774 3.389831 7.909605 -1
11.931818 0 7.386364 5.113636 3.409091 6.818182 1
16.666667 0.333333 7.333333 4.333333 2 8.333333 -1
我正在尝试获得 2 个属性(以上 6 个属性中)的最佳特征子集,并编写了以下 R 代码。
library(mRMRe)
file_n<-paste0("E:\\gene", ".csv")
df <- read.csv(file_n, header = TRUE)
f_data <- mRMR.data(data = data.frame(df))
featureData(f_data)
mRMR.ensemble(data = f_data, target_indices = 7,
feature_count = 2, solution_count = 1)
当我运行此代码时,我收到语句 f_data <- mRMR.data(data = data.frame(df)) 的以下错误:
Error in .local(.Object, ...) :
data columns must be either of numeric, ordered factor or Surv type
然而,csv文件每一列的数据都是实数。那么,我该如何更改R代码来解决这个问题呢?另外,我不确定语句mRMR.ensemble(data = f_data, target_indices = 7,feature_count = 2, solution_count = 1) 中target_indices 的值应该是什么,因为我的目标类变量名称是gene.csv 文件中的“[Output]”。
如果有人能帮助我使用 mRMRe R 包根据gene.csv 文件获得最佳特征子集,我将不胜感激。
【问题讨论】:
标签: r machine-learning data-science feature-selection