2017-02-08 2 views
0

선형 모델을 사용하여 예측을 수행하려고합니다. 데이터가 2 열이고 데이터 (1,1) (2, .5), (3,3), (5,5,5) (6,7) (8,8) (9,9) (10,10)은 .. 내가은 rxpredict를 사용하여 누락 된 값을 예측합니다.

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

로 선형 모델에 맞게 다음

로 rxpredict 실행할 수 있습니다 지금 col2 01 경우의 값이됩니다 무엇 col1 값을 사용할 수없는 col2의 값, 예를 찾을 수있는 방법을 rxpredict의 결과 주어진
pd <- rxPredict(lm,data=test) 

, 패키지는 revoscaler

데이터

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) 

계산 시간

: 0.003 초 235,635,118,747,236,793,793,210 7.

업데이트입니다.

출력

> 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

재현 가능한 예와 패키지 이름 (RevoScaleR?) – akrun

+0

모델을 사용하여 주어진 x를 예측하여 x를 예측할 수는 없습니다. –

답변

0

나는 당신의 질문에 대답하려고합니다 어떻게이 rxpredict 출력에서 ​​데이터를 필터링 할 수 있습니다 단지 7의 예측 값을 얻으려면 다른 데이터를 사용하여 col1, col2 또는 데이터 프레임 행 인덱스를 참조 할 때 혼동을 피하기 위해. 지금

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 
012,351,641

자,

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

test이 같다고 가정하자

test data.frame (rxPredict으로 전화 할 때 사용 된 data.frame)에 col2 = 70이있을 때 예상 수치가 col1 인 경우를 원합니다. 당신은 다음을 수행 할 수 이제

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 

하면

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

그냥 명확히를, 새로운 입력 데이터 test2와 같은 선형 모델 lm를 사용하려면 상상 col2 = 25에 대한 col1의 예상 값을 test2 :

로 골라 내고 싶습니다.
pd2$col1_Pred[which(test2$col2 == 25)] 
[1] 50 
+0

그것은 나를 위해 일했습니다. 대단히 감사합니다. –

관련 문제