これは
2日目の記事です。
titanic tutorialを終了すると、qiitaの記事でも多くの選択肢が提示されていますが公式のtutorialの流れに沿って進めると次におすすめするのは
です。このコースでの目標は2つ、特徴量を自分で作成することと回帰分析をできるようになることです。実際にチャレンジしてみましょう。
日本語化されたものも存在していますが情報についてもとと違う部分がありそうです。
英語版に従って解いていき、日本語版は参考に読むのが良いかと思います。
カテゴリ変数をdummy変数に置き換え(titanicと同様に)
新しく特徴量を作り
それらを回帰分析にかける
の流れとなりますが、実際のkernel(サンプルコード)を見ると新しく多くの関数が表示され圧倒されます。新しく出た関数についてコメントと参考コードを載せておきます。
tutorialが複数partに分かれているため、記事を連続したものを作ることで対応します。
最初のpartのtutorialでは、MI(相互情報量)について軽く触れています。高校数学の相関係数の応用と捉えることで納得できるでしょう。より正確な理解をするには、web上で相互情報量についての資料を探す必要がありますが、tutorialの簡単な説明を理解しておけば十分です。
困りそうな点
pandas.factorize()関数:
カテゴリデータを整数データ(離散データ)に置き換えます。前の記事のpandas.get_dummies()と似ていますが0と1の二値化ではありません。
name food
0 田中 ラーメン
1 佐藤 カレー
2 鈴木 ラーメン
3 山田 寿司
4 高橋 カレー
を
name food_code
0 田中 0
1 佐藤 1
2 鈴木 0
3 山田 2
4 高橋 1
に変換するイメージですね。
mutual_info_regressionについて
各特徴量がターゲット変数に対して持つ相互情報量(MI)を計算することになります。どの特徴が重要なのかを調べるためです。
from sklearn.feature_selection import mutual_info_regression
# X: 特徴量のデータ
# y: ターゲット変数
mi = mutual_info_regression(X, y)