Edited at

教育系ブロックチェーンエンジニアが語るkaggle実践術


はじめに

この記事は、WebBenchというプログラミング勉強会を実施している筆者が分かりやすくプログラミングの技術を伝達するために作成しました。

過去に何回か、セミナーを都内で実施しております。

団体の説明などはこちら→Web Bench 公式 https://twitter.com/bench_web

また、最近では、こちらのTeam AIの石井さんの本が凄く参考になります。

http://blog.team-ai.com/8steps-for-studying-ai/


kaggleとは、何ぞや

Kaggleは企業や研究家が、データサイエンス、機械学習関連のお題をだして、それを解くサイトです。https://www.kaggle.com/

賞金がつくものもあり

こちらが公式のホームページとなっています。

https://www.kaggle.com/competitions


なぜ機械学習が話題となるほどの進歩を遂げているのか

学習進歩の要因

①計算能力の向上 ②・大量データの取得が容易になったなど


はじめ方について

環境

ubuntu 16.04

python 3.6

pip 10.0

上記などが推奨されます。

概ね以下のREADMEに書いてあることを試しています。

https://github.com/Kaggle/kaggle-api

まず、上記のコマンドでkaggleを導入します。

pip install kaggle


Kaggleチュートリアル(Titanic: Machine Learningfrom Disaster)

・乗客がタイタニックの沈没を生き延びたかどうか

を予測

・訓練用データ(891行 × 12列のcsv) データに一部欠損あり

・テストデータ(418行 × 11列のcsv) データに一部欠損あり

・訓練用データで学習し、テストデータに対して、生き延びたかどうかを予測します


データの中でどれを使う?

・PassengerId:データにシーケンシャルでついている番号

・Survived:生存(0 = No, 1 = Yes) 訓練用データにのみ存在

・Pclass:チケットのクラス(1 = 1st, 2 = 2nd, 3 = 3rd)

・Name:名前

・Sex:性別

・Age:年齢

・SibSp:タイタニック号に乗っていた兄弟と配偶者の数

・Parch:タイタニック号に乗っていた両親と子どもの数

・Ticket:チケット番号

・Fare:旅客運賃

・Cabin:船室番号

・Embarked:乗船場(C = Cherbourg, Q = Queenstown, S = Southampton)

import numpy as np

import pandas as pd
train = pd.read_csv("train.csv", dtype={"Age": np.float64}, )
test = pd.read_csv("test.csv", dtype={"Age": np.float64}, )
train.head(10)


使用データを選び、、、、

例、、、

・チケットのクラス

・性別

・年齢

・旅客運賃

・乗船場


使用する学習手法を選びます

例、、、

・ロジスティック回帰

・サポートベクターマシン

・k-最近傍法

・決定木

・ランダムフォレスト


kaggleの流れ

基本的には、アカウントを取得したら、ローカルかkernelを使うか選択し、参加したいコンペごとにデータのモデルを手法を用いて作成し、提出してランキングを出すまでが、一連の流れとなります。


参考文献

一から始める機械学習(Kaggleで学ぶ機械学習)

https://qiita.com/taki_tflare/items/8850ac5ba8b504a171aa

人工知能は人間を超えるか ディープラーニングの先にあるもの

東京大学 松尾豊(角川EPUB選書)

https://www.ipa.go.jp/files/000048577.pdf

10秒で学べる学習サービス「Aidemy」

https://aidemy.net/