スキルアップしたい

【kaggle入門】データ理解編:2変数間の散布図で関係性を把握する【40歳からのプログラミング】

【kaggle】データ理解編:2変数間の散布図で関係性を把握する【40歳からのプログラミング】

kaggleにトライする際、いきなりデータモデルを作成するのではなく、まずはデータの内容を理解する事が重要です。

このエントリーでは、2変数間の散布図をまとめて作成して、全体の項目同士の関係性をざっと把握する方法を記載してみたいと思います。

使用するデータ

今回使用したのは、kaggleの古典的問題「Titanic: Machine Learning from Disaster」です。

Titanic号の乗客データを元に、誰が生き残るかを予測するというもの。

以降、イチからまとめてみたいと思います。

具体的なコーディング例

必要なライブラリの読み込み

まずはデータ可視化ライブラリ「Matplotlib」を「plt」として読み込みます。

train.csvの読み込み

あらかじめ用意されているtrainデータ「train.csv」を「df_train」として読み込みます。

ヘッダーの確認

読み込んだ「df_train(=train.csv)」のヘッダー情報をざっと確認してみます。

▼クリックで拡大▼

SurvivedやPclass、Name、Sex、Ageといった特徴量が11個あることが分かります。

(Passengeridはindex)

特徴量間の散布図の作成

特徴量間の散布図を作成してみます。

▼クリックで拡大▼

散布図が右肩上がりになれば正の相関、右下下がりになれば負の相関があるはずなのですが、残念ながら今回の特徴量間には強い相関は見られないようです。

【kaggle】データ理解編:2変数間の散布図で関係性を把握する【40歳からのプログラミング】まとめ

ここまでの全コードをまとめると以下です。

ここからは、実際に私が購入し、おすすめできると思った本を紹介してみたいと思います。

 

機械学習のための「前処理」入門

まずはこちら。「機械学習のための『前処理』入門」です。

  • これから機械学習を始めてみたい
  • kaggleやSIGNATEにチャレンジしてみたい

という方には最適な本。個人的には一番のおすすめです。

データモデルの精度向上には特徴量エンジニアリングが不可欠。というかこれが全てと言っても過言ではないのですが、各種環境準備の方法やコーディングの詳細に至るまで、誰にでも分かりやすく書かれていますので、この一冊があれば、とりあえずkaggleにトライすることができます。

 

スラスラ読める Pythonふりがなプログラミング

Pythonのコーディングが、全てふりがなで解説されている、究極に親切な解説本です。

  • 「機械学習のための『前処理』入門」は、自分には難しすぎた
  • 英語アレルギーがありpythonコードに触れることすらできない

という方は、まずはこちらをご一読される事をおすすめします。

※但し、慣れてきたらすぐに上記「機械学習のための『前処理』入門」に移行される事をおすすめします。

 

仕事ではじめる機械学習

定番のオライリーです。

こちらはkaggleやSIGNATEなどのコンペティションというよりは、機械学習をビジネスで生かしていくためにはどうすれば良いか?という観点の内容が充実しています。

pythonコードの記述に留まらず、

  • 機械学習プロジェクトを成功させるにはどうすれば良いか
  • KKD(勘・経験・度胸)を掲げる抵抗勢力とはどう付き合うべきか

というような、実務に即した内容は個人的には本当に参考になったのですが、オライリーは初心者にはかなり敷居が高いので、まずは本屋で立ち読みして、レベル感をチェックしてみるのが良いと思います。

 

人工知能は人間を超えるか

pythonのコーディングからは離れますが、もしこの本を読んでいない人がいたら必ず一度は目を通しておいた方が良いです。

この界隈では有名な、東大の松尾豊先生の著書「人工知能は人間を超えるか」。

いわゆるAI・人工知能、機械学習といった昨今のキーワードを中心に、過去の歴史からここ最近の動き、今後の動向に至るまでを、平易な表現で丁寧に解説されています。

また日本ディープラーニング協会が開催する「ディープラーニング ジェネラリスト検定(通称:G検定)」の推薦図書の一つでもあります。

全てのビジネスマンにおすすめできる一冊。中古でもkindleでも構いませんので、これだけは目を通しておいた方が良いです。

-スキルアップしたい

Copyright© ダメリーマンの処方箋 , 2019 All Rights Reserved.