我使用R作为机器学习代码。我的项目场景如下所述。 我使用MongoDB进行数据库存储。在mongo db中,我每隔5分钟在该集合中有一个集合。添加了一个新文件。集合描述如下。
{
"_id" : ObjectId("521c980624c8600645ad23c8"),
"TimeStamp" : 1377605638752,
"cpuUsed" : -356962527,
"memory" : 2057344858,
"hostId" : "200.2.2.2"
}
现在我的问题是使用上述文件我想预测接下来的5分钟或10分钟或24小时。 cpuUsed和内存值。为此,我写下如下代码
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值。 如果有人知道请帮助我。 谢谢。
答案 0 :(得分:0)
预测的newdata
参数需要包含拟合中使用的变量:
new <- data.frame(memory = 1377678051, Date=as.Date("2013-08-28))
只有它实际上用于预测,否则你得到拟合值。
然后,您可以使用cbind
new
{{1}}预测值。