1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

機械学習勉強メモ2: KNN

Posted at
  • knnを試します

k近傍法(ケイきんぼうほう、英: k-nearest neighbor algorithm, k-NN)は、特徴空間における最も近い訓練例に基づいた分類の手法であり、パターン認識でよく使われる。最近傍探索問題の一つ。k近傍法は、インスタンスに基づく学習の一種であり、怠惰学習 (lazy learning) の一種である。その関数は局所的な近似に過ぎず、全ての計算は分類時まで後回しにされる。また、回帰分析にも使われる。
出典:https://ja.wikipedia.org/wiki/K%E8%BF%91%E5%82%8D%E6%B3%95

花タイプ判断用ソースコード:

from sklearn import neighbors
from sklearn import datasets

knn = neighbors.KNeighborsClassifier()

# 内部花サンプルデータを読み込みする
iris = datasets.load_iris()

# データ構造を見る
print(iris)

# データknnに学習する 
#iris.data 学習データ
#iris.target 各学習データの結果データ
knn.fit(iris.data, iris.target)

# 予測する
item = [[0.1, 0.2, 0.3, 0.4]]
predictedLabel = knn.predict(item)

i = 0
for key in iris.feature_names:
	print(key + ":" + str(item[0][i]))
	i = i + 1

print("予測の花タイプは:" + iris.target_names[predictedLabel][0])
  • 利用したツール: python3 sklearn(機械学習計算用)
  • 計算用データ説明:
    花タイプ用判断です。
    iris構造説明:
{'feature_names': ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'], 'data': array([[ 5.1,  3.5,  1.4,  0.2],
       [ 4.9,  3. ,  1.4,  0.2],
       [ 4.7,  3.2,  1.3,  0.2],
       [ 4.6,  3.1,  1.5,  0.2],
       [ 5. ,  3.6,  1.4,  0.2],
       [ 5.4,  3.9,  1.7,  0.4],
       [ 4.6,  3.4,  1.4,  0.3],
       [ 5. ,  3.4,  1.5,  0.2],....
'target_names': array(['setosa', 'versicolor', 'virginica'],....
'target': array([0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0,....

feature_names:属性名
data:属性データ
target_names:種類名
target:各data属性に対して種類

実行結果:
image

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?