Python之机器学习日记01—KNN算法

本文是机器学习日记01,介绍KNN算法。通过实例展示了如何使用Python的scikit-learn库实现KNN算法,包括原理、用法、概念以及KNN在酒的分类中的应用。讨论了KNN的优势和劣势,并通过葡萄酒数据集进行建模,得到模型预测准确率为76%。
摘要由CSDN通过智能技术生成

机器学习日记01—KNN算法

故事:再过几天,就是情人节了,小H正打算筹备个烛光晚餐,和女朋友浪漫一下。然而说到烛光晚餐自然需要好酒的助兴。这是小H犯难了,他并不清楚酒的类别,连最基本的知识也不懂。还好,我有一招能帮我的小H朋友:不懂酒,没关系,KNN算法,来帮你~
在这里插入图片描述
(醒醒,你还没有女朋友,小哥)
在这里插入图片描述
好吧,进入我们的正题:
本次涉及这些知识:
1.k最邻近算法的原理;
2.knn算法的概念;
3.实例之对酒的分类建模。
(参考资料:深入浅出Python机器学习)

一、KNN算法的原理
可以说是:近朱者赤近墨者黑
或者说是: ”物以类聚“ 等;
对于KNN算法来说,这个道理很简单:就是数据点离谁越近,就和谁属于同一类。
在这里插入图片描述
在这里插入图片描述
但是,我们需要注意一个问题,如果是选近邻数等于1的话,在大量的数据点情况下,我们会犯”一叶障目,不识泰山“的问题,因此对于不同的选取近邻数有不同的分类判断。
这样一来,实际上KNN算法中,K这个含义就是最邻近的个数。
在这里插入图片描述
二、KNN的用法
(这里会用Jupyter notebook来进行代码操作)
首先是我在初步学习中的结果展示:
在这里插入图片描述
在这里插入图片描述
在上述结果中,我用了scikit-learn的make_blobs函数生成了一个样本数量为200,分类数量为2的数据集,并赋值,然后用matplotlib将数据图形表示出来。第二张图是使用KNN算法进行拟合这些数据,基于数据集创建一个分类模型,形成粉色区域与灰色区域两部分。
第二张图代码如下:
import numpy as np
clf=KNeighborsClassifier()
clf.fit(X,y)

x_min,x_max=X[:,0].min()-1,X[:,0].max()

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值