使用rxpredict预测缺失值

时间:2017-02-08 10:39:40

标签: r

我正在尝试使用线性模型进行预测,考虑一个包含2列并跟随数据(1,1)(2,.5),(3,3),(4,5),(5,5)的数据集,5)(6,7)(8,8)(9,9)(10,10)..我可以拟合线性模型

lm <- rxlinMod(col1~col2, data=test)

然后将rxpredict作为

运行
pd <- rxPredict(lm,data=test)

根据rxpredict的结果,我现在如何找到col2 col1值不可用的值,例如col2的值是col1 col1,col2 1,1 2,2 3,3 4,4 5,5 6,6 8,8 9,9 10,10 infile <- file.path("C:/R-Spark", "test.csv") test <- rxImport(infile) library(rpart) lm <- rxLinMod(col1 ~ col2, data = test) rxPredict(lm,data = test) 是7。

更新 包装是revoscaler

数据

> rxPredict(lm,data = test)
Rows Read: 10, Total Rows Processed: 10, Total Chunk Time: 0.002 seconds 
   col1_Pred
1          1
2          2
3          3
4          4
5          5
6          6
7          7
8          8
9          9
10        10

计算时间:0.003秒。

输出

#if

问题: 现在,如果我想获得仅7的预测值,我如何从rxpredict输出中过滤数据

1 个答案:

答案 0 :(得分:0)

我会尝试使用不同的数据回答您的问题,以避免在引用col1col2或数据框行索引的值时出现混淆。

所以,我们假设

test <- data.frame(col1=seq(20,200,20), col2=seq(10,100,10))

test看起来像这样:

test
   col1 col2
1    20   10
2    40   20
3    60   30
4    80   40
5   100   50
6   120   60
7   140   70
8   160   80
9   180   90
10  200  100

现在:

lm <- rxLinMod(col1~col2, data=test)
pd <- rxPredict(lm,data=test)

所以

pd
   col1_Pred
1         20
2         40
3         60
4         80
5        100
6        120
7        140
8        160
9        180
10       200

现在,如果您希望col1 data.frame(调用col2 = 70时使用的data.frame)test时的预测rxPredict值。您可以执行以下操作:

pd$col1_Pred[which(test$col2 == 70)]
[1] 140

只是为了澄清一下,想象一下你想对新的输入数据lm使用相同的线性模型test2

test2 <- data.frame(col2=c(15, 25, 35))

test2
  col2
1   15
2   25
3   35

现在:

pd2 <- rxPredict(lm,data=test2)

pd2
  col1_Pred
1        30
2        50
3        70

如果您希望在col1中挑出col2 = 25的预测test2值:

pd2$col1_Pred[which(test2$col2 == 25)]
[1] 50