我使用R中的rpart包从训练数据中构建了一个决策树。现在我有更多数据,我想对照该树进行检查以检查模型。从逻辑上/迭代上,我想执行以下操作:
for each datapoint in new data
run point thru decision tree, branching as appropriate
examine how tree classifies the data point
determine if the datapoint is a true positive or false positive
我如何在R中做到这一点?
为了能够使用此功能,我假设您将训练集分为子训练集和测试集。
要创建训练模型,您可以使用:
model <- rpart(y~., traindata, minbucket=5) # I suspect you did it so far.
要将其应用于测试集:
pred <- predict(model, testdata)
然后,您将获得预测结果的向量。
在训练测试数据集中,您还将获得“真实”答案。假设训练集中的最后一列。
只需将它们相等即可得出结果:
pred == testdata[ , last] # where 'last' equals the index of 'y'
当元素相等时,您将获得TRUE,而当您获得FALSE时,则意味着您的预测是错误的。
pred + testdata[, last] > 1 # gives TRUE positive, as it means both vectors are 1
pred == testdata[, last] # gives those that are correct
看看您有多少正确率可能会很有趣:
mean(pred == testdata[ , last]) # here TRUE will count as a 1, and FALSE as 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句