【发布时间】:2014-10-21 06:56:29
【问题描述】:
我正在使用“caret”包中的 German Credit 数据集。
首先,我建立一个非常简单的模型:
library(caret)
library(randomForest)
library(pmml)
data(GermanCredit)
GermanCredit <- GermanCredit[, -nearZeroVar(GermanCredit)]
GermanCredit$CheckingAccountStatus.lt.0 <- NULL
GermanCredit$SavingsAccountBonds.lt.100 <- NULL
GermanCredit$EmploymentDuration.lt.1 <- NULL
GermanCredit$EmploymentDuration.Unemployed <- NULL
GermanCredit$Personal.Male.Married.Widowed <- NULL
GermanCredit$Property.Unknown <- NULL
GermanCredit$Housing.ForFree <- NULL
set.seed(100)
inTrain <- createDataPartition(GermanCredit$Class, p = .8)[[1]]
GermanCreditTrain <- GermanCredit[ inTrain, ]
GermanCreditTest <- GermanCredit[-inTrain, ]
set.seed(1056)
credit.rf <- randomForest(Class~., data = GermanCreditTrain, ntree = 500)
现在,如果我在测试集上预测结果类,并这样做几次,然后比较结果:
credit.pred1 <- predict(credit.rf, GermanCreditTest)
credit.pred2 <- predict(credit.rf, GermanCreditTest)
credit.pred3 <- predict(credit.rf, GermanCreditTest)
all.equal(credit.pred1, credit.pred2)
all.equal(credit.pred2, credit.pred3)
all.equal(credit.pred1, credit.pred3)
我对所有 3 次传球都得到了相同的预测。现在,我通过在 RStudio 解释器中手动输入代码来实现这一点。但是,如果我从我的文本编辑器(我在这里发布:https://gist.github.com/anonymous/32b3c8194362d2e10527)复制粘贴代码,我会收到一条错误消息,指出第二个和第三个比较中有 3 个字符串差异!
这怎么可能?
【问题讨论】:
-
您可能在文本编辑器中打错字了。
-
不,将它们与 WinMerge 进行了多次比较。
标签: r machine-learning random-forest