2025年3月18日 星期二 甲辰(龙)年 月十七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

sklearn实现KNN分类算法

时间:01-30来源:作者:点击数:76

Pyhthon Sklearn 机器学习库提供了 neighbors 模块,该模块下提供了 KNN 算法的常用方法,如下所示:

类方法 说明
KNeighborsClassifier KNN 算法解决分类问题
KNeighborsRegressor KNN 算法解决回归问题
RadiusNeighborsClassifier 基于半径来查找最近邻的分类算法
NearestNeighbors 基于无监督学习实现KNN算法
KDTree 无监督学习下基于 KDTree 来查找最近邻的分类算法
BallTree 无监督学习下基于 BallTree 来查找最近邻的分类算法

本节可以通过调用 KNeighborsClassifier 实现 KNN 分类算法。下面对 Sklearn 自带的“红酒数据集”进行 KNN 算法分类预测。最终实现向训练好的模型喂入数据,输出相应的红酒类别,示例代码如下:

  • #加载红酒数据集
  • from sklearn.datasets import load_wine
  • #KNN分类算法
  • from sklearn.neighbors import KNeighborsClassifier
  • #分割训练集与测试集
  • from sklearn.model_selection import train_test_split
  • #导入numpy
  • import numpy as np
  • #加载数据集
  • wine_dataset=load_wine()
  • #查看数据集对应的键
  • print("红酒数据集的键:\n{}".format(wine_dataset.keys()))
  • print("数据集描述:\n{}".format(wine_dataset['data'].shape))
  • # data 为数据集数据;target 为样本标签
  • #分割数据集,比例为 训练集:测试集 = 8:2
  • X_train,X_test,y_train,y_test=train_test_split(wine_dataset['data'],wine_dataset['target'],test_size=0.2,random_state=0)
  • #构建knn分类模型,并指定 k 值
  • KNN=KNeighborsClassifier(n_neighbors=10)
  • #使用训练集训练模型
  • KNN.fit(X_train,y_train)
  • #评估模型的得分
  • score=KNN.score(X_test,y_test)
  • print(score)
  • #给出一组数据对酒进行分类
  • X_wine_test=np.array([[11.8,4.39,2.39,29,82,2.86,3.53,0.21,2.85,2.8,.75,3.78,490]])
  • predict_result=KNN.predict(X_wine_test)
  • print(predict_result)
  • print("分类结果:{}".format(wine_dataset['target_names'][predict_result]))

输出结果:

红酒数据集的键:
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names'])
数据集描述:
(178, 13)
0.75
[1]
分类结果:['class_1']

最终输入数据的预测结果为 1 类别。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门