【机器学习】嘿马机器学习(算法篇)第15篇:机器学习算法定位、目标,1.1 K-近邻算法简介【附代码文档】

举报
程序员一诺python 发表于 2025/10/18 16:37:09 2025/10/18
【摘要】 1.定位、目标。2. K-近邻算法涵盖距离度量、k值选择、kd树、鸢尾花种类预测数据集介绍、练一练、交叉验证网格搜索、facebook签到位置预测案例。3. 线性回归包括线性回归简介、线性回归损失和优化、梯度下降法介绍、波士顿房价预测案例、欠拟合和过拟合、正则化线性模型、正规方程推导方式、梯度下降法算法比较优化、维灾难。4. 逻辑回归涵盖逻辑回归介绍、癌症分类预测案例(良恶性乳

🏆🏆🏆教程全知识点简介:1.定位、目标。2. K-近邻算法涵盖距离度量、k值选择、kd树、鸢尾花种类预测数据集介绍、练一练、交叉验证网格搜索、facebook签到位置预测案例。3. 线性回归包括线性回归简介、线性回归损失和优化、梯度下降法介绍、波士顿房价预测案例、欠拟合和过拟合、正则化线性模型、正规方程推导方式、梯度下降法算法比较优化、维灾难。4. 逻辑回归涵盖逻辑回归介绍、癌症分类预测案例(良恶性乳腺癌肿瘤预测、获取数据)、ROC曲线绘制。5. 朴素贝叶斯算法包括朴素贝叶斯算法简介、概率基础复习、产品评论情感分析案例(取出内容列数据分析、判定评判标准好评差评)。6. 支持向量机涵盖SVM算法原理、SVM损失函数、数字识别器案例。7. 决策树算法包括决策树分类原理、cart剪枝、特征工程特征提取、决策树算法api、泰坦尼克号乘客生存预测案例。8. EM算法涵盖初识EM算法、EM算法介绍。9. HMM模型包括马尔科夫链、HMM简介、前向后向算法评估观察序列概率、维特比算法解码隐藏状态序列、HMM模型API介绍。10. 集成学习进阶涵盖Bagging、xgboost算法原理、otto案例(Otto Group Product Classification Challenge xgboost实现)、数据变化可视化、lightGBM、stacking算法基本思想、住房月租金预测。11. 聚类算法包括聚类算法api初步使用、聚类算法实现流程、模型评估、算法优化、特征降维、用户对物品类别喜好细分案例、算法选择指导。12. 数学基础涵盖向量与矩阵范数、朗格朗日乘子法、Huber Loss、极大似然函数取对数原因。


📚📚仓库code.zip 👉直接-->:   https://gitee.com/yinuo112/AI/blob/master/机器学习/嘿马机器学习(算法篇)/note.md    🍅🍅

✨ 本教程项目亮点

🧠 知识体系完整:覆盖从基础原理、核心方法到高阶应用的全流程内容
💻 全技术链覆盖:完整前后端技术栈,涵盖开发必备技能
🚀 从零到实战:适合 0 基础入门到提升,循序渐进掌握核心能力
📚 丰富文档与代码示例:涵盖多种场景,可运行、可复用
🛠 工作与学习双参考:不仅适合系统化学习,更可作为日常开发中的查阅手册
🧩 模块化知识结构:按知识点分章节,便于快速定位和复习
📈 长期可用的技术积累:不止一次学习,而是能伴随工作与项目长期参考


🎯🎯🎯全教程总章节


🚀🚀🚀本篇主要内容

机器学习算法定位、目标

定位

  • 以算法、案例为驱动的学习,伴随浅显易懂的数学知识
  • 作为人工智能领域的提升,掌握更深更有效的解决问题技能

目标

  • 掌握机器学习常见算法原理
  • 应用Scikit-learn实现机器学习算法的应用,
  • 结合场景解决实际问题

1.1 K-近邻算法简介

学习目标

  • 目标

  • 了解什么是KNN算法

  • 知道KNN算法求解过程

1 什么是K-近邻算法

图片无法加载

  • 根据你的“邻居”来推断出你的类别

1.1 K-近邻算法(KNN)概念

K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法, 总体来说KNN算法是相对比较容易理解的算法

  • 定义

如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

来源:KNN算法最早是由Cover和Hart提出的一种分类算法

  • 距离公式

两个样本的距离可以通过如下公式计算,又叫欧式距离 ,关于距离公式会在后面进行讨论

1.2 电影类型分析

假设 现在有几部电影

其中? 号电影不知道类别,如何去预测? 可以利用K近邻算法的思想

分别计算每个电影和被预测电影的距离,然后求解

1.3 KNN算法流程总结

1)计算已知类别数据集中的点与当前点之间的距离

2)按距离递增次序排序

3)选取与当前点距离最小的k个点

4)统计前k个点所在的类别出现的频率

5)返回前k个点出现频率最高的类别作为当前点的预测分类

2 小结

  • K-近邻算法简介【了解】

  • 定义:就是通过你的"邻居"来判断你属于哪个类别

  • 如何计算你到你的"邻居"的距离:一般时候,都是使用欧氏距离

1.2 k近邻算法api初步使用

学习目标

  • 目标

  • 了解sklearn工具的优点和包含内容

  • 应用sklearn中的api实现KNN算法的简单使用

  • 机器学习流程复习:

  • 1.获取数据集
  • 2.数据基本处理
  • 3.特征工程
  • 4.机器学习
  • 5.模型评估

1 Scikit-learn工具介绍

  • Python语言的机器学习工具
  • Scikit-learn包括许多知名的机器学习算法的实现
  • Scikit-learn文档完善,容易上手,丰富的API
  • 目前稳定版本0.19.1

1.1 安装

pip3 install scikit-learn==0.19.1

安装好之后可以通过以下命令查看是否安装成功

import sklearn
  • 注:安装scikit-learn需要Numpy, Scipy等库

1.2 Scikit-learn包含的内容

  • 分类、聚类、回归
  • 特征工程
  • 模型选择、调优

2 K-近邻算法API

  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)

  • n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数

3 案例

3.1 步骤分析

  • 1.获取数据集
  • 2.数据基本处理(该案例中省略)
  • 3.特征工程(该案例中省略)
  • 4.机器学习
  • 5.模型评估(该案例中省略)

3.2 代码过程

  • 导入模块
from sklearn.neighbors import KNeighborsClassifier
  • 构造数据集
x = [[0], [1], [2], [3]]
y = [0, 0, 1, 1]
  • 机器学习 -- 模型训练
# 实例化API


estimator = KNeighborsClassifier(n_neighbors=2)


# 使用fit方法进行训练


estimator.fit(x, y)

estimator.predict([[1]])

4 小结

  • sklearn的优势:

  • 文档多,且规范

  • 包含的算法多
  • 实现起来容易

  • knn中的api

  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)

问题

1.距离公式,除了欧式距离,还有哪些距离公式可以使用?

2.选取K值的大小?

3.api中其他参数的具体含义?

K-近邻算法

学习目标

  • 掌握K-近邻算法实现过程
  • 知道K-近邻算法的距离公式
  • 知道K-近邻算法的超参数K值以及取值问题
  • 知道kd树实现搜索的过程
  • 应用KNeighborsClassifier实现分类
  • 知道K-近邻算法的优缺点
  • 知道交叉验证实现过程
  • 知道超参数搜索过程
  • 应用GridSearchCV实现算法参数的调优

1.3 距离度量

学习目标

  • 目标

  • 知道机器学习中常见的距离计算公式


[Python 语言参考]

1 欧式距离(Euclidean Distance):

欧氏距离是最容易直观理解的距离度量方法, 小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];
经计算得:
d = 1.4142    2.8284    4.2426    1.4142    2.8284    1.4142

[PyPDF2 文档]

2 曼哈顿距离(Manhattan Distance):

在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为“城市街区距离”(City Block distance)。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];
经计算得:
d =   2     4     6     2     4     2

[python-docx 文档]

3 切比雪夫距离 (Chebyshev Distance):

[Kivy 文档]

国际象棋中,国王可以直行、横行、斜行,所以国王走一步可以移动到相邻8个方格中的任意一个。国王从格子(x1,y1)走到格子(x2,y2)最少需要多少步?这个距离就叫切比雪夫距离。

举例:

X=[[1,1],[2,2],[3,3],[4,4]];
经计算得:
d =   1     2     3     1     2     1

4 闵可夫斯基距离(Minkowski Distance):

[python-multipart 文档]

闵氏距离不是一种距离,而是一组距离的定义,是对多个距离度量公式的概括性的表述。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。