python运用sklearn实现KNN分类算法

yipeiwu_com6年前Python基础

KNN(K-Nearest-Neighbours Classiflication)分类算法,供大家参考,具体内容如下

最简单的分类算法,易于理解和实现

实现步骤:通过选取与该点距离最近的k个样本,在这k个样本中哪一个类别的数量多,就把k归为哪一类。

注意

  • 该算法需要保存训练集的观察值,以此判定待分类数据属于哪一类
  • k需要进行自定义,一般选取k<30
  • 距离一般用欧氏距离,即​ 

通过sklearn对数据使用KNN算法进行分类

代码如下:

## 导入鸢尾花数据集
iris = datasets.load_iris()
data = iris.data[:, :2]
target = iris.target

## 区分训练集和测试集,75%的训练集和25%的测试集
train_data, test_data = train_test_split(np.c_[data, target])
## 训练并预测,其中选取k=15
clf = neighbors.KNeighborsClassifier(15, 'distance')
clf.fit(train_data[:, :2], train_data[:, 2])
Z = clf.predict(test_data[:, :2])
print '准确率:' ,clf.score(test_data[:, :2], test_data[:, 2])

colormap = dict(zip(np.unique(target), sns.color_palette()[:3]))
plt.scatter(train_data[:, 0], train_data[:, 1], edgecolors=[colormap[x] for x in train_data[:, 2]],c='', s=80, label='all_data')
plt.scatter(test_data[:, 0], test_data[:, 1], marker='^', color=[colormap[x] for x in Z], s=20, label='test_data')
plt.legend()
plt.show()

结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决Django中调用keras的模型出现的问题

笔者小白在用Django写一个表格单据图片的识别应用的时候,遇到了调用基于Tensorflow的keras模型出错的问题。 出现的错误信息类似于以下: ValueError: Ten...

python保存文件方法小结

1>保存为二进制文件,pkl格式 import pickle pickle.dump(data,open('file_path','wb')) #后缀.pkl可加可不加 若文...

python实现把两个二维array叠加成三维array示例

python实现把两个二维array叠加成三维array示例

遇到这样一个需求:程序中每次循环生成一个二维array,需要把每次循环的二维array叠加成一个三维的array,例如有如下两个矩阵: 组合成以下这种形式: 这样组合之后,有一个非常...

使用Python读写及压缩和解压缩文件的示例

读写文件 首先看一个例子: f = open('thefile.txt','w') #以写方式打开, try: f.write('wokao') finally: f.c...

python实现五子棋游戏

python实现五子棋游戏

本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下 话不多说,直接上代码: 全部工程文件,在GitHub:五子棋 效果预览: #!/usr/bin/...