【发布时间】:2012-12-18 02:00:03
【问题描述】:
我正在尝试使用 randomForest 进行分类,但我反复收到一条错误消息,似乎没有明显的解决方案(randomForest 在过去对我进行回归时效果很好)。我在下面粘贴了我的代码。 “成功”是一个因素,所有因变量都是数字。关于如何正确运行此分类的任何建议?
> rf_model<-randomForest(success~.,data=data.train,xtest=data.test[,2:9],ytest=data.test[,1],importance=TRUE,proximity=TRUE)
Error in randomForest.default(m, y, ...) :
NA/NaN/Inf in foreign function call (arg 1)
另外,这里是数据集的一个示例:
头部(数据)
success duration goal reward_count updates_count comments_count backers_count min_reward_level max_reward_level
True 20.00000 1500 10 14 2 68 1 1000
True 30.00000 3000 10 4 3 48 5 1000
True 24.40323 14000 23 6 10 540 5 1250
True 31.95833 30000 9 17 7 173 1 10000
True 28.13211 4000 10 23 97 2936 10 550
True 30.00000 6000 16 16 130 2043 25 500
【问题讨论】:
-
没有完全可重现的例子,没有。至少,我会 (1) 检查您的数据中是否没有 NA 值,并 (2) 运行
traceback()以查看您是否可以获得有关错误发生位置的更多详细信息。 -
尝试将“成功”值更改为物种名称而不是“真”。你能告诉我们 srt(data) 的输出吗??
-
看来您已经接受了答案;我遇到了这个问题,发现对于分类,这是因为我的响应变量是
chr类。要么做data$var <- as.factor(data$var),要么用randomForest(as.factor(data$var) ~ ., ...)预测为我解决了这个问题。 -
使用
lapply(your_data, class)并检查是否有“字符”类的观察结果
标签: r classification data-analysis random-forest