查询在随机森林中分割火车和测试数据

时间:2018-02-21 10:07:56

标签: r machine-learning random-forest

我有一个包含15个变量和4669个观测值的数据框。

我使用随机森林进行建模。我的数据集中的目标是预测某个特定产品是否会被客户接受。

所以,我的输出变量的因子为“是”,“否”和“”。

我的问题是,我可以预测这个“”,在随机森林中是“是”还是“否”?

示例数据如下所示

Outputvar <- c("Yes", "Yes", "No", "NO", "", "")
Inputvar1 <- c("M", "F", "F", "M", "F", "M")
Inputvar2 <- c("34","25","40","50","60","34")
data <- data.frame(cbind(Outputvar,Inputvar2,Inputvar1))

我是R的新手,如果我的理解是错的,那么任何人都可以向我解释可以做些什么吗?

编辑:这是我迄今为止尝试过的代码

library(RandomForest)
data$outvar <- factor(data$outputvar, exclude = NULL)
ind0 <- sample(2, nrow(data), replace = TRUE, prob = c(0.7,0.3))
train0 <- data[ind0==1, ]
test0 <-  data[ind0==2, ]
fit1 <- randomForest(outputvar1~., data=train0)
print(fit1)
plot(fit1)

EDIT2: NO:3536 是的:1061 “”:72

1 个答案:

答案 0 :(得分:1)

  

我的数据集中的目标是预测某个特定产品是否会被客户接受。

     

所以,我的输出变量的因子为&#34;是&#34;,&#34;否&#34;和&#34;&#34;。

好吧,没有。这里的实际背景是:

您的输出变量只有两个因素,&#34;是&#34; &安培; &#34;否&#34 ;;并且您的可用数据集中有一部分您没有结果的价值(&#34;&#34;)并且您想预测它。

  

我的问题是,我是否可以预测这个&#34;&#34; ,随机森林中的是或否?

原则上,是的 - 这正是制作分类器,例如随机森林。一般来说,您需要仅使用结果(是/否)确实可用的样本来训练您的模型(训练集,您可以将其作为测试集的子集,以评估您的模型性能) ;之后,您可以在数据集的其余部分使用predict,以便预测结果。

当然,这只是一个复合过程的4行摘要,其中涉及许多步骤和子步骤,这里无法详细分析,但希望能为您提供(非常)高级别的问题视图(可以说,这就是你所要求的)。我对your other relevant question的回答也应该有用。