見出し画像

【データ分析】単純で未熟な僕が少し成長してナイーブベイズ法をする(完)

天気よかったので,動物園に行く.
久々に生で見る動物は迫力がすごいし,臭いもすごいくて正直怖かった.
クマを見たときにクマの手は確か高級だったような気がした.
精神は成長しないのに余計な知恵ばかりついている.

こちらの続き.
【データ分析】スプレッドシートからYahoo API(形態素解析)を使う
【データ分析】Yahoo API(形態素解析)でaikoとBUMP OF CHICKENを比較してみる
【データ分析】今日も今日とてテキストマイニング(形態素解析?)
【データ分析】単純で未熟な僕がナイーブベイズ法をする

これまで

前回文字数でフラグを立て,1変数で実際にナイーブベイズ法をやってみた.
今回は実際に単語も含めてナイーブベイズ法をしてみる.
果たして前回の正答率である93.33%を超えられるか.

ナイーブベイズ法に関しては以下のサイトを参考に行っている.
ナイーブベイズ分類器の計算方法を具体例でわかりやすく解説します。

【ナイーブベイズ法】1単語追加 Ver

前回の文字数の変数に追加して,1変数(1単語)を追加する.
まずはどの単語を変数にするのかの単語の選定.
すこしズルい気もするが(こういう選び方であっているかわからないが),
"あなた"という単語にすることに決定.理由は,aikoの歌詞に多く出現し,BUMP OF CHICKENの歌詞との出現頻度の差が一番大きかったからである.
以下の表の差分の列である.

単語の出現頻度の差でソートした表

歌詞に"あなた"という単語(完全一致)が出現する曲にフラグを立て,尤度を計算する.参考までに実際の尤度は以下になる.

各尤度

これらの事前確率,尤度をもとに分類するとその正答率は,

86.67% と少し下がってしまう.
(文字数だけの時は93.33%)

【ナイーブベイズ法】さらにもう1単語追加 Ver

もう1単語を追加して分類を試みる.
今回は""という単語選択.これらも少しズルいかもしれないが,BUMP OF CHICKENの歌詞に多く出現し,aikoの歌詞との出現頻度の差が一番大きかったからである.
以下の表の差分の列である.

単語の出現頻度の差でソートした表②

歌詞に""という単語(完全一致)が出現する曲にフラグを立て,尤度を計算する.参考までに実際の尤度は以下になる.

各尤度②

これらの事前確率,尤度をもとに実際に正解データに関して計算すると以下のようになる.

正解データの集計

この結果,正答率は,

96.67% と向上する.
実際の集計の表は以下になる.

正誤確認表

あと,2,3単語選定して追加すれば100%にも出来るような気がするが,
今回はここまでで満足とする.

これまでの振り返り

・スプレッドシート・GAS(Google Apps Script)・Yahoo API の環境(無料)でここまで出来るのはすごいことだと思う.
・ちょっとしたデータサイエンスを体験するのにはちょうど良いと感じた
・ただし,難点としては,データ量に制限があること,データのハンドリング少し手間であることなど
・最低限の理論は理解しないとだめだなと感じた(間違えた集計をしていても気づけない)
・意外とスプレッドシートの集計でミスをたくさんしてた

終わりに

簡単ではあるが最後までやり切れたの良かったと感じる.
(就職で流行りのやりきる力である)
ただ,普通に間違えている可能性もあるので,間違いに気づいた方は優しくご指摘いただきたいです!

僕達はこの街じゃ夜更かしの好きなフクロウ
本当の気持ち隠しているそうカメレオン
朝寝坊のニワトリ徹夜明けの赤目のウサギ
誰とでもうまくやれるコウモリばかりさ

見てごらんよく似ているだろう誰かさんと
ほらごらん吠えてばかりいる素直な君を

ECHOES『ZOO』

僕も愛が欲しい.
次はロジスティック回帰.

PCとスマホ,wifiだけを持って全国をのんびり旅したい.