Python中K-邻近算法及分类器建立

2025-11-20 17:37:46

1、工作原理:

(1)存在一个样本数据集合(训练样本集),样本集中每个数据都存在标签(每一数据与所属分类的对应关系)。

(2)输入没有标签的新数据

(3)将新数据的每个特征与样本集中数据对应的特征进行比较,然后判断新数据属于哪一类。 

Python中K-邻近算法及分类器建立

2、案例:电影分类

(1)样本集:通过已有的电影,出现打斗或者接吻的镜头,判断电影类型。

(2)测试集:k-近邻算法按照距离最近的三部电影的类型,决定未知电影的类型.

Python中K-邻近算法及分类器建立

Python中K-邻近算法及分类器建立

3、KNN算法分类器使用流程为:

收集数据-->准备数据-->分析数据-->训练算法-->测试算法-->使用算法 

(1)编写KNN.py文件(分类器),其中包括

1)createDataSet()模块:用于产生测试样本集

2)classfy0()模块:用于输入测试数据,判断其分类。

(2)进入python环境,将kNN.py导入

1)使用python导入数据

2)进入E:盘,新建一个文件夹python_example

3)在此文件夹下,创建一个kNN.py的python模块,在kNN.py文件下加入如下代码,保存kNN.py文件。

4)开始/所有程序/Anaconda/anaconda Prompt,打开Python开发环境。

5)cd E:/python_example 

Python中K-邻近算法及分类器建立

4、(3)使用kNN.py产生样本集

6)改变当前路径到存储kNN.py文件的位置,打开Python开发环境。进入Python开发环境之后,输入下列命令 

>>>import sys

>>>sys.path #查看当前变量

>>>sys.path.append('E:\anconda_example')

>>> import kNN   #导入kNN模块。

>>> group, labels = kNN.createDataSet()

    kNN模块中定义了函数createDataSet,上述命令创建了变量group和1abels

Python中K-邻近算法及分类器建立

Python中K-邻近算法及分类器建立

5、(4)分析数据:group,labels对应于不同的类(A类B类)

Python中K-邻近算法及分类器建立

6、(5)k-近邻算法分类器设计原理

主要体现在classfy0()函数上,主要过程为:

1)计算未知点与已知类别数据集中的点的距离;

2)按照距离递增次序排序;

3)选取与当前点距离最小的k个点;

4)确定前k个点所在类别的出现频率;

5)返回前k个点出现频率最高的类别作为当前点的预测分类。

Python中K-邻近算法及分类器建立

7、分类器的测试

   classify0()函数有4个输入参数:

1)用于分类的输入向量是inX

2)输入的训练样本集为dataSet

3)标签向量labels

4)最后的参数k表示用于选择最近邻居的数目 

    可以采用以下命令,测试分类器是否正常

>>>kNN.classify0([0,0], group, labels, 3)

Python中K-邻近算法及分类器建立

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢