KNN基础代码

守給你的承諾、 提交于 2019-12-02 14:27:27

库 sklearn

库下的工具:
datasets,model_selection,neighbors

K近邻代码思路:
有个数据集----对数据分割----调用KNN算法

iris = datasets.load_iris()

导入数据集
数据集权重:开源数据集,重要数据集之一
数据集特点:还有3个类别,所以可分类
数据集描述链接:https://archive.ics.uci.edu/ml/datasets/Iris/

x=iris.data
y=iris.target

x: 数据特征,y: 标签 或 分
y这里3个值。所以适合分类问题(0,1,2)
iris: 有150个已知数据,所以 len ( x ) , len ( y ) 都是150

print(x,y)
在这里插入图片描述

x_train , x_test , y_train , y_test = train_test_split ( x , y , random_state = 2003 )

分割数据集
x 是已知数据,一共 150 个,分成训练集112个 和 测试集38个
y 同理
目的:训练集 训练模型,测试集 验证模型,否则不知道模型好坏

clf = KNeighborsClassifier ( n_neighbors = 3 )

k近邻算法,邻居为3

clf.fit ( x_train , y_train )

corret = np.count_nonzero ( (clf.predict(x_test) == y_test) == True)
print( corret / len(x_test) )

预测和计算准确率
输出值 0.921,即 准确率 ---->(corret个数 35 / x_test个数 38)
计算准确率:判断 预测 和 实际值 有多少相等
若相等 则预测正确,不相等 则失败

整体代码
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!