KNN算法简单实现【实例和自定义训练库】

本文源码来自于 一个实例读懂监督学习:Python监督学习实战

import numpy as np
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier

# Load iris dataset from sklearn  # 从sklearn加载虹膜数据集
# iris = datasets.load_iris()
iris = {'data': np.array([
    [1.1, 1.1, 1.1, 1.1],
    [2.1, 2.1, 2.1, 2.1],

    [60.1, 60.1, 60.1, 60.1],
    [80.1, 80.1, 80.1, 80.1],

    [400.1, 400.1, 400.1, 400.1],
    [700.1, 700.1, 700.1, 700.1]
]), 'target': np.array([0, 0, 1, 1, 2, 2]), 'target_names': np.array(['小', '中', '大'], dtype='<U10')}


# Declare an of the KNN classifier class with the value with neighbors. #用邻居的值声明一个KNN分类器类。
knn = KNeighborsClassifier(n_neighbors=2)

# Fit the model with training data and target values # 用训练数据和目标值拟合模型
knn.fit(iris['data'], iris['target'])

# Provide data whose class labels are to be predicted  # 提供要预测其类标签的数据
X = [
    [1, 1, 1, 1],
    [6, 6, 6, 6],
    [62, 62, 62, 62],
    [2, 2, 6, 2],
    [57, 57, 57, 57],
    [600, 600, 600, 600],
    [100, 100, 100, 100],
]

# Prints the data provided  # 打印提供的数据
print(X)

# Store predicted class labels of X  # 存储X的预测类标签
prediction = knn.predict(X)

# Prints the predicted class labels of X  # 打印X的预测类标签
print(prediction)

print(iris['target_names'][prediction])

输出内容

[[1, 1, 1, 1], [6, 6, 6, 6], [62, 62, 62, 62], [2, 2, 6, 2], [57, 57, 57, 57], [600, 600, 600, 600], [100, 100, 100, 100]]

[0 0 1 0 1 2 1]

['小' '小' '中' '小' '中' '大' '中']

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值