python_sklearn机器学习算法系列之k-NearestNeighbor(K最近邻分类算法)

原创 2018年04月15日 17:20:33

       本文主要目的是通过一段及其简单的小程序来快速学习python 中sklearn的KNeighborsClassifier这一函数的基本操作和使用,注意不是用python纯粹从头到尾自己构建KNN,既然sklearn提供了现成的我们直接拿来用就可以了,当然其原理十分重要,其主要思想是,如果一个样本在特征空间中的k个最近邻的样本中的大多数都属于某一类别,则该样本也属于这个类别,k通常是不大于20的整数,关于详细的介绍可以参考:https://blog.csdn.net/itzym/article/details/70233075

       本次用到的源数据是datasets.load_iris(),iris数据集是一个字典,可以看成150行5列的二维表。150个样本,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征(前4列)iris的每个样本都包含了品种信息,即目标属性(第5列,也叫target或label),其中有5个key键,data记录每个样本四个特征数值,target记录品种数(用0,1,2表示),target_names是具体品种名称,feature_names是具体的特征名称。

KNeighborsClassifier的使用非常简单,主要分为两步:

一:使用 fit(x_train,y_train)对训练集x, y进行训练。

二:使用predict(x_test) 训练得到的估计器对输入为x_test的集合进行预测(x_test可以是测试集,也可以是需要预测的数 据)。


代码如下:

from sklearn import datasets
from sklearn.neighbors  import KNeighborsClassifier

iris=datasets.load_iris()

'''
#这里是测试iris数据集的代码
print(iris.keys())
print(iris.data)
print(iris.target)
print(iris.data.shape)
print(iris.feature_names)
print(iris.target_names)


'''
#核心代码
knn=KNeighborsClassifier(n_neighbors=6)
knn.fit(iris['data'],iris['target'])                      #用训练集进行训练模型

x=[[4.8,2.5,3.4,1.6],[6.3,3.1,3.2,1.8]]
print(x)

#核心代码
prediction=knn.predict(x)

print(prediction)

测试iris数据集的结果如下:



预测结果:


更多算法可以参看博主其他文章,或者github:https://github.com/Mryangkaitong/python-Machine-learning

KNN实验报告及项目

  • 2013年01月14日 23:08
  • 22KB
  • 下载

机器学习算法之最近邻规则分类KNN(K Nearest Neighbor)

KNN是一种分类算法,其输入是基于实例的学习(instance-based learning), 即是懒惰学习(lazy learning)算法步骤 1、为了判断未知实例的类别,以所有已知类别的实例...
  • a524633094
  • a524633094
  • 2018-01-13 15:14:38
  • 61

python_sklearn机器学习算法系列之K-Means(硬聚类算法)

          本文主要目的是通过一段及其简单的小程序来快速学习python 中sklearn的K-Means这一函数的基本操作和使用,注意不是用python纯粹从头到尾自己构建K-Means,既...
  • weixin_42001089
  • weixin_42001089
  • 2018-04-15 19:14:28
  • 25

K最近邻分类算法 最简单的分类算法

  • 2010年06月09日 11:08
  • 17KB
  • 下载

KNN算法JVAA实现

  • 2014年10月27日 22:25
  • 4.13MB
  • 下载

机器学习KNN算法的Python实现

  • 2018年01月12日 11:57
  • 4KB
  • 下载

k最近邻分类算法

  • 2012年03月13日 11:12
  • 48KB
  • 下载

机器学习算法及代码实现--K邻近算法

机器学习算法及代码实现–K邻近算法1、K邻近算法将标注好类别的训练样本映射到X(选取的特征数)维的坐标系之中,同样将测试样本映射到X维的坐标系之中,选取距离该测试样本欧氏距离(两点间距离公式)最近的k...
  • qq_31456593
  • qq_31456593
  • 2017-04-05 19:56:00
  • 1088

KNN (K-最近邻分类)算法源代码

  • 2010年01月29日 16:33
  • 290KB
  • 下载

K最近邻算法(KNN,K-NearestNeighbor)

参考地址: 1、http://baike.baidu.com/link?url=p3whMcC7Di8lJrsC8k-zk6SRC1zGTfmOCCJnhZlDg2JdPGG-QZZ_bHA2xk4...
  • jiangsanfeng1111
  • jiangsanfeng1111
  • 2016-02-19 10:27:35
  • 2570
收藏助手
不良信息举报
您举报文章:python_sklearn机器学习算法系列之k-NearestNeighbor(K最近邻分类算法)
举报原因:
原因补充:

(最多只允许输入30个字)