k近傍法(k-Nearest Neighbor)で分類してみる
2021-03-29
2021-03-29
はじめに
今回はscikit-learnを使って、機械学習アルゴリズムk近傍法(k-Nearest Neighbor)で単純なデータを分類してみました。
k近傍法のメリットとデメリット
メリット
- 精度が高い
- 外れ値に鈍感
- データに関する仮定なし
デメリット
- 計算量が大きい
- 大量のメモリが必要
k近傍法の実装
```#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from sklearn.neighbors import KNeighborsClassifier
# サンプルデータとラベルを作成する
data = [
[1.0, 1.2],
[1.0, 1.0],
[0.0, 0.2],
[0.0, 0.0]
]
labels = ['A1', 'A1', 'A2', 'A2']
# クラスを予測する
knn = KNeighborsClassifier(n_neighbors=2)
knn.fit(data, labels)
print(knn.predict([[1.0, 1.1]]))
```
結果を確認します。
```>>> ['A1']
```