相同的代码,不同的计算机,不同的结果

时间:2019-04-03 18:43:17

标签: r compilation

我写了一个显示混乱矩阵的代码。当我在一台计算机上运行代码时,得到的结果与另一台计算机略有不同。我在3台计算机上尝试过,两台计算机匹配,而第一台计算机给出的答案与其他两台计算机不同。

我尝试重置垃圾收集器,删除了所有对象。唯一可行的解​​决方案是设置种子,即使算法中没有随机化。

mydata=read.csv("dividendinfo.csv")
normalize <- function(x) {
  return ((x - min(x)) / (max(x) - min(x)))
}
maxmindf <- as.data.frame(lapply(mydata, normalize))
trainset <- maxmindf[1:160, ]
testset <- maxmindf[161:200, ]
library(neuralnet)
nn <- neuralnet(dividend ~ fcfps + earnings_growth + de + mcap + current_ratio, data=trainset, hidden=c(2,1), linear.output=FALSE, threshold=0.01)
nn$result.matrix
temp_test <- subset(testset, select = c("fcfps","earnings_growth", "de", "mcap", "current_ratio")) 
nn.results <- compute(nn, temp_test)
results <- data.frame(actual = testset$dividend, prediction =nn.results$net.result)
roundedresults<-data.frame(sapply(results,round,digits=0))
CM=table(actual=roundedresults$actual,prediction=roundedresults$prediction)

预期结果是


        0  1
     0 17  0
     1  3 20

实际结果是


        0  1
     0 17  0
     1  4 19

0 个答案:

没有答案