randomForest选择回归而不是分类


12

我在R中使用randomForest包并使用虹膜数据,生成的随机森林是一个分类,但是当我使用具有约700个要素(要素为28x28像素图像中的每个像素)的数据集时,标签列被命名为labelrandomForest生成的是回归。我正在使用以下行:

rf <- randomForest(label ~ ., data=train)

为什么使用回归而不是分类?数据通过读取read.csv()

Answers:


10

randomForest将默认为分类或回归,具体取决于变量的类别。所以如果你输入

class(iris$Species)

您会看到这是一个因素。代码中的“标签”很可能是数字,因此randomForest默认为回归。您将需要将其转换为分类因素。您可以通过在read.table中设置colClasses来将其转换或作为因素读取。


4

这通常是因为您没有告诉R标签是一个类别变量。该read.csv函数尝试猜测每列要使用的类型,如果它看起来像数字列,则将使用它。您可以使用str函数检查R如何存储变量。您可以使用参数强制read.csv将变量作为因子(或数字或...)读取colClasses。或者,您可以在使用该factor功能阅读完标签后将标签更改为一个因子。

如果不是这种情况,那么我们需要有关您的数据的更多信息。str在数据框上运行的结果可能会很有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.