Advertisement

Python KNN算法及其优化

阅读量:

【近期在自主学习Python的数据分析相关知识,同时想稍微接触一下深度学习的内容,因此不可避免地接触到最基础的机器学习算法——KNN算法。该方法的核心思想十分简单明了:若某一样本在特征空间中与K个最相似(即距离最近)的样本大多属于同一类别,则该样本也应归为该类别。

通俗地说,就是:当需要对一个样本进行分类时,只需观察其周围环境中的样本类型。如果邻近的样本多为某一类群体,那么该样本很可能也属于这一类。比如,若周围多是小混混,则这个样本大概率也属于这一类;若邻近的都是酒肉朋友,那这个样本大概率也会成为其中一员。(非洲警告

那么具体该如何实现KNN算法呢?

实际上,在Python的sklearn库中已经内置了KNN算法。我也尝试将鸢尾花数据集输入其中运行了一遍。然而,随着硬盘发出一声嗡鸣声,计算结果迅速呈现出来,此时眼前的一切突然变得平淡无奇,我陷入了一种“贤者模式”,开始反思自己的行为:连这样一个简单的算法都需要调用库来实现的我,是否还有资格称自己为程序员?(调用库的代码较为简单,因此我没有保留下来;不过我在文末附上了相关的博客链接,感兴趣的读者可以自行前往学习

于是,我决定尝试亲自实现KNN算法。

整体思路大致如下:**首先提取待分析样本的各项特征,并将其与已有的特征数据库进行对比;然后量化该样本与原有数据之间的差异程度;接着找出与该样本最为接近的K个数据点

全部评论 (0)

还没有任何评论哟~