当前位置: 首页 > article >正文

K 临近算法

机器学习中的 K 临近算法,计算输入数据与训练集中数据的距离,选取 k 个最近的数据,选中的数据中,那个分类多,那个分类就是最终结果。特征空间的距离有多重测量方法,最常用的就是欧氏距离,公式如下。
在这里插入图片描述
K 临近并不会对模型进行训练,而只是在训练集上进行查找。

数据准备

使用 Iris 数据集,准备训练集、测试集

# 导入相关模块
from collections import Counter
from sklearn import datasets
from sklearn.utils import shuffle
# 导入sklearn iris数据集
iris = datasets.load_iris()
# 打乱数据后的数据与标签
X, y = shuffle(iris.data, iris.target, random_state=13)
# 数据转换为float32格式
X = X.astype(np.float32)
# 训练集与测试集的简单划分,训练-测试比例为7:3
offset = int(X.shape[0] * 0.7)
X_train, y_train = X[:offset], y[:offset]
X_test, y_test = X[offset:], y[offset:]
# 将标签转换为竖向量
y_train = y_train.reshape((-1,1))
y_test = y_test.reshape((-1,1))
# 打印训练集和测试集大小
print('X_train=', X_train.shape)
print('X_test=', X_test.shape)
print('y_train=', y_train.shape)
print('y_test=', y_test.shape)

实现 K 临近算法

# 导入KneighborsClassifier模块
from sklearn.neighbors import KNeighborsClassifier
# 创建k近邻实例
neigh = KNeighborsClassifier(n_neighbors=10)
# k近邻模型拟合
neigh.fit(X_train, y_train)
# k近邻模型预测
y_pred = neigh.predict(X_test)
# 预测结果数组重塑
y_pred = y_pred.reshape((-1, 1))
# 统计预测正确的个数
num_correct = np.sum(y_pred == y_test)
# 计算准确率
accuracy = float(num_correct) / X_test.shape[0]
print('Got %d / %d correct => accuracy: %f' % (num_correct, X_test.shape[0], accuracy))

在这里插入图片描述

总结

KNN 是不要进行训练的,通过临近算法进行分类,可以用于处理简单的分类场景。


http://www.kler.cn/a/377589.html

相关文章:

  • Prim算法与Dijstra算法
  • 规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证
  • 占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……
  • 杂货 | 每日资讯 | 2024.11.1
  • Spring Boot框架下的信息学科平台系统开发实战
  • SICTF Round #4|MISC
  • AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
  • Nginx 深度解析:高性能 Web 服务器与反向代理的艺术
  • Hcia知识汇总
  • 局部加权回归
  • 【MySQL】 运维篇—安全管理:数据加密与SSL配置
  • 快消零售行业的培训创新:构建在线培训知识库
  • Apache Hive分布式容错数据仓库系统
  • 函数理解(c)
  • 1009:带余除法
  • Windows 安全日志解析
  • 飞桨首创 FlashMask :加速大模型灵活注意力掩码计算,长序列训练的利器
  • 程序的全生命周期
  • vue3 keep-alive简单说明
  • (转载)Tools for Learning LLVM TableGen
  • 随着飞行汽车的亮相,在环保方面有什么保护措施吗
  • 每天五分钟深度学习pytoroch:基于pytorch搭建逻辑回归算法模型
  • C/C++语言基础--C++模板与元编程系列二类模板、全特化、偏特化、编译模型简介、实现简单Vetctor等…………)
  • 2024最新精仿抖音直播软件源码
  • 从一到无穷大 #39:从 Vectorized Mode vs Code Gen 权衡特定场景执行引擎技术选型标准
  • vscode的一些使用心得