暇人日記

アラフォーおっさんのコーセラの機械学習の課題を解こうと頑張っています!

Coursera Machine Learning Week3 課題 2周目① -苦闘記憶- データのグラフ化 

Week3はLogistic Regressionがテーマのでした。

この日記ではLogistic Regressionの説明やサマリーは

よく分かっている他のブログにお任せして、

課題を解くのに苦労したことを書いています。

 

まずは問題文を読み進めていきます。

 

大学を受験した100人の生徒のTest1とTest2の点数と合否の結果の

データがあり、これから合格ラインを計算しなさいというのが問題です。

まず、データを↓のグラフにしてみてくださいということですね。

 

f:id:omoshiroamericanews:20200121162403p:plain

 

データの中からどうやって合格者だけを『+』で表現するんだろうと

思ってたら問題文の中に↓の説明がありました。

 

f:id:omoshiroamericanews:20200121162508p:plain

 

これに取り掛かる前に

まず最初にデータを見てみたいと思います。

 

f:id:omoshiroamericanews:20200121162555p:plain

1行目がTEST1の点数、2行目がTEST2の点数、3行目が合否

になっています。

 

これを↓のようにXとYに分けると問題文に書いてあります。

 

f:id:omoshiroamericanews:20200121162635p:plain

 

データの構成が理解できたので、

問題文にある↓のヒントについて考えます。

f:id:omoshiroamericanews:20200121162508p:plain

最初の

pos = find(y==1) neg = find(y==0)

が合格か否かを探してくれる関数に見えます。

 

実行結果です↓

 

f:id:omoshiroamericanews:20200121162823p:plain

 

f:id:omoshiroamericanews:20200121162854p:plain

 

posが60X1でnegが40X1で合計100です。

100人受験して、60人が合格、40人が不合格というデータということになります。

 

次の行にある

f:id:omoshiroamericanews:20200121162928p:plain

について考えてみます。

 

どうやらこれが合格者のみの点数を抜き出してくる式に見えます。

それぞれどういう役割を果たしているか実験してみたいと思います。

まずX(pos,1)とX(pos,2)をみてみます。

 

f:id:omoshiroamericanews:20200121163024p:plain

おそらく、これが合格者だけを抜き出していると思いますので確認してみます。

 

f:id:omoshiroamericanews:20200121163104p:plain

データを見比べて

X(pos,1)とX(pos,2)が合格者だけを抜き出していることが

確認することができました。

 

f:id:omoshiroamericanews:20200121163155p:plain

ということで問題文のヒントを解読することができました。

 

ヒント通りプログラミングを実行したら、↓f:id:omoshiroamericanews:20200121163247p:plain

 

できました!

 

今回はここまでです!また次回頑張ります!