python sklearn knn_Python 手写 Sklearn 中的 kNN 封装算法

摘要:用Python 一步步写出 Sklearn 中的 kNN 封装算法。

昨天通过一个酒吧猜红酒的故事,介绍了机器学习中最简单的一个算法:kNN (K 近邻算法),并用 Python 一步步实现这个算法。同时为了对比,调用了 Sklearn 中的 kNN 算法包,仅用了 5 行代码。两种方法殊途同归,都正确解决了二分类问题,即新倒的红酒属于赤霞珠。

在这推荐下小编创建的Python学习交流群835017344,可以获取Python入门基础教程,送给每一位小伙伴,这里是小白聚集地,每天还会直播和大家交流分享经验哦,欢迎初学和进阶中的小伙伴。

虽然调用 Sklearn 库算法,简单的几行代码就能解决问题,感觉很爽,但其实我们时处于黑箱中的,Sklearn 背后干了些什么我们其实不明白。作为初学者,如果不搞清楚算法原理就直接调包,学的也只是表面功夫,没什么卵用。

所以今天来我们了解一下 Sklearn 是如何封装 kNN 算法的并自己 Python 实现一下。这样,以后我们再调用 Sklearn 算法包时,会有更清晰的认识。

先来回顾昨天 Sklearn 中 kNN 算法的 5 行代码:

1from sklearn.neighbors import KNeighborsClassifier 2kNN_classifier = KNeighborsClassifier(n_neighbors=3)3kNN_classifier.fit(X_train,y_train )4x_test = x_test.reshape(1,-1)5kNN_classifier.predict(x_test)[0]

代码已解释过,今天用一张图继续加深理解:

c8e77f9bab6e

image

可以说,Sklearn 调用所有的机器学习算法几乎都是按照这样的套路:把训练数据喂给选择的算法进行 fit 拟合,能计算出一个模型,模型有了就把要预测的数据喂给模型,进行预测 predict,最后输出结果,分类和回归算法都是如此。

值得注意的一点是,kNN

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值