我正在尝试使用randomForest根据一小部分数据对一组数据进行分类 '培训数据'。我一直收到错误
"Error in predict(forest, ubertable, type = "prob") :
argument "forest" is missing, with no default"
'forest'应该是一个运行整个森林的列表,但这意味着什么?这是否意味着训练集?还是整个数据集?
代码(对不起,如果很长)如下:
function(ubertable, forest, perf=NULL, order.by = "percent") {
require(randomForest)
my.pred = predict(forest, ubertable, type="prob")
ubertable$RF_Score = my.pred[,2]
if (is.null(perf)) {
cat("No perf object available; cannot make explicit predictions. Doing rankings
only! \n")
} else {
cat("Calculating exact operating point\n")
my.alpha = calculate.operating.parameters(perf=perf, method="frequency")$op
ubertable$RF_Prediction = ifelse(my.pred[,2] <= my.alpha, "Call", "Noise")
}
ubertable2 = ubertable[0, ]
ubertable2$RF_Rank_Within_Day = numeric()
for (day in unique(ubertable$Begin.File)) {
subtable = ubertable[ubertable$Begin.File == day, ]
subtable = subtable[order(subtable$RF_Score), ]
subtable$RF_Rank_Within_Day = 1:nrow(subtable)
ubertable2 = rbind(ubertable2, subtable)
}
if(order.by == "percent") {
ubertable2 = ubertable2[order(ubertable2$Random.Percent, ubertable2$Begin.File), ]
} else if (order.by == "rank_within_day") {
ubertable2 = ubertable2[order(ubertable2$RF_Rank_Within_Day), ]
} else {
stop(paste("unknown value for order.by:", order.by))
}
ubertable2
}
如果它有助于我的数据如下:
Call vs Noise: Noise Noise Noise Noise Call Call Call
Random.Percent: 1 2 6 22 55 71 4
Begin.File: foo.wav foo.wav foo.wav foo.wav (etc)
...
Many other columns with spectroscopy info.
我无法上传数据集,但如果需要,我可以发送电子邮件。
为什么我会收到此错误,我该怎么做才能修复它?