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

KNN 算法

  1. KNN算法原理讲解

    K 表示“最近邻”的数量,即在进行分类或回归预测时,考虑的周围最近的样本点的个数。

    第一个 N 是“Nearest”的缩写,表示“最近的”。

    二个 N 是“Neighbors”的缩写,表示“邻居”。

    • KNN(K-Nearest Neighbors)是一种基于距离的分类算法,核心思想是“少数服从多数”。
    • 步骤:
      • 计算新数据与已知数据集中所有点的距离(如欧式距离或曼哈顿距离)。
      • 按距离递增排序,选取前K个最近邻。
      • 根据K个邻居中多数类别确定新数据的分类。
    • K值的重要性:K的取值直接影响分类结果,需谨慎选择(一般不超过20)。
  2. 距离度量方法

    • 欧式距离:两点间的直线距离,适用于多维空间,公式为平方和开方。
    • 曼哈顿距离:横平竖直的路径距离,适用于网格状路径场景,公式为坐标差绝对值的和。
  3. 代码实现(鸢尾花分类示例)

    • 数据集加载:使用sklearn.datasets.load_iris()加载鸢尾花数据集(特征:花萼/花瓣长度/宽度;标签:三类)。
    • 数据划分train_test_split按比例(如70%训练集,30%测试集)划分数据,需设置随机种子(random_state)保证可复现性。
    • 模型训练
      • 创建KNN分类器:KNeighborsClassifier(n_neighbors=5, metric='euclidean')
      • 拟合数据:knn.fit(X_train, y_train)
    • 评估与预测
      • 计算准确率:knn.score(X_test, y_test)
      • 预测标签:knn.predict(X_test)
  4. 关键注意事项

    • KNN可用于分类和回归问题,回归时取邻居的平均值。
    • 特征需标准化,避免量纲影响距离计算。
    • 测试集仅用于最终评估,不可参与训练过程。
  5. 问答与互动

    • 强调K值选择对结果的影响,并通过示例演示不同K值导致分类结果变化。
    • 解释代码中fit(拟合)、score(准确率)、predict(预测)的作用及参数含义。
http://www.dtcms.com/a/332849.html

相关文章:

  • 高频量化详解,速度和程序化的满足!
  • 卷积神经网络(CNN)学习笔记
  • 基本电子元件:贴片电阻器的种类
  • 序列晋升6:ElasticSearch深度解析,万字拆解
  • Spring事物
  • 如何理解AP中SM中宿主进程?
  • 艾伦·图灵:计算理论与人工智能的奠基人
  • 云原生俱乐部-k8s知识点归纳(4)
  • 数据结构初阶:排序算法(一)插入排序、选择排序
  • uniapp纯前端绘制商品分享图
  • 18- 网络编程
  • 【学习笔记】Java并发编程的艺术——第10章 Executor框架
  • 从PDF到洞察力:基于飞算JavaAI的智能文档分析引擎实战
  • canoe面板中的进度条的使用
  • 分享一个基于Hadoop的二手房销售签约数据分析与可视化系统,基于Python可视化的二手房销售数据分析平台
  • AI工作流入门指南:从概念到实践
  • Redis 缓存和 Redis 分布式锁
  • SpringCloud -- Nacos详细介绍
  • Vue3从入门到精通: 4.5 数据持久化与同步策略深度解析
  • 电工的基础知识以及仪器的使用
  • linux下用c++11写一个UDP回显程序
  • 什么是敏感内容识别技术?
  • 平替 Claude Code,API接入 GPT-5,Codex CLI 国内直接使用教程
  • linux-数据链路层
  • ChatGPT-5(GPT-5)全面解析:一场从通用智能迈向专属智能的进化风暴,正在重塑人类与机器的协作边界
  • 当 FastGPT 遇见 Doris:无需手写 SQL,丝滑实现自助 ChatBI
  • wordpress忘记密码怎么办
  • 开源数据发现平台:Amundsen Frontend Service 应用程序配置
  • 专题三_二分_在排序数组中查找元素的第一个和最后一个位置
  • Jeecg后端经验汇总