r - 使用 R 线性回归进行机器学习

标签 r machine-learning

我使用 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 值用于预测值。 如果有人知道请帮助我。 谢谢。

最佳答案

newdata预测的参数需要包含拟合中使用的变量:

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

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

然后您可以cbind new 的预测值.

关于r - 使用 R 线性回归进行机器学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18484025/

相关文章:

machine-learning - 让梯度下降在倍频程中工作。 (Andrew ng 的机器学习类(class),练习 1)

r - 更改箭头的箭头()

python-3.x - 用于各种维度输入的高效 PyTorch DataLoader collat​​e_fn 函数

主面板的 Rstudio Shiny 条件面板

r - 从 netcdf 文件 "increasing x y values expected"绘制数据时出错

python - Tensorflow:有没有办法将训练损失存储在 tf.Estimator 中

python-3.x - 如何在 scikit-learn 中编写自定义转换器,以有条件地在不同类之间切换

python-3.x - scikit-learn FunctionTransformer 的用途是什么?

r - 包 RQuantLib 不适用于 R 3.5.0

RMarkdown Reveal.js 演示代码折叠