暇人日記

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

東京都コロナ感染者数を予測した時に躓いたOctave諸々

courseradaisuki.hateblo.jp

 

↑の記事をプログラミング用語を使わず別日記に書いたのですが、

こっちの日記にプログラミングの実行で躓いたポイントを記録しておきます。

 

 

OctaveへDataのUploadで躓いた

 

エクセルの基データは↓でした。

f:id:omoshiroamericanews:20200424144221p:plain

 

これをcsvファイルにすればUploadできるのかと思いましたがダメでした。

 

最終的に↓でUploadできました。

f:id:omoshiroamericanews:20200424144418p:plain

 

やったことです。

①なんとなく漢字がダメそうと思ったので漢字を削除しました。

②3月18日をDay1、3月19日をDay2とみなすことで日付を置換しました。

③Week2の課題をみてcsvファイルではなく、txtファイルでのUploadにしました。

④Week2の課題のtxtファイル↓ではカンマ区切りだったので、カンマ区切りで試したら

 NGだったのでスペースにしたところOKになりました。

f:id:omoshiroamericanews:20200424144931p:plain

 

FYI;エクセル基ファイルをtxtファイルwithスペースにするときに↓の

  区切り位置機能が非常に役立ちました。というかこれないと無理です。。。

f:id:omoshiroamericanews:20200424145105p:plain

 

load('0419Tokyo.txt')だけでは動かず、どうやってX,yになるか躓いた

 

エラーメセージなくUploadできしたがload('0419Tokyo.txt')だけでは

X,yにもなってなくどうするんだろうと躓きました。

 

Week2の課題を振り返って

data=load('0419Tokyo.txt')

X = data(:, 1)
y = data(:, 2)

として解決しました。

 

LinearCostFunctionが認識されず躓いた

①自作したプログラミングの中の『LinearCostFunction』↓と

f:id:omoshiroamericanews:20200424143608p:plain

②関数のファイル名と③ファイル中の関数名

f:id:omoshiroamericanews:20200424143650p:plain



①②③が完全一致する必要がありました。

大文字小文字識別です。

例えば↓のような①が小文字で一致しない場合、

f:id:omoshiroamericanews:20200424143719p:plain

↓のエラーメッセージが出て前に進めませんでした。

f:id:omoshiroamericanews:20200424143837p:plain

これに2-3時間悩みましたorz

 

 

東京都の感染者をグラフにするのに躓いた/予測線を直線で表示するのに躓いた

 

どこかの課題でやったという記憶は残っていましたが、

どこか思い出せず苦労しました。

↓の『プログラミングとグラフの関係』

『なぜ予測は点のはずなのに線に見えるか』を読んで思い出しました。

 

www.courseradaisuki.com

 

Learning Curveについて

f:id:omoshiroamericanews:20200421225818p:plain

 

この曲線予測のLearning Curveのグラフは↓でした。

 

f:id:omoshiroamericanews:20200426113053p:plain

 

実際の値です↓

f:id:omoshiroamericanews:20200426113231p:plain

Training SetのJは約300に収れんしてきていて、

Test SetのJは5000-30000くらいです。

 

これを

Week2の予測結果をWeek6の仮説精度検証とLearning Curveで評価してみたらどうなるか? - 暇人日記

でやった↓のLearning Curveでみてみます。

f:id:omoshiroamericanews:20200426113627p:plain

 

300と5000-30000というJの差は右か左かどっちだろうと悩みました。

これを右か左で判断できるのが、プログラムを仕事にしてる人なのかなと思いました。

 

 

他にも応用できることがあったら試していきたいと思います!