stMind

You'll never blog alone

Rでk-Neareset Neighbor

Machine Learning for Hackersの第十章にあるk最近傍法をRでやってみた。

k-nearest neighbor algorithm - Wikipedia, the free encyclopedia

特徴空間において、クエリに対するk個の最近傍点のうち、最も頻度の高い点のラベルを割り当てる。
距離計算はユークリッド距離が一般に使われる。

ML for Hackersにあるサンプルコードでは、最初にデータフレームの全部の組み合わせの
distance matrixを作っておいて、k = 5点の最近傍点のうち半分以上(3点)が"1"というラベルが
ついていれば"1"のラベル、2点以下なら"0"というラベルを割り当てるようにしている。

100点のデータについて分類をしてみると7点ほど分類ミスをするけれど、
正解率は93%で悪くはないという結果が得られる。