使用 Scikit-learn 进行 KNN 分类

8 sec read

最近邻(KNN)是一种非常简单、易于理解、通用性强的机器学习算法,广泛应用于金融、医疗、政治、手写检测、图像识别、视频识别等领域。在信用评级中,金融机构会预测客户的信用评级。在贷款支付中,银行机构将预测贷款是否安全或有风险。在政治学中,将潜在选民分为两类,要么投票,要么不投票。上一篇《K-近邻算法KNN学习笔记》主要讲解的是KNN的理论内容,今天主要学习怎么用KNN进行实战。

使用Scikit-Learn进行分类预测

由于Scikit-Learn包中已经封装好了相应的方法,所以使用起来非常的简单。具体代码如下:

使用Grid Search确定K值

使用KNN遇到的最大问题和使用K-Means类似,就是怎么确定K值,常见的方法主要是Grid Search。简单的说就是遍历K值,然后再计算评分,去评分最好的值作为最终选择。

这里我们使用Scikit-Learn自带的葡萄酒数据集,该数据是对意大利同一地区种植的三种不同品种葡萄酒进行化学分析的结果。这项分析确定了三种葡萄酒中每种葡萄酒中13种成分的含量。该数据库包括13个特征和一个目标(品种类型)。品种类型包括:’0类’、’1类’和’2类’。

所以在本例中,K选择1是最合适的。(多次执行此代码,发现最后生成的图片不一致,原因是随机划分数据导致的)

参考链接:https://www.datacamp.com/community/tutorials/k-nearest-neighbor-classification-scikit-learn

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

机器学习算法之Catboost

CatBoost是俄罗斯的搜索巨头Yandex在2017年开源的机器学习库,是Gradient Boostin
2 min read

机器学习算法之LightGBM

上一篇文章介绍了一个梯度提升决策树模型XGBoost,这篇文章我们继续学习一下GBDT模型的另一个进化版本:L
7 min read

机器学习算法之XGBoost

在上一篇Boosting方法的介绍中,对XGBoost有过简单的介绍。为了更还的掌握XGBoost这个工具。我
14 min read

发表评论

电子邮件地址不会被公开。 必填项已用*标注