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