科学の箱

科学・IT・登山の話題

機械学習

仕事で始める機械学習 – 3.学習結果を評価しよう – 指標

投稿日:

主な指標

モデル構築後に確認する主な指標は4つある。

  • 正解率
  • 適合率
  • 再現率
  • F値

正解率

$$ 正解率 = \frac{TP + TN}{TP+FP+TN+FN} $$

正解率は全データ数に対する正解した件数である。

一見したところ正解率だけ用いればよいように感じられる。例えば{0,1}に分類する2値分類問題を考える。とりあえずすべてのデータに対して0とした場合には、正解率は50%となる。分類する数が増えていくにつれてランダムな分類では正解率は下がっていくことがわかる。データの件数に偏りがない場合には正解率は有効な指標となる。

しかしいま100件のうち0が99件、1が1件とする。この場合、すべてのデータに対して1と予測すると99%という高い正解率になる。しかしこれは意味がない正解率であることが明白だ。唯一の1については正解率は0%であるからだ。

適合率

$$ 適合率(精度)=  \frac{TP}{TP+FP} $$

適合率は正解としてラベル付けされたデータの正しさを示す。まず適合率を考えるときに機械学習の目的から考える必要がある。機械学習の目的は知りたいことに「適合」するデータを拾い出すことである。ここではTrueとなるデータが適合するデータである。

データが1000件あり、学習結果として適合するデータが100件得られたとする。しかしこの100件のうちすべてが正しいかはわからない。本来は適合していないデータが20件あるとしたら適合率は80%となる。

適合率を上げるということは誤りは許さないが、見逃しは許すということである。

例えばスパムフィルタであるならば、スパムメールボックスに入っているメールはほぼすべてスパムであり、非スパムメールはスパムメールボックスに入っていない。しかしスパムでありながら、受信ボックスに入ってしまったメールが多い、つまり見逃しが発生している可能性がある。

適合率が低いということは可能性があるスパムメールだったらとりあえず間違っている可能性が低いにも関わらずスパムとして取り扱うことになる。受信ボックスにスパムメールはなくなる。しかしスパムメールボックスにたくさんの非スパムメールがあることになる。

適合率が低い場合には適合するデータを探すためにさらに手間をかける必要がある。

 再現率

$$ 再現率 =  \frac{TP}{TP+FN} $$

再現率はすべての適合する情報のうち、実際に取得できた割合である。例えば1000件中20件のスパムメールがあるとする。このとき15件がスパムとマークされれば75%の再現率となる。最も高い再現率を出すためには、1000件すべてに対してスパムとマークすればよい。しかしこれでは分類の意味がない。さらにこの時の適合率は2%と極端に低い値になる。このように再現率と適合率はトレードオフの関係にある。

F値

適合率と再現率の調和平均である。適合率と再現率の両方がバランスよくなればF値が改善される。

メタ情報

inarticle



メタ情報

inarticle



-機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Pythonではじめる機械学習 – Chap02

2.1 Classification and Regression 分類問題の目的 クラスがどのようなラベルであるかを予測 分類問題 2つのクラスに分類するバイナリクラシフィケーション 例)Yes/N …

no image

irisをナイーブベイズで分類

ナイーブベイズの概要 ナイーブベイズは教師ありの分類アルゴリズムの一つである。 計算アルゴリズムとしてはベイズ定理を用いている。 機械学習における特徴としてはいかがある 実装が簡単であり、複雑なハイパ …

no image

前向き研究と後ろ向き研究

前向き研究と後ろ向き研究は疫学における用語である。 前向き研究で使われる研究手法にはコホートや無作為比較対照研究、ロジスティック分析がある。これらの研究ではサンプルをリスクファクター(危険要因)のある …

no image

Pythonではじめる機械学習 – Chap03

3.1 Types of Unsupervised Learning 教師なし学習の例 次元削減: 重要な特徴量のみを使って元のデータを表現する トピック抽出: データを構成する部品を見つける クラス …

no image

pythonのデータ分析ライブラリで遊んでみる。

こちらを参考にしてPythonのデータ分析用のライブラリをそろえてみた。 まずはお手軽にヒストグラムを書いてみる。コマンドラインからipythonを立ち上げる。 ipython –pylab &#8 …

2019年11月
« 10月   12月 »
 123
45678910
11121314151617
18192021222324
252627282930  

side bar top



アーカイブ

カテゴリー