範囲に制約された予測
モデル予測を 0 と 1 の間に制約する応答関数が必要なため、glm() 関数を使います。この効果をグラフで確認しましょう。ただし、今回は直線ではなく曲線を描きます!
まず、HOPPINESS ~ price.ratio の関係をプロットします。curve() を使うとプロットにロジスティック関数を追加できます。curve() は、指定した関数を x の各点で評価する関数です。ここで使う関数は predict() です!predict() は、logistic.model の係数を取得し、データフレームオブジェクトで指定した値に対する予測を行います。コツは、data.frame 引数で price.ratio = x と設定することです。これにより、予測されたデータ値を通る曲線が当てはまります。
この演習はコースの一部です
Rで学ぶレスポンスモデル構築
演習の手順
plot()関数を使って、HOPPINESSとprice.ratioの関係を表示します。data.frame引数にprice.ratioを指定して、logistic.modelに対してpredict()関数を適用し、Hoppiness の購入確率を取得します。curve()関数を使って、予測されたデータ値を通る曲線を当てはめます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Plot HOPPINESS against price.ratio
___(___, data = choice.data)
# Add the logistic response function
___(___(___, data.frame(___), type = "response"), add = TRUE)