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设计】。

相关文章

如何基于Python制作有道翻译小工具

如何基于Python制作有道翻译小工具

这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 该工具主要是利用了爬虫,爬取w...

TensorFlow实现卷积神经网络

TensorFlow实现卷积神经网络

本文实例为大家分享了TensorFlow实现卷积神经网络的具体代码,供大家参考,具体内容如下 代码(源代码都有详细的注释)和数据集可以在github下载: # -*- codin...

简化Python的Django框架代码的一些示例

简化Python的Django框架代码的一些示例

尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰富的web程序。 然而现在大多数web程序往往不是富内容的, 这似乎让Django看起来不...

pycharm执行python时,填写参数的方法

pycharm执行python时,填写参数的方法

1、按快捷键:alt+shift+F10调出运行窗口,之后选择Edit Configurations或者按0 2、输入参数,点击运行 以上这篇pycharm执行python时,填写参...

Python for Informatics 第11章之正则表达式(四)

注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 11.3 组合查询和抽取   如果我们想以“X-”字符串开头的行...