人工智能概念之一:机器学习基础概念(距离计算方法、归一化和标准化、交叉验证和网格搜索)

用KNN算法进行鸢尾花种类预测(交叉验证和网格搜索优化) Sklearn.preprocessing.MinMaxScaler(feature_range=(0,1))其中feature_range 是自己设定的数的范围,可以是0-1,出来的数也是0-1 ,也可以是其他,结果也是同样的范围。x_test = transfer.transform(x_test),关于为什么第二个用transform,首先我们需要了解fit和transform各自的作用,在标准化中,fit是。确定邻居之后,需要选取邻居数量,当所取邻居数(即k值)过小,容易受到最大最小值的影响; 阅读详情

一、 距离计算方法

在机器学习中,距离计算是一个非常重要的概念,它用于衡量样本之间的相似性。常见的距离计算方法有以下几种:

  • 欧式距离:两个样本间所有维度差的平方和再开方。公式表示为:对于两个样本 x = ( x 1 , x 2 , ⋯   , x n ) x=(x_1,x_2,\cdots,x_n) x=(x1​,x2​,⋯,xn​) 和 y = ( y 1 , y 2 , ⋯   , y n ) y=(y_1,y_2,\cdots,y_n) y=(y1​,y2​,⋯,yn​),欧式距离 d ( x , y ) = ∑ i = 1 n ( x i − y i ) 2 d(x,y)=\sqrt{\sum_{i = 1}^{n}(x_i - y_i)^2} d(x,y)=∑i=1n​(xi​−yi​)2 ​。

  • 曼哈顿距离:两个样本间所有维度差的绝对值相加。公式为: d ( x , y ) = ∑ i = 1 n ∣ x i − y i ∣ d(x,y)=\sum_{i = 1}^{n}|x_i - y_i| d(x,y)=∑i=1n​∣xi​−yi​∣。

  • 切比雪夫距离:两个样本间所有维度差的最大值。即 d ( x , y ) = max ⁡ i = 1 n ∣ x i − y i ∣ d(x,y)=\max_{i = 1}^{n}|x_i - y_i| d(x,y)=maxi=1n​∣xi​−yi​∣。

二、 归一化和标准化

在处理数据时,为了让机器学习算法效果更好,常常需要对数据进行预处理。常见的预处理方法有归一化和标准化。

  • 2.1 归一化:

    • 方法:导入sklearn.preprocessing里的MinMaxScaler,创建归一化对象,分别对x_train和x_test使用fit_transform和transform。

    • 作用:通过对原始数据进行变换把数据映射到【mi,mx】(默认为 [0,1]) 之间。

    • 公式: X scaled = X − X min X max − X min X_{\text{scaled}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}} Xscaled​=Xmax​−Xmin​X−Xmin​​

      其中, X min X_{\text{min}} Xmin​和 X max X_{\text{max}} Xmax​分别为特征的最小值和最大值。

    • 适用场景:适用于数据分布不呈正态、存在明显边界或对输入范围敏感的场景。

from sklearn.preprocessing import MinMaxScaler
import numpy as np

# 示例数据
X = np.array([[1, 2], [3, 4], [5, 6]])
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
  • 2.2 标准化:

    • 方法:导入sklearn.preprocessing里的StandardScaler,创建标准化对象,分别对x_train和x_test使用fit_transform和transform。

    • 作用:通过对原始数据进行标准化,转换为均值为 0 标准差为 1 的标准正态分布的数据。

    • 公式: X scaled = X − μ σ X_{\text{scaled}} = \frac{X - \mu}{\sigma} Xscaled​=σX−μ​

      其中, μ \mu μ为特征的均值, σ \sigma σ为特征的标准差。

    • 适用场景:适用于数据分布接近正态分布或存在离群点的场景。

from sklearn.preprocessing import StandardScaler
import numpy as np

# 示例数据
X = np.array([[1, 2], [3, 4], [5, 6]])
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)

三、 交叉验证和网格搜索

  • 交叉验证:是划分数据集的一种方法,目的是为了得到更加准确可信的模型评分,评估模型在未知数据上的表现,避免一次划分数据造成的偶然性。

  • 网格搜索:能够自动寻找最优的超参数组合,它枚举所有指定的超参数组合,并返回验证得到的最优组合。两者结合形成一个模型参数调优的解决方案,用于模型开发阶段的调参优化,提高泛化能力。

from sklearn.model_selection import GridSearchCV, cross_val_score​
from sklearn.neighbors import KNeighborsClassifier​
from sklearn.datasets import load_iris​
import numpy as np​
​
# 加载数据集​
iris = load_iris()​
X = iris.data​
y = iris.target​
​
# 定义参数网格​
param_grid = {'n_neighbors': np.arange(1, 20)}​
​
# 创建KNN分类器​
knn = KNeighborsClassifier()​
​
# 创建网格搜索对象​
grid_search = GridSearchCV(knn, param_grid, cv=5)​
​
# 进行网格搜索​
grid_search.fit(X, y)​
​
# 输出最优参数​
print("Best parameters: ", grid_search.best_params_)
机器学习(三) 之前做的特征工程的步骤: 1、实例化 (实例化的是一个转换器类(Transformer)) 2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 结果评价 准确率: 分类算法的评估之一 1、k值取多大?有什么影响? k值取很小:容易受到异常点的影响 k值取很大:受到样本均衡的问题 2、性能问题? 距离计算上面,时间复杂度高 优点: 简单,易于理解,易于实现,无需训练 缺 阅读详情

相关推荐

欧式距离+归一化

本程序是Matlab程序,实现了去数据的批量处理,对数据进行归一化,求欧式距离。压缩包里有数据有程序,并且程序有很详细的注释,是本人自己编写的,希望可以帮到有需要的人!

Python机器学习--KNN归一化、距离的惩罚

1. 归一化 1.1 距离类模型归一化的需求 什么是归一化呢?我们把X放到数据框中来看一一眼, 你是否观察到,每个特征的均值差异很大?有的特征数值很大。有的特征数值很小,这种现象在机器学习中被称为"星纲不统一"。 NN是距离类模型,欧氏距离的计算公式中存在若特征上的平方和: 试想看看,如果某个特征x的取值非常大,其他特征的取值和它比起来都不算什么,那距离的大小很大程度上都会由这个巨大特征x来决定,其他的特征之间的距离可能就无法对d(A,B) 的大小产生什么影响了,这种现象会让KNN这样的距离类模型的效果大

weixin_48678602的博客 1152

基于python+mediapipe的手势拖动识别(无gpu)

手势点方块拖动

weixin_38029956的博客 5982

归一化和标准化以及欧氏距离

当前项目中需要对所有图表计算它们之间的相似性,我们通过计算两两图表间的欧式距离来衡量其相似性。然而直接使用图表的原始数据进行计算会导致即使图表相似性极高但因为数据范围差别过大而失败,这里我们考虑对原始数据进行处理,将所有数据映射到某一个固定区间之内再计算。 这里就用到了特征缩放(Feature scaling),特征缩放(Feature Scaling)是将不同特征的值量化到...

mrdonghe的博客 1万+

Understand-Anything:AI驱动的代码知识图谱,实现项目全局洞察与高效导航

在软件开发中,理解复杂代码库的结构和依赖关系是提升开发效率的关键。传统代码阅读方式往往陷入局部视角,难以快速把握系统全貌。知识图谱技术通过将代码实体(如文件、类、函数)及其关系(调用、继承、依赖)可视化,为代码理解提供了全局视角。这项技术的核心价值在于将静态代码转化为动态、可交互的认知地图,极大降低了系统学习与维护成本。在实际工程中,它广泛应用于新成员快速入职、遗留系统梳理、架构影响分析等场景。本文介绍的Understand-Anything工具,正是基于这一理念,通过多智能体分析管道,自动构建代码的结构图

weixin_42615290的博客 882

STM32 I²C外设深度解析:时序配置、主从模式与可靠性工程

I²C是一种广泛应用于嵌入式系统的同步串行总线协议,其核心在于精确的时序控制与可靠的电气特性匹配。理解SCL/SDA信号建立/保持时间、上升下降沿约束及硬件滤波机制,是保障通信稳定的基础;STM32通过I2C_TIMINGR寄存器实现对PRESC、SCLH、SCLL、SDADEL和SCLDEL等关键参数的精细调控,直接影响tSU:DAT、tVD:DAT等标准时序合规性;该能力支撑工业级高可靠场景下的主从双向通信、时钟拉伸管理与错误恢复;本文聚焦STM32平台,结合寄存器级配置、状态机行为与实战调试经验,系统

weixin_42146230的博客 87

KNN算法(距离度量、归一化标准化)--day06

其中p≥1 是闵可夫斯基指数。切比雪夫距离(Chebyshev distance),也称为棋盘距离或无限范数距离,是在几何空间中计算两点之间的距离的一种方法,它使用的度量方式是各坐标数值差的绝对值的最大值。闵可夫斯基距离是一种重要的距离度量方法,能够根据p的值在曼哈顿距离和欧氏距离之间进行平滑过渡,并且可以适应不同的数据特性和应用需求。闵可夫斯基距离(Minkowski distance)是一种通用的距离度量方法,可以统一描述曼哈顿距离和欧氏距离,并且可以根据参数p的不同取值,适应不同类型的数据和问题。

qq_56750282的博客 3000

2025年从零开始:构建你的首个ComfyUI工作流-ComfyUI入门教程

然而,由于它拥有众多的插件节点,以及较为复杂的操作流程,学习起来相对困难。以前面搭建的文生图工作流为例,首先点击功能区的【保存】,然后你的浏览器会出来一个弹窗,你可以进行文件命名,点击确定后浏览器会下载该文件,也就是带“json”后缀的文件,这样我们的工作流就打包成一份文件了。思考一下前面说的,节点是不是需要下载安装才能使用,而我们复用别人的工作流,他用的节点你不一定下载了,因为目前有600多个节点,你不可能全部下载了吧,所以我们日后使用别人的工作流,你会经常出现这样的问题。

weixin_59486588的博客 1454

KNN-距离-数据归一化 Feature Scaling

KNN-距离-数据归一化 Feature Scaling 学习视频 在线数学公式的编辑工具 Q: 为什么要数据归一化? A: 样本 肿瘤大小(厘米) 发现时间(天) 样本1 1 200 样本2 5 100 采用欧拉距离:(1−5)2+(200−100)2\sqrt{(1-5)^{2}+(200-100)^{2}}(1−5)2+(200−100)2​,这值被发现时间所主导,虽...

hugh_博客标题 886

批处理脚本手动双击可以执行,但计划任务中执行失败

问题现象: 使用批处理脚本从linux端(samba server) 备份一些数据,设置计划任务每天凌晨两点定时备份。 1)、windows系统中映射共享文件夹为S:盘,需要输入共享用户名和密码 2)、脚本中使用xcopy命令复制共享目录中的文件到windows本地目录中。 脚本如下: set Name=%date:~0,4%%date:~5,2%%date:~8,2% chcp 65001 REM chcp防止中文乱码 mkdir "E:\脚本备份\bakscripts%Name%" xco

独孤清扬玩DB 4312

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 737

距离度量(距离函数)

2.联合熵 H(X,Y)=−∑x∑yp(x,y)log⁡p(x,y) H(X,Y)=-\sum_{x}{\sum_{y}{p(x,y)\log{p(x,y)}}} H(X,Y)=−x∑​y∑​p(x,y)logp(x,y)3.条件熵 H(Y∣X)=−∑x∑yp(x,y)log⁡p(y∣x) H(Y|X)=-\sum_{x}{\sum_{y}{p(x,y)\log{p(y|x)}}} H(Y∣X)=−x∑​y∑​p(x,y)logp(y∣x)4.互信熵:(信息增益) I(X,Y)=∑x,yp(x,y)log⁡

weixin_37805181的博客 2708

微信小程序|基于小程序+云开发制作一个菜谱小程序

今天吃什么?这是一个让强迫症左右为难的问题,跟随此文基于小程序+云开发制作一个菜谱小程序,根据现有食材一键生成菜谱,省心又省力。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

人工智能概念之八:常见的参数调优方法(交叉验证网格搜索、随机优化、贝叶斯优化、Hyperband优化)

摘要: 参数优化是提升机器学习模型性能的核心环节,直接影响模型拟合与泛化能力。传统网格搜索通过穷举参数组合确保稳定性,但计算量随参数维度指数增长。随机搜索通过概率采样降低计算成本,更适用于高维场景。贝叶斯优化引入高斯过程建模参数-性能关系,以智能采样策略平衡探索与利用,显著减少评估次数。Hyperband则采用动态资源分配策略,通过多轮淘汰机制高效筛选最优参数组合。这些方法在深度学习等复杂场景中,可将模型准确率提升5%-15%,为工业级应用提供关键性能保障。

Springfield3006的博客 1759

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

KNN算法基础 机器学习基础1 python人工智能

本文介绍了KNN(K近邻)算法的基本原理及其在分类和回归任务中的应用。KNN通过计算样本间的距离(如欧氏距离),选取最近的K个邻居进行预测:分类采用多数投票,回归采用平均值。文章还详细讲解了特征预处理方法(归一化和标准化)及其必要性,并通过鸢尾花数据集展示了完整的KNN分类流程,包括数据加载、预处理、模型训练与评估。实验结果表明,该模型在测试集上达到了96.7%的准确率。代码示例涵盖了sklearn库的关键操作,如KNeighborsClassifier、数据标准化和准确率计算。

Victoria551的博客 1074

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

机器学习之KNN算法

KNN算法是一种基于距离的分类和回归方法。摘要包括:1) KNN原理:通过计算测试样本与训练样本的距离,取K个最近邻进行投票(分类)或均值计算(回归);2) 实现步骤:距离计算、排序、取K近邻、决策;3) 特征工程:介绍了归一化和标准化处理,解决量纲问题;4) 应用案例:包括鸢尾花分类和手写数字识别;5) 优化方法:网格搜索交叉验证寻找最优参数。KNN简单有效但计算量大,适用于小数据集,K值选择影响模型性能。

2301_76243776的博客 1753

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[机器学习实战] 阅读第二章

阅读第二章 时间:2019-04-28 可能这就是我想在书中看到的内容,同样的内容在《Python机器学习基础教程》这本书中并未像这样被列出。 2.1Jupyter Notebook 太棒了!GitHub 万岁!!! begin时间:2019-04-29 因为书中的示例在Github上都有展示,并且都是ipynb格式,这意味着你只需要将其下载下来放到你的Jupyter Notebook工作目录下...

枪枪枪的博客 3867

使用sklearn进行机器学习,数据挖掘

sklearn是python机器学习最重要的库之一,用于数据挖掘,实现各种算法,sklearn框架概览。 一、sklearn实现算法: 由图中,可以看到库的算法主要有四类:分类,回归,聚类,降维。其中: 常用的回归:线性、决策树、SVM、KNN ;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees 常用的分类:线性、决策树、SVM、KN...

qq_39751437的博客 1411

机器学习及其KNN算法

机器学习(Machine Learning, ML)是人工智能的核心分支,旨在通过算法让计算机从数据中自动学习规律并优化性能,而无需显式编程。这一技术领域起源于20世纪50年代,随着计算能力的提升和大数据时代的到来,在21世纪得到了迅猛发展。

qq1851417332的博客 1841

机器学习基础笔记

本文系统整理了机器学习基础知识点,涵盖核心概念、常用算法和实用技巧。主要内容包括:机器学习三大类型(监督/无监督/强化学习)、基础概念(样本/特征/目标值)和建模流程(数据准备→特征工程→模型评估)。重点讲解了KNN、线性回归、逻辑回归、决策树等经典算法原理,以及集成学习(Bagging/Boosting)和KMeans聚类方法。文章提供了算法选择指南和Sklearn代码导包汇总,并总结了特征预处理、模型调优等公共能力。适合作为机器学习入门参考和技术速查手册。

weixin_69500620的博客 722

机器学习总结

本文是对系列全篇的总结,为友友们也为自己梳理一下哈哈哈😎

m0_56691516的博客 1503

机器学习笔记

本文系统介绍了机器学习的核心概念和应用方法。首先明确了AI、ML和DL的层级关系,指出机器学习是让机器从数据中自动学习规律的方法。重点阐述了机器学习的三大基石(数据、算法、算力)和四大任务类型(监督学习、无监督学习、半监督学习、强化学习)。详细讲解了工业级建模的标准流程,包括数据获取、特征工程、模型训练与评估等关键步骤。深入剖析了KNN、线性回归、决策树等经典算法原理,以及集成学习方法。最后讨论了模型优化策略,包括处理过拟合和欠拟合的方法,强调奥卡姆剃刀原则。全文以黑马程序员的课程内容为基础,为读者提供了机

m0_54149550的博客 765

【保姆级】机器学习核心知识点总结 | 从基础到经典算法全梳理

基础概念是核心:特征工程、拟合问题、评估指标一定要吃透,否则算法调参都是空谈;算法先理解思想,再扣公式:比如 KNN 的「近邻」、逻辑回归的「Sigmoid 映射」,公式是思想的数学表达;实战优先:用 Sklearn 跑通基础案例(如鸢尾花分类、波士顿房价回归),再深入调参和原理;避坑重点:过拟合 / 欠拟合的识别与解决、特征工程的落地(预处理 / 降维)是工业场景的高频问题。

2401_86386153的博客 996

02.KNN算法笔记

本文系统介绍了KNN(K-近邻)算法的核心原理与应用。主要内容包括:算法思想(基于最近邻样本分类)、关键参数K值选择策略、四种距离度量方法(欧氏、曼哈顿、切比雪夫、闵可夫斯基)及特征预处理(归一化与标准化)。详细阐述了分类和回归问题的实现流程,并提供了sklearn的API使用示例。文章还介绍了超参数优化方法(交叉验证与网格搜索),并通过鸢尾花分类和手写数字识别两个实战案例进行演示。最后总结了KNN算法的优缺点、关键要点(K值选择、距离度量等)及典型应用场景。

weixin_63182000的博客 1064

AI_practice02_面试题

各位论坛的机器学习爱好者们,大家好!在上一篇文章中,我们详细探讨了KNN算法的原理与实现。今天,我们通过五个核心问题来进行一次深入的复盘和总结,帮助大家彻底巩固对KNN的理解。

a742235926的博客 780
下一篇: KNN (K-Nearest Neighbors,K 最近邻算法)算法详解
.30-06Springfield
博客等级 码龄7年 321粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值