RDi*_*zl3 2 r machine-learning feature-selection
我目前正在开展一个项目,我必须做一些功能选择来构建预测模型.我被引导到R中的一个包叫mRMRe.我只是想尝试这个例子但是无法让它工作.这个例子可以在这里找到 - http://www.inside-r.org/packages/cran/mRMRe/docs/mRMR.ensemble.
这是我的代码 -
data(cgps)
data <- data.frame(target=cgps.ic50, cgps.ge)
mRMR.ensemble(data, 1, rep.int(1, 30))
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到错误 -
Error in .local(.Object, ...) : data must be of type mRMRe.Data.
Run Code Online (Sandbox Code Playgroud)
我进一步挖了一个垃圾,发现你实际上必须将数据转换成mRMR.Data类型.所以我做了这个更新 -
# Update
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge))
mRMR.ensemble(data, 1, rep.int(1, 30))
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的错误.当我看到我有的课 -
> class(data)
[1] "mRMRe.Data"
attr(,"package")
[1] "mRMRe"
Run Code Online (Sandbox Code Playgroud)
所以数据是请求的类型,但代码仍然不起作用.
我的问题是,如果有人有使用此软件包的经验或任何帮助或评论将不胜感激!
还要注意在链接的例子中 - 当我加载数据时
cgps_ic50 -> cgps.ic50
cgps_ge -> cgps.ge
Run Code Online (Sandbox Code Playgroud)
所以数据的名称与示例中的名称不同.
小智 5
使用您编写的代码:
data(cgps)
data <- mRMR.data(data = data.frame(target=cgps.ic50, cgps.ge))
mRMR.ensemble(data, 1, rep.int(1, 30))
Run Code Online (Sandbox Code Playgroud)
函数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)
Run Code Online (Sandbox Code Playgroud)
的target_indices是在用于最大化相关性(相关或其他质量度量针对此问题)的特征的原始data.frame的位置,从而在所述经选择的端部将是良好的用于说明target_indices指出的特征.例如,在分类问题中,我们将选择类变量的位置作为target_indices参数的值.
feature_count参数指示要选择的变量数.
solution_count不是经典mRMR的参数.它表示要组合以获得最终特征选择的mRMR算法的数量,因此如果设置为1,则它仅执行一个经典mRMR.
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |