KNN简单说明
为一种监督学习的方法,其原理就好像物以类聚一样,相同的东西会聚在一起
我们可以设定一个参数叫n_neighbors,假如我今天填入的数字是3
它就会将我的资料依据周围3个最近的资料来作分类
举例说明:
今天我们要将资料做分类,分为红色圈圈或黄色圈圈
图中的黑色圈圈为未分类资料,而我将n_neighbors设为3
所以它会观察离它最近的的三个点,为一个黄色圈圈、两个红色圈圈
因为红色圈圈比较多,所以它被分为了红色
这样说起来,你可能会问KNN是在train什麽?不就是依据原本资料的分布状况来做分类吗?
是的!没错~也就只是根据有label的资料分布来计算没有label的资料该麽分群而已
所以它没有实际train这个动作,只是对数据做一些运算
使用方法
这边我使用的资料集为Titanic
前处理我直接跟Day24、25、26的一样,如果想了解可以去看前面的文章
import KNN
Classifier:
from sklearn.neighbors import KNeighborsClassifier
Regression:
from sklearn.neighbors import KNeighborsRegressor
自己先设一个变数,此变数为你的model名称,并将KNeighborsClassifier()指派给它
训练model
查看训练结果的成绩
使用model预测结果
缴交结果
IT_submission 为DNN的训练结果(前面文章有写)
SVM_submission 为SVM的训练结果(前面文章有写)
KNN_submission 为KNN的训练结果 (就是本文章的结果)
Kmeans_submission 为Kmeans的训练结果(後面文章会写)
此全部都用相同的资料前处理
附上程序码,程序码我有分过目录,你可以直接跳到KNN
https://colab.research.google.com/drive/16jTbu8jIDWEaast4eMPRKUBLlUBOLffT?usp=sharing
你可能会想说:靠!这不是跟昨天讲的SVM使用方法根本一模一样
对,就是一模一样,我也差不多弹尽粮绝了,不知道要说什麽
Package 通过使用packages 的模式,可以创建易於共享的模组化程序码 一个最基本的pac...
三人行石头火锅 地点:台南市新营区民治路111号 时间:17:00~23:00 居然撑15天了~XD...
今天来介绍一下 solidity 里面一个很特殊的东西 events。 我们介绍了这几天,都还没有看...
业务模型画布(BMC)是一种战略管理和企业家工具,它是一种直观的图表,可让您描述,设计,挑战,发明和...
昨天说在做深度学习的时候,我们可能会卡在Local minimum、saddle point、甚至是...