- 運営しているクリエイター
記事一覧
四十半ばからのKaggle -17
欠損値のあるデータに対して、欠損値の有無によってデータを分割し、異なるモデルで推論をする、ということを前回までで実施した。
今度はデータ予測したデータを結合する。
予測したデータは数値の列で、これがSurvivedとなる。なのでDataFrameに新たな列を追加する。
データフレームへの追加は以下を参照。
その上で、データを結合。モデルが2つあるのでDataFrmaeを縦方向に結合すること
四十半ばからのKaggle -16
次は他のデータも加えて決定木をやってみる。
infoで確認
print(train.info())
このように、なっている。前回使ったのは、Pclass,Sex,SibSp,Parchの4つ。他の数字は、AgeとFare。これらは、testデータで欠損が見られたからつかわなかった。
print(test.info())
Fareは、Trainでは欠損ないけど、Testは欠損があるデータ。
四十半ばからのKaggle -15
データの可視化でみたいことは前回くらいまでにして、そろそろ機械学習をしてみる。
まずは最も基礎じゃないかとおもう決定木から。
ここからは、機械学習のやりかた。
まずは、答えが分かっているデータ(今回だとtrain)を、trainとvalidに分ける。
from sklearn.model_selection import train_test_splitfrom sklea
四十半ばからのKaggle -14
Titanicのデータに関して、PclassとSexだけで考えただけではいまいちだった(当たり前だけど)
改めて他のデータも考える。
print(train.info())
とりえあえず扱いやすいのは、データの欠損がなく、数字のデータかな。Trainをみると、この条件にあてはまるのは、
PassengerId, Survived, Pclass, SibSp, Parch, Fare
こ
四十半ばからのKaggle -13
ここまでやってきたけど、実は始めに紹介した書籍は、実はほぼ読んでなかった。
読んだのは、登録の仕方と、筆者のnotebookをコピーして初めてsubmitするところまで。
で、ここにきて、改めて下記の記事を読むと、書籍ではEDAについてしっかり述べられているとのこと。
EDAって何だろう?
下記を参照すると、簡単にいうとデータをしっかり理解すること、かな。
な
四十半ばからのKaggle -12
Submit用のデータ作りをしてみる。とはいえ、Pclassのデータを使わないほうがいいっぽいというのが前回の結果だったので、予測が悪くなるということの確認だけど。
まずはテストデータの確認
test = pd.read_csv('../input/titanic/test.csv')test.info()
データを抽出
test_r1=test.replace({'male':0,'fe
四十半ばからのKaggle -11
Titanicのデータに関して、これまでにSexとPclassについてクロス集計を行った。
のように、Sex&PclassでSurvivedの傾向が分かれる。これを使って、testデータを推論してみる。
各グラフごとに0と1のどちらが多いか?で分類すると、femaleでPclassが1,2はSurvived=1,femaleでpclass=3は0と1が同数、maleはSurvived=0という
四十半ばからのKaggle -10
Titanicのデータでは、PclassとGenderでSurvivedに差がでそう、ということが見えた。
Pclassの差は前回の結果から下記。
次はGenderについても見ます。
もとのデータを見ると
train = pd.read_csv('../input/titanic/train.csv')print(train.info())
となっていて、SurvivedやPclassの
四十半ばからのKaggle -9
データの可視化をしてみる。
とりあえず、Titanicデータから、SurvivedとPclassの関係について可視化をしてみよう。
まず、クロス集計します。
cross1=pd.crosstab(train['Survived'],train['Pclass'])cross1.head()
これをみると、Pclassが1のときはSurvivedは1のほうが多く、Pclassが2のときは同じ
四十半ばからのKaggle -8
次はデータの可視化、と言っておきながら、提出データについて気になったので先に調べました。
サンプルで提供されているのはgender_submission.csv。
これをKaggleのHome左側のcode→YourWorkを選択するとこんな感じ
ここで、test00を開き、Dataのタブを開くとこんな画面となり、提出ができます。
ここで、submission.csvというファイルができて
四十半ばからのKaggle -7
いよいよTitanicのデータの中身を見ていきます。
trainのデータは891行×12列のデータ。
print(train.info())
で確認すると、下記のように。
日常の業務なら、これくらいのデータならExcelで確認できるけど、pythonで中身を確認したい!
データには、数字のもの(Dtypeがint64またはfloat64)とonjectのものがあります。onject型って
四十半ばからのKaggle -6
ようやくTitanicのデータを見ていきたいと思います。
まずはデータの読み込み。
train = pd.read_csv('../input/titanic/train.csv')
として、データを読み込みます。
データは、train.csv、test.csv、gender_submission.csvの3つがある。train.csvが機械学習に用いるデータ(特徴量と正解が記載)、tes
四十半ばからのKaggle -5
いよいよnotebookを実際にみていきます。
と、その前にnotebookの名前を変えました。赤丸の部分をクリックすることで、簡単に変更できます。
コードの実行には、上記のグレーの部分をクリックするとコードの左側にマークが出ます。
ここをクリックすると、コードが実行されます。
もしくは、グレー部分をクリックして、内部にカーソルがある状態で、「shift+enter」でも実行できます。
四十半ばからのKaggle -4
提出までの一通りの流れを理解したところで、次はいよいよデータを見よう、と思ったのですが、ここでつまづいた。
この時点では、①自分で新たに作ったnotebookと、②copy&editしたnotebookの2つを持っています。
上が①、下が②。②については、copyしたもの、という記録もわかります。また、②はすでにSubmitしてスコアも計算されていることもわかります。
ここでよくみると、①に