从不同来源粘贴代码时RF预测的差异

我正在玩弄“caret”包中的德国信贷数据集。

首先,我构建了一个非常简单的模型:

library(caret)library(randomForest)library(pmml)data(GermanCredit)GermanCredit <- GermanCredit[, -nearZeroVar(GermanCredit)]GermanCredit$CheckingAccountStatus.lt.0 <- NULLGermanCredit$SavingsAccountBonds.lt.100 <- NULLGermanCredit$EmploymentDuration.lt.1 <- NULLGermanCredit$EmploymentDuration.Unemployed <- NULLGermanCredit$Personal.Male.Married.Widowed <- NULLGermanCredit$Property.Unknown <- NULLGermanCredit$Housing.ForFree <- NULLset.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)

现在,如果我在测试集上预测结果Class,并多次进行,然后比较结果:

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) 

我发现所有三次预测的结果都是相同的。现在,我是通过在RStudio解释器中手动输入代码来做的。但是,如果我从我的文本编辑器中复制粘贴代码(我在这里发布过:https://gist.github.com/anonymous/32b3c8194362d2e10527),我会得到一个错误消息,称在第二次和第三次比较中有3个字符串差异!

这是怎么可能的?


回答:

尝试使用caret的train函数:

credit.rf <- train(Class~., data = GermanCreditTrain, method="rf")

而不是

credit.rf <- randomForest(Class~., data = GermanCreditTrain, ntree = 500)

我能够重现这个问题,但不确定是什么原因导致的。然而,上述方法在粘贴时似乎有效:

credit.rf <- train(Class~., data = GermanCreditTrain, method="rf")> > credit.pred1 <- predict(credit.rf, GermanCreditTest)> credit.pred2 <- predict(credit.rf, GermanCreditTest)> credit.pred3 <- predict(credit.rf, GermanCreditTest)> > all.equal(credit.pred1, credit.pred2)[1] TRUE> all.equal(credit.pred2, credit.pred3)[1] TRUE> all.equal(credit.pred1, credit.pred3)[1] TRUE

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注