R での tidymodels によるモデリング
David Svancer
Data Scientist
ctyを予測変数としてhwyを予測する
$$hwy = \beta_{0} + \beta_{1} cty$$
モデルパラメータ
ctyを予測変数としてhwyを予測する
$$hwy = \beta_{0} + \beta_{1} cty$$
モデルパラメータ
訓練データからの推定パラメータ
$$\small hwy = 0.77 + 1.35(cty)$$
parsnipのモデル式
一般形
outcome ~ predictor_1 + predictor_2 + ...
短縮表記
outcome ~ .
ctyを予測変数としてhwyを予測する
hwy ~ cty
Rにおけるモデル仕様の統一構文
モデルタイプを指定する
エンジンを指定する
モードを指定する
parsnipでモデル仕様を定義する
linear_reg()
lm_modelをfit()関数に渡す
data
lm_model <- linear_reg() %>%set_engine('lm') %>%set_mode('regression')
lm_fit <- lm_model %>%
fit(hwy ~ cty, data = mpg_training)
tidy()関数
parsnipモデルオブジェクトを受け取るterm列とestimate列が推定パラメータを提供する
tidy(lm_fit)
# A tibble: 2 x 5
term estimate std.error statistic p.value
<chr> <dbl> <dbl> <dbl> <dbl>
1 (Intercept) 0.769 0.528 1.46 1.47e- 1
2 cty 1.35 0.0305 44.2 6.32e-97
学習済みparsnipモデルをpredict()関数に渡す
new_dataで予測対象のデータセットを指定する
predict()の標準化された出力
new_data入力と同じ行順を保持する.predと命名するhwy_predictions <- lm_fit %>% predict(new_data = mpg_test)hwy_predictions
# A tibble: 57 x 1
.pred
<dbl>
1 25.0
2 27.7
3 25.0
4 25.0
5 22.3
# ... with 47 more rows
bind_cols()関数
手順
mpg_testからhwyとctyを選択するbind_cols()に渡して予測列を追加するmpg_test_results <- mpg_test %>% select(hwy, cty) %>%bind_cols(hwy_predictions) mpg_test_results
# A tibble: 57 x 3
hwy cty .pred
<int> <int> <dbl>
1 29 18 25.0
2 31 20 27.7
3 27 18 25.0
4 26 18 25.0
5 25 16 22.3
# ... with 47 more rows
R での tidymodels によるモデリング