アベンドカレンダーでkaggle初心者に向けて記事を書いて行きます。
kaggleはtutorialが充実しており、これを理解するとData Scienceのスキルとして一定のレベルに達することができるようになっています。残念ながら英語であること、いくつかのステップが省略されていることがネックとなり多くの方がtutorialの途中で脱落しております。残念なことなので一念発起してはtutorialを改めて解いてみた私のメモを載せています。
カレンダー1日目の投稿ですが、最初にアベンドカレンダーの対象者を明確にしておきます。
kaggleに登録してみた人
tutorialで詰まっている人
とりあえずtutorialが一通りすんだけど理解が不十分な気がする人
が対象です。
python初学者やkaggle中級者はこの記事の対象外となります。
tutorialの記事を全て解説する時間的余裕もないですしtutorialそのものを読めばわかる部分・流石に前提として知っておく部分も飛ばして行きます。機械翻訳で原文を読むとことをお勧めしています。
また、コードを読んで実際に手を動かすことが良いでしょう。現在のAIの性能は、kaggleで戦うことに十分ではありません。
titanic コンペについて
これより前にpython,pandas,visualizationに関するtutorialを終わらせておく必要があります。このアベンドカレンダーでは取り扱いません。pythonそのものを学習する際、英語では
日本語で書かれたものでは
を読むほうがkaggleでpythonを学ぶよりスムーズでしょう。
pandas部分についてはアベンドカレンダーで余裕があれば記事を書こうと思います。
titanic tutorialについては多くの先達の記事がありますが、このコンペを通してデータの提出についてのやり方をマスターしましょう。
で先達が日本語化してくれています。
残念ながら、titanic tutorialはrandom forestとパーセプトロン以外の手法については取り扱っていません。訓練するデータの数が少ないためではないかと思いますので、次のより多くのデータを取り扱うチュートリアルで多くの機械学習の手法に慣れていきましょう。
困りやすい点
pd.get_dummies()関数が出てきますが特に説明がなさそうです。
これはカテゴリデータ(例:sexやPclass)を
ダミー変数(二値変数)に変換するための関数です。
あるデータ
Sex
0 Male
1 Female
2 Male
3 Female
4 Male
を変換して
Sex_Female Sex_Male
0 0 1
1 1 0
2 0 1
3 1 0
4 0 1
のような形に書き換えてくれます。
列の数が増えすぎる可能性を考える方がおられますが、心配しないでください。