GeeksforGeeks (日本語)
K最近傍法は、機械学習で最も基本的でありながら不可欠な分類アルゴリズムの1つです。教師あり学習ドメインに属しており、パターン認識、データマイニング、侵入検出に強力なアプリケーションがあります。
パラメトリックではないため、実際のシナリオで広く使用できます。データの分布に関する基本的な仮定(特定のデータのガウス分布を仮定するGMMなどの他のアルゴリズムとは対照的)
いくつかの事前データ(トレーニングデータとも呼ばれます)が与えられます。座標を属性で識別されるグループに分類します。
例として、2つの特徴を含む次のデータポイントの表について考えてみます。
ここで、別のデータポイントのセットが与えられます(テストデータとも呼ばれます)、トレーニングセットを分析して、これらのポイントをグループに割り当てます。分類されていないポイントは「白」としてマークされていることに注意してください。
直感
これらのポイントをグラフにプロットすると、いくつかのクラスターまたはグループを見つけることができる場合があります。これで、分類されていないポイントが与えられた場合、最近傍がどのグループに属しているかを観察することで、そのポイントをグループに割り当てることができます。これは、「赤」として分類されたポイントのクラスターに近いポイントは、「赤」として分類される可能性が高いことを意味します。
直感的に、最初のポイント(2.5、7)は次のようになります。 「緑」に分類され、2番目の点(5.5、4.5)は「赤」に分類されます。
アルゴリズム
mをトレーニングデータサンプルの数とします。 pを未知の点とします。
- トレーニングサンプルをデータ点の配列に格納します。これは、この配列の各要素がタプル(x、y)を表すことを意味します。
-
for i=0 to m: Calculate Euclidean distance d(arr, p).
- K個の最小距離のセットSを取得します。 。これらの距離はそれぞれ、すでに分類されたデータポイントに対応します。
- Sの多数決ラベルを返します。
Kは奇数として保持できるため、計算できます。 2つのグループのみが可能な場合(赤/青など)の明確な過半数。 Kを大きくすると、さまざまな分類にわたって、より滑らかで明確な境界が得られます。また、トレーニングセット内のデータポイントの数を増やすと、上記の分類器の精度が向上します。
プログラムの例
2つの分類器(グループ)として0と1を想定します。
出力:
The value classified to unknown point is 0.
この記事はAnannyaUberoiによる寄稿です。 GeeksforGeeksが好きで、貢献したい場合は、contribut.geeksforgeeks.orgを使用して記事を書くか、contribut @ geeksforgeeks.orgに記事をメールで送信することもできます。 GeeksforGeeksのメインページに表示される記事を参照して、他のオタクを助けてください。