8.2 ore.predict関数の使用
次の例では、ore.predict関数の使用方法を示します。
               
例8-1 線形回帰モデルでのore.predict関数の使用方法
この例では、iris data.frameでlm関数を使用して、線形回帰モデルirisModelを構築します。データセットを一時表IRISおよび対応するore.frameプロキシIRISとしてデータベースにプッシュします。このモデルでore.predictを呼び出してモデルをスコアリングし、予測をIRIS ore.frameオブジェクトと結合します。最後に、結果のオブジェクトの最初の6行を表示します。
                  
IRISModel <- lm(Sepal.Length ~ ., data = iris)
IRIS <- ore.push(iris)
IRIS_pred <- ore.predict(IRISModel, IRIS, se.fit = TRUE, 
                            interval = "prediction")
IRIS <- cbind(IRIS, IRIS_pred)
head(IRIS)この例のリスト
R> IRISModel <- lm(Sepal.Length ~ ., data = iris) R> IRIS <- ore.push(iris) R> IRIS_pred <- ore.predict(IRISModel, IRIS, se.fit = TRUE, + interval = "prediction") R> IRIS <- cbind(IRIS, IRIS_pred) R> head(IRIS) Sepal.Length Sepal.Width Petal.Length Petal.Width Species PRED SE.PRED 1 5.1 3.5 1.4 0.2 setosa 5.004788 0.04479188 2 4.9 3.0 1.4 0.2 setosa 4.756844 0.05514933 3 4.7 3.2 1.3 0.2 setosa 4.773097 0.04690495 4 4.6 3.1 1.5 0.2 setosa 4.889357 0.05135928 5 5.0 3.6 1.4 0.2 setosa 5.054377 0.04736842 6 5.4 3.9 1.7 0.4 setosa 5.388886 0.05592364 LOWER.PRED UPPER.PRED 1 4.391895 5.617681 2 4.140660 5.373027 3 4.159587 5.386607 4 4.274454 5.504259 5 4.440727 5.668026 6 4.772430 6.005342 R> head(IRIS) Sepal.Length Sepal.Width Petal.Length Petal.Width Species PRED SE.PRED LOWER.PRED UPPER.PRED 1 5.1 3.5 1.4 0.2 setosa 5.004788 0.04479188 4.391895 5.617681 2 4.9 3.0 1.4 0.2 setosa 4.756844 0.05514933 4.140660 5.373027 3 4.7 3.2 1.3 0.2 setosa 4.773097 0.04690495 4.159587 5.386607 4 4.6 3.1 1.5 0.2 setosa 4.889357 0.05135928 4.274454 5.504259 5 5.0 3.6 1.4 0.2 setosa 5.054377 0.04736842 4.440727 5.668026 6 5.4 3.9 1.7 0.4 setosa 5.388886 0.05592364 4.772430 6.005342
例8-2 一般化線形回帰モデルでのore.predict関数の使用方法
この例では、infertデータセットを使用して一般化線形モデルを構築した後、そのモデルでore.predict関数をコールします。
                  
infertModel <-
  glm(case ~ age + parity + education + spontaneous + induced,
  data = infert, family = binomial())
INFERT <- ore.push(infert)
INFERTpred <- ore.predict(infertModel, INFERT, type = "response",
                          se.fit = TRUE)
INFERT <- cbind(INFERT, INFERTpred)
head(INFERT)この例のリスト
R> infertModel <-
+   glm(case ~ age + parity + education + spontaneous + induced,
+   data = infert, family = binomial())
R> INFERT <- ore.push(infert)
R> INFERTpred <- ore.predict(infertModel, INFERT, type = "response",
+                           se.fit = TRUE)
R> INFERT <- cbind(INFERT, INFERTpred)
R> head(INFERT)
  education age parity induced case spontaneous stratum pooled.stratum
1    0-5yrs  26      6       1    1           2       1              3
2    0-5yrs  42      1       1    1           0       2              1
3    0-5yrs  39      6       2    1           0       3              4
4    0-5yrs  34      4       2    1           0       4              2
5   6-11yrs  35      3       1    1           1       5             32
6   6-11yrs  36      4       2    1           1       6             36
       PRED    SE.PRED
1 0.5721916 0.20630954
2 0.7258539 0.17196245
3 0.1194459 0.08617462
4 0.3684102 0.17295285
5 0.5104285 0.06944005
6 0.6322269 0.10117919
例8-3 ore.modelモデルでのore.predict関数の使用方法
この例では、irisデータセットを一時表IRISおよび対応するore.frameプロキシIRISとしてデータベースにプッシュします。ore.lm関数を使用して線形回帰モデルIRISModel2を構築します。モデルをスコアリングし、列がIRISに追加します。
                  
IRIS <- ore.push(iris) IRISModel2 <- ore.lm(Sepal.Length ~ ., data = IRIS) IRIS$PRED <- ore.predict(IRISModel2, IRIS) head(IRIS, 3)
この例のリスト
R> IRIS <- ore.push(iris) R> IRISModel2 <- ore.odmGLM(Sepal.Length ~ ., data = IRIS) R> IRIS$PRED <- ore.predict(IRISModel, IRIS) R> head(IRIS, 3) Sepal.Length Sepal.Width Petal.Length Petal.Width Species PRED 1 5.1 3.5 1.4 0.2 setosa 5.004788 2 4.9 3.0 1.4 0.2 setosa 4.756844 3 4.7 3.2 1.3 0.2 setosa 4.773097
親トピック: Rモデルでの予測