2020年1月17日金曜日

夕焼け画像分析 (3) ロジスティック回帰で分類

前回までで教師データとの類似度を算出しました。ロジスティック回帰で分類してみます。
(1) ロジスティック回帰で用いる教師データ(1 : 夕焼けが見える、0 : 夕焼けが見えない)の作成
前回コサイン類似度で0.95以上のものを抽出しました。良い夕焼け10枚、悪い夕焼け3枚の類似度になるので、悪い夕焼けとして抽出されたものも多いです。今回は日毎にコサイン類似度が高く抽出された画像に対し
(良い夕焼けにマッチした枚数) / (抽出された枚数)で0.15以上の日を1: 夕焼けが見えた日と定義しました。0.15未満の日を夕焼けが見えなかった日としてデータを作成しました。これでまずcsvファイルに抽出しました。図のRateが良い夕焼けの割合です。
(2) 気象データの利用
次に天候を利用して教師データを作成するために、気象データと日照時刻データを利用しました。
今回はこの中から平均湿度と日照時間を説明変数として利用して、教師データを作成しました。

(3) ロジスティック回帰での分類
x : 平均湿度、y : 日照時間を使ってやってみました。ソースコードは下記です(githubにあげられなかった)
https://drive.google.com/open?id=1Jz9XYNPyyuMnZSzuA5G7XLD1ximEtcPb
グラフにしてみると下記のようになります。
これに対して、ロジスティック回帰を実施してパラメタを求めてみます。今回は
θ_0 + θ_1 * x + θ_2 * y = 0となるようなθ_0、θ_1、θ_2を求めていきました。今回の学習では
(θ_0, θ_1, θ_2) = (-0.63281041 -1.04885176  0.91472367)となりました。図示してみると次のようになります。それなりに分類されているようです。
これの正答率を求めてみると夕焼けが見れない日だった時、夕焼けが見れないと分類された割合が75%、夕焼けが見れた日の時、正しく夕焼けが見れると分類された割合が83%となりました。夕焼けが見れなかったが、見えると分類された日が25%と多かったです。
75 25
16 83

今は平均湿度、日照時間だけを使ってやっているので、その他のパラメタを入れたりすることで精度を向上できると考えます。

参考
https://www.shuwasystem.co.jp/support/7980html/5432.html