1

我将 R 用于机器学习代码。我的项目场景如下所述。我使用 MongoDB 进行数据库存储。在 mongo db 中,我每 5 分钟在该集合中有一个集合。添加了一份新文件。集合说明如下。

 {
"_id" : ObjectId("521c980624c8600645ad23c8"),
"TimeStamp" : 1377605638752,
"cpuUsed" : -356962527,
"memory" : 2057344858,
"hostId" : "200.2.2.2"
 }

现在我的问题是使用上述文件我想预测接下来的 5 分钟或 10 分钟或 24 小时。cpuUsed 和内存值。为此,我编写如下 R 代码

library('RMongo')
mg1 <- mongoDbConnect('dbname')
query <- dbGetQuery(mg1,'test',"{'hostId' : '200.2.2.2'}")
data1 <- query[]
cpu <- query$cpuUtilization
memory <- query$memory
new <- data.frame(data=1377678051) # set timestamp for calculating results
predict(lm(cpu ~   data1$memory + data1$Date ), new, interval="confidence")

但是,当我执行上面的代码时,它会显示以下输出

           fit        lwr       upr
    1    427815904  -37534223 893166030
    2   -110791661 -368195697 146612374
    3    137889445 -135982781 411761671
    4   -165891990 -445886859 114102880
    .
    .
    .
    n    

使用这个输出我不知道哪个 cpuUsed 值用于预测值。如果有人知道请帮助我。谢谢你。

4

1 回答 1

0

predict的newdata参数需要包含 fit 中使用的变量:

new <- data.frame(memory = 1377678051, Date=as.Date("2013-08-28))

只有这样它才能真正用于预测,否则你会得到拟合值。

然后,您可以cbind使用 预测值new

于 2013-08-28T12:59:07.523 回答