如何使用KNN近邻算法
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,本篇文章为大家展示了如何使用KNN近邻算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.什么是knn算法百度百科介绍的已经很详细,在此只作简单介绍。存在一
千家信息网最后更新 2025年02月24日如何使用KNN近邻算法
本篇文章为大家展示了如何使用KNN近邻算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1.什么是knn算法
百度百科介绍的已经很详细,在此只作简单介绍。
存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据 与所属分类的对应关系。输人没有标签的新数据后,将新数据的每个特征与样本集中数据对应的 特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们 只选择样本数据集中前K个最相似的数据,这就是K-近邻算法中K的出处,通常K是不大于20的整数。 最后 ,选择K个最相似数据中出现次数最多的分类,作为新数据的分类。
2.knn算法的优缺点:
优点:精度高、对异常值不敏感、无数据输入假定。
缺点:时间复杂度高、空间复杂度高。
适用数据范围:数值型和标称型。
3.利用knn解决分类问题
1,导包
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
import sklearn.datasets as datasets#该数据集中,有好多的数据 是关于数据分析的一些数据
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
%matplotlib inline
2.导入sklearn自带的鸢尾花数据集
iris_data =datasets.load_iris()
3.获取数据集的特征和标签
data =iris_data.data
label=iris_data.target
4.查看特征名称
iris_data.feature_names
由此发现该数据集有,['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']四个特征,一一对应其data中的每一列数据
5.拆分训练集和测试集
#data 一分为二,训练数据X_train,x_test;
#target 一分为二 y_train,y_test
#y_train 目标值,y_test (保留的真实值)
X_train,x_test,y_train,y_test = train_test_split(data,target,test_size=0.1)
6.实例化算法并开始训练数据
#声明算法
knn = KNeighborsClassifier()
#训练数据
knn.fit(X_train,y_train)
7.查看准确率
knn.score(x_test,y_test)
8.进行测试,并将预测结果与真实结果对比
#进行测试,只将数据交给model进行预测
y_ = knn.predict(x_test)
y_
y_是预测结果,y_test是真实标签,对比即可
9.展示数据
#获取训练样本
#对原始数据进行处理,获取花萼的长度和宽度
#绘制展示这些花
X_train = data[:,:2]
y_train = ta
使用三点图展示数据
plt.scatter(X_train[:,0],X_train[0:,1],c=y_train,cmap="rainbow")
上述内容就是如何使用KNN近邻算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
数据
算法
样本
特征
训练
标签
分类
近邻
相似
结果
测试
复杂
一分为二
内容
复杂度
就是
技能
知识
选择
原始
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
贵州省网络安全优秀
eq服务器
哪家服务器的噪音小
地税局网络安全责任人书
北京游戏软件开发学院
未来一个家庭需要配备服务器吗
车辆违章管理数据库
分级保护 软件开发
实验四数据库安全性CSDN
网络安全法什么时候起施行的
u82000版数据库
服务器搭建ss
数据库sga
显示学号的后五位数据库
红米6pro服务器异常
牧原软件开发 怎么样
微信平台软件开发哪个公司好
湖州通信网络技术推荐咨询
正规网络技术开发费用是多少
适合存储音乐的数据库
软件开发项目经理讲话
静安区辅助网络技术欢迎咨询
北大青鸟学习软件开发
建立青少年涉毒建立数据库
数据库软件开发难吗
pop电子发票服务器
单片机软件开发需掌握的内容
如何增强网络安全常识
网络安全防护书籍
c#连接数据库的增删改查