前回に引き続き機械学習のインプット中ですが、機械学習で数式ばっかりコネコネやっていると、その数式が示していてるものを可視化したくなるときがあります。目的関数がボウル型になることや、仮説関数の線形などを目で見て確認したくなってきます。
なのでOctaveでデータをプロットする方法を試してみた次第。
サンプルデータ
ラーメンデータベースで、「渋谷区」で検索し、ランキングの上から20件のレビュー件数(x)とポイント数(y)を訓練セットとしました。
octave> load ramenX.txt octave> ramenX ramenX = 596 522 1135 598 389 605 484 214 417 445 351 134 525 32 251 136 63 134 193 150 octave> load ramenY.txt octave> ramenY ramenY = 98.657 98.454 97.738 97.650 97.461 97.207 97.179 96.901 96.538 95.969 94.228 93.939 93.225 92.935 92.223 92.154 91.902 91.728 91.420 91.341
x,yを散布図にプロットします。第3引数は点の大きさですね。
octave> scatter(ramenX, ramenY, 20)
出来ました!これでざっくり右肩上がりの線形が予測出来そうなことが確認できます。
次は目的関数の結果をプロットして本当に弓型になるかどうか確認してみたい。