首页 文章

使用R中的FSelector减少数据集

提问于
浏览
0

我是R的新手,我想用它来对我拥有的数据集执行特征选择 . 我找到了FSelector包 . 我看了一下手册,但我有些疑惑 .

data(iris)
weights <- relief(Species~., iris, neighbours.count = 5, sample.size = 20)
subset <- cutoff.k(weights, 2)
f <- as.simple.formula(subset, "Species")

此示例使用Relief方法计算每个变量的重要性 . 最后一行创建一个公式:“class = feature1 feature2 ... featureN” . 现在,给定所选特征的子集(一个字符数组),我如何从虹膜创建一个新的数据集,它只包含那些变量(即一个包含2列的矩阵)?

1 回答

  • 2

    如果我理解正确,你可以使用 cutoff.k 的结果获取虹膜的子集,因为它返回一个带有你想要保留的变量名称的向量:

    newdata <-  iris[,cutoff.k(weights, 2)]
    

    这里 [] 命令用于获取虹膜的子集,在这种情况下,只有 cutoff.k 结果中名称的列(行/列表示如下: [rows,columns] ) .

    得到 matrix 而不是 data.frameas.matrix(iris[,cutoff.k(weights, 2)])

相关问题