DeepRunning　～Level4.3.2～

#Level４．機械学習講座（理論と実践）
##4-3.ロジスティック回帰モデル
###4-3-10.ハンズオン

まずはdriveとマウントする。
![ロジスティック回帰0001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/997f957f-723a-d1e0-d877-044ed2fdb14d.png)

おまじないの%matplotlib inlineはgoogle colabでグラフ表示をしてくれる。
知っていると便利ですね。

続いて、CSVファイルの読み込み。
driveを参照するようにしています。データセットも確認できました。

![ロジスティック回帰0002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/4e5a85f1-fa6c-c604-62b2-09a593da0a6f.png)

不要なデータの削除・欠損値の補完
![ロジスティック回帰0003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/b421867f-b81a-e468-741b-dc5e5bbbd00e.png)

nullを含む行の確認と補完
![ロジスティック回帰0004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/27d26e28-be09-2751-abdd-88df2283305d.png)
![ロジスティック回帰0005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/24da3a71-70e2-2abb-ef4a-b62be64ea0db.png)

年齢を中央値で補完しますが、最終的に影響しないだろうか？

チケット価格から生死を判別する。
![ロジスティック回帰0006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/5ecdfb4c-edb1-af72-47f1-94827afc2ddf.png)

※大事なのは簡単にfitさせられるが、
　バックエンドでどのような計算をしているか理解をしておくこと。


動画にもあったように、61⇒62で生死が変わることも確認してみた。
![ロジスティック回帰0007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/e1d03514-be26-dff9-e349-2495c961a5e9.png)
![ロジスティック回帰0008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/94d28618-8c01-0ffa-364f-9942b599b84b.png)

ちゃんとグラフも出ています。

続いて、2変数から生死を判別する。
性別からGenderを作り、その後、Pclass_Genderを生成する。
![ロジスティック回帰0009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/099bdd2b-eabd-b92d-eda1-e7509484b575.png)
![ロジスティック回帰0010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/3dbab7dd-d397-599e-3b78-aafeb6db2e2e.png)

ここで、境界線の式やプロットのやり方が載ってました。
全体が終わったら試してみます。
![ロジスティック回帰0011（重要だよ）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/5d07b0d9-e856-dfc7-e065-35a3860a923b.png)

2変数から生死を判別します。
クラスが高く、女性の方が生き残れる・・・。
その仮定を考えるのがセンスなのかな。
![ロジスティック回帰0012.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/255be76b-6b5a-91ad-e2ff-c8a64aab68be.png)
![ロジスティック回帰0013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/430d0a35-7db7-5dc0-7366-53486f60d933.png)
![ロジスティック回帰0014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/12428c38-ab20-db78-9da6-18fdc1668098.png)
![ロジスティック回帰0015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/e6184d68-1221-1956-e446-8d077d849317.png)
![ロジスティック回帰0016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/f9f6dee9-6e41-d4b3-da0a-4fa6131b03e7.png)

うん。ちゃんと出力できました。

ここまででハンズオンは良いと動画で言っていましたが、
一通り動かして確認してみました。

![ロジスティック回帰0017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/f8da2803-5ffc-18e2-a7bd-0d1a6e4e6e42.png)
![ロジスティック回帰0018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/74cefed7-26ea-6acc-afec-7987d63ba928.png)
![ロジスティック回帰0019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/7262acca-891d-8670-48e8-d10e6ceaabc0.png)
![ロジスティック回帰0020.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/af0657ff-08ce-f54a-f2d6-4a49c60fe4db.png)
![ロジスティック回帰0021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/4e5a3acb-ff98-c8df-c000-2f55be69fa8c.png)
![ロジスティック回帰0022.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/d3edce31-6392-cb15-f88d-7c4f54be61cc.png)

ワーニングが出たので確認したところ、size⇒heightにせよ！とのことで、
修正して流しなおしています。
![ロジスティック回帰0023.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/d3b65392-bf5e-fde4-8cc9-cc242f6538bc.png)
![ロジスティック回帰0024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/ff311363-788f-89af-ab48-b0aa37dfceaa.png)
![ロジスティック回帰0025.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/4f826e21-1d38-87ae-ee27-5d245cbad2a4.png)
![ロジスティック回帰0026.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640632/30d1153a-cb6f-6058-cf24-9796cd6c32a0.png)

こちらも確認できました。

###4-3-11.考察

•ロジスティック回帰にしても、バックエンドでの動作はイメージできるようにしておく必要がある。
　実際に運用することになった時に、パラメータの更新までの動作（計算方法）を理解していないと、
　とてもじゃないけど対応できないだろう思います。
・途中でも書きましたが、どの項目を使って検証するのか、
　選定についてはその筋の専門家の意見を参考にするとのお話もありましたが、
　キラリと光る感覚は養っておく必要があると思いました。あとは、実際に検証してみればよい。
・まったく同じPclass_Genderに属する人でも年齢によって生死が分かれているのは、
　他の変数を追加して掘り下げることになりますが、どこまでやるのかは良い塩梅を意識したいです。