KNN算法

1:算法思想

KNN算法是一个基本的分类和回归的算法,它是监督学习中分类方法的一种。knn算法的基本法则是:相同类别的样本之间在特征空间中应当聚集在一起。它的思想就是假如一个未知颜色的点需要我们判断它的颜色,那knn算法将会计算推测与这个点相距最近的颜色类别是什么,还有一种情况是这个未知点处于一个中心位置,那knn算法通常采用投票法来进行类别推测,即找出样本点中类别出现次数最多的那个类别。

2:算法实现步骤

输入:训练数据集T={(x1,y1),(x2,y2)......(xn,yn)},xi为实例的特征向量,yi={c1,c2,...ck}为实例类别。

输出:实例x所属的类别y。

步骤:

(1)选择参数K

(2)计算未知实例与所有已知实例的距离(可选择多种计算距离的方式)

(3)选择最近K个已知实例

(4)根据少数服从多数的投票法则,让未知实例归类为K个最邻近样本中最多数的类别。

3:算法实现(根据​​​​​​​这篇文章运行的代码,加深了对knn算法的理解)(21条消息) sklearn简单knn运用_人大神成长记2的博客-CSDN博客_sklearn 使用knn

导入模块

from sklearn import datasets       #导入数据模块

from sklearn.model_selection import train_test_split     #导入切分训练集、测试集模块

from sklearn.neighbors import KNeighborsClassifier

创建数据,加载 iris 的数据

iris = datasets.load_iris()

iris_x = iris.data

iris_y = iris.target

把数据集分为训练集和测试集,最后建立模型训练预测  后面的 knn 就已经是训练好的模型,对比用模型预测的值与真实的值,有一些误差。

KNN算法_第1张图片

预测的结果:KNN算法_第2张图片

 4:算法实例

统计学院各个班级男女生个数和居住地址,然后根据男女生个数推测出这个班级的男女生居住的是几号楼。

KNN算法_第3张图片

 

KNN算法_第4张图片

 

你可能感兴趣的:(算法,人工智能)