KNN基础代码一

库 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)
KNN基础代码一

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)
计算准确率:判断 预测 和 实际值 有多少相等
若相等 则预测正确,不相等 则失败

整体代码