Google Colab をやってみた
みなさん、おはこんばんにちございます。
Syrup Lang Advent Calender 第 2 日目の記事だと思います。
はじめに
Google Colab を使って Kaggle のタイタニックのコンペ用の Python スクリプトを書きたいなと思ったんですが、Google Colab の使い方を書いていく記事になってしまっていると思います。
まずは ゲームで使う train.csv
と test.csv
をアップロードします。
以下のコードを書いて、実行してみましょう。
わかりやすくするために、ここでは同じコードを 2 つのコードセルに別々に書いてtrain.csv
と test.csv
をアップロードします。
アップロードするには、コードセルに下記のようなコードを書いて、「コードを実行」ボタンを押します。
すると、アップロード用のウィジェットが表示されるのでアップロードしたいファイルをアップロードします。
from google.colab import files uploaded = files.upload()
わかりやすくするために、ここでは同じコードを 2 つのコードセルに別々に書いてtrain.csv と test.csv をアップロードします。
iPython Notebook で書いたものを Markdown にしているので、単体で実行可能なスクリプトにするために、import
を書いていてウザさがあるかもしれませんが、我慢してください。
*1
データの確認
これで train.csv
と test.csv
の 2 つのファイルがアップロードされました。
この 2 つのファイルを pandas
で読み込んで、確認してみましょう。
import pandas train = pandas.read_csv( 'train.csv' ) train.head()
import pandas test = pandas.read_csv( 'test.csv' ) test.head()
データの穴埋め
Age に穴があるので、それを埋めます。 (何故わかったのかは省略する) 穴は NaN で表されますが、その部分に Age の中央値を入れることにします。
とりあえず、Age の中央値を確認してみましょう:
import pandas train = pandas.read_csv( 'train.csv' ) train['Age'].median()
28.0 と出ました。
Age の NaN の部分には 28.0 が入るようです。
import pandas train = pandas.read_csv( 'train.csv' ) train['Age'] = train['Age'].fillna( train['Age'].median() ) train[[ 'Name', 'Age']].query( 'Age == 28.0' )
そーいうわけで、Embarked
にも NaN があるので、一番多いと思われる(多分) S (サウサンプトン)を入れることにしました。
import pandas train = pandas.read_csv( 'train.csv' ) train['Embarked'] = train['Embarked'].fillna( 'S' ) train[[ 'Name', 'Embarked']].query( 'Embarked == "S"' )
Sex は文字列を数値に変換します。
male
は 0 に、female
は 1 に変換します。
import pandas train = pandas.read_csv( 'train.csv' ) train['Sex'] = train['Sex'].replace( 'male' , 0 ) train['Sex'] = train['Sex'].replace( 'female', 1 ) train.head()
まとめ
- Anaconda を入れなくても、Google Colab がある。
- Google Colab 上でもファイルをアップロードできる。
- Google Drive から Google Colab というアプリを追加するとノートが消えないかもしれない?
- こまめに保存しておくと吉。
*1:後で別にそんなことをする必要は無かったことがわかったが、とりあえずそのままにしておく