我在R中使用randomForest包并使用虹膜数据,生成的随机森林是一个分类,但是当我使用具有约700个要素(要素为28x28像素图像中的每个像素)的数据集时,标签列被命名为label
,randomForest
生成的是回归。我正在使用以下行:
rf <- randomForest(label ~ ., data=train)
为什么使用回归而不是分类?数据通过读取read.csv()
。
我在R中使用randomForest包并使用虹膜数据,生成的随机森林是一个分类,但是当我使用具有约700个要素(要素为28x28像素图像中的每个像素)的数据集时,标签列被命名为label
,randomForest
生成的是回归。我正在使用以下行:
rf <- randomForest(label ~ ., data=train)
为什么使用回归而不是分类?数据通过读取read.csv()
。
Answers:
这通常是因为您没有告诉R标签是一个类别变量。该read.csv
函数尝试猜测每列要使用的类型,如果它看起来像数字列,则将使用它。您可以使用str
函数检查R如何存储变量。您可以使用参数强制read.csv
将变量作为因子(或数字或...)读取colClasses
。或者,您可以在使用该factor
功能阅读完标签后将标签更改为一个因子。
如果不是这种情况,那么我们需要有关您的数据的更多信息。str
在数据框上运行的结果可能会很有用。