1. Learn
  2. /
  3. คอร์ส
  4. /
  5. Rで学ぶ caret を使った Machine Learning

Connected

แบบฝึกหัด

ロジスティック回帰モデルを当てはめる

ランダムに作成した学習用セットとテストセットが用意できたら、glm() 関数を使って学習用セットにロジスティック回帰モデルを当てはめます。glm() は lm() の発展版で、通常の最小二乗回帰以外にも、さまざまな回帰モデルに対応しています。

ロジスティック回帰(線形回帰ではなく)を行うには、必ず glm() に引数 family = "binomial" を渡してください。例:

glm(Target ~ ., family = "binomial", dataset)

glm.fit: algorithm did not converge や glm.fit: fitted probabilities numerically 0 or 1 occurred といった警告は心配しなくて大丈夫です。これは小規模なデータセットでよく見られ、通常は問題になりません。典型的にはデータセットが「完全に分離可能」であることを示し、モデルの背後にある数理にとっては都合が悪い場合がありますが、R の glm() 関数はこのケースにもたいてい十分にロバストに対応できます。

データセットに glm() モデルを当てはめたら、predict() 関数に引数 type = "response" を指定して、test セット上で(例:rock か mine かの)予測を行えます:

predict(my_model, test, type = "response")

คำแนะนำ

100 XP
  • 学習用の Sonar を使い、他のすべての変数を説明変数として Class を予測するロジスティック回帰を model という名前で当てはめてください。
  • そのモデルで test セットに対して予測を行い、結果をこれまでと同様に p と名付けてください。