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”。现在,给定所选特征的子集(一个字符数组),我如何从 iris 创建一个新数据集,它只包含那些变量(即一个有 2 列的矩阵)?

4

1 回答 1

2

如果我理解正确,您可以使用 的结果获取 iris 的子集cutoff.k,因为它会返回一个向量,其中包含您要保留的变量的名称:

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

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

要获得 amatrix而不是 a data.frameas.matrix(iris[,cutoff.k(weights, 2)])

于 2013-09-03T10:05:17.367 回答