关于实现 k 近邻算法的总结

什么情况使用 KNN 算法?

答:KNN 算法既可以用于分类也可以用于回归预测。然而,业内主要用于分类问题。在评估一个算法时,我们通常从以下三个角度出发:1.模型解释性2.运算时间3.预测能力   

KNN 算法的原理是什么?        

我们知道样本集中每一数据与所属分类的对应关系。

如何选择因子 K?

首先要了解 K 在算法中到底有什么影响。在前文的案例中,假定总共只有 6 个训练数据,给定 K 值,我们可以划分两个类的边界。现在让我们看看不同 K 值下两个类别的边界的差异。

   

仔细观察,我们会发现随着 K 值的增加,边界变得更平滑。当K值趋于无穷大时,分类区域最终会全部变成蓝色或红色,这取决于占主导地位的是蓝点还是红点。

我们可以通过以下步骤实现 KNN 模型:

  • 加载数据。

  • 预设K值。

  • 对训练集中数据点进行迭代,进行预测。

STEPS:

  • 计算测试数据与每一个训练数据的距离。我们选用最常用的欧式距离作为度量。其他度量标准还有切比雪夫距离、余弦相似度等

  • 根据计算得到的距离值,按升序排序

  • 从已排序的数组中获取靠前的k个点

  • 获取这些点中的出现最频繁的类别

  • 得到预测类别

我们将使用流行的 Iris 数据集来构建 KNN 模型。你可以从这里下载(数据集链接:

https://gist.githubusercontent.com/gurchetan1000/ec90a0a8004927e57c24b20a6f8c8d35/raw/fcd83b35021a4c1d7f1f1d5dc83c07c8ffc0d3e2/iris.csv)

复制数据,粘贴到text文件中。重新命名为:iris.csv (这是Excel文件)

执行后发现:

可以看到,两个模型都预测了同样的类别(“irisi –virginica”)和同样的最近邻([141 139 120])。因此我们可以得出结论:模型是按照预期运行的。

    原文链接:https://www.analyticsvidhya.com/blog/2018/03/introduction-k-neighbours-algorithm-clustering/                                                                                                                                                          
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值