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

机器学习——Day02

一、人工智能概述

1.人工智能主要分支

1.1计算机视觉

  • 人脸识别

1.2自然语言处理

  • 语音识别
  • 语义识别

1.3机器人

2.人工智能必备三要素

2.1数据

2.2算法

2.3计算力

二、机器学习概述

1.什么是机器学习

  • 机器学习是从数据自动分析获得模型,并利用模型对未知数据进行预测

2.机器学习工作流程

获取数据--->数据基本处理-->特征工程-->机器学习(模型训练)-->模型评估

3.数据集

3.1数据集专有名词

  • 样本
  • 特征
  • 目标值(标签值)
  • 特征值

3.2在数据集中一般

  • 一行数据为一个样本
  • 一列数据为一个特征
  • 有些数据有目标值(标签值),有些数据没有目标值

3.3数据类型构成

  • 数据类型一:特征值+目标值(目标值是连续和离散的)
  • 数据类型二:只有特征值,没有目标值

3.4数据分割

机器学习一般的数据集会划分为两个部分:

  • 训练数据:用于训练,构建模型
  • 测试数据:在模型检验时使用,用于评估模型是否有效

划分比例:

  • 训练集:70% 80% 75%
  • 测试集:30% 20% 25%

3.5数据基本处理

对数进行缺失值去除异常值等处理

4.特征工程

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限

4.1特征提取

4.2特征预处理

通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程

4.3特征降维

指在某些限定条件下,降低随机变量(特征)个数,得到一组不相关主变量的过程

5.模型评估

三、机器学习算法分类

1.监督学习

  • 输入数据是由输入特征值和目标值组成
  • 函数的输出可以是一个连续的值,称为回归;或是输出是有限个离散值,称为分类

2.无监督学习

  • 输入数据是由输入特征值组成
  • 输入数据没有被标记,也没有确定的结果。样本数据类别未知,需要根据样本间的相似性对样本集进行分类,试图使类内差距最小化,类间差距最大化

3.监督学习和无监督学习的对比

4.半监督学习

训练集同时包含有标记样本数据和未标记样本数据

5.强化学习

  • 动态过程,上一步数据的输出是下一步数据的输入
  • 目的:长期利益最大化、回报函数(只会提示你是否在朝着目标方向前进的延迟反映)
  • 四要素:agent、action、environment、reward

四、模型评估

1.分类模型评估

  • 准确率:预测正确的数占样本总数的比例
  • 精确率:正确预测为正占全部预测为正的比例
  • 召回率:正确预测为正占全部正样本的比例
  • F1-score:主要用于评估模型的稳健性
  • AUC指标:主要用于评估样本不均衡的情况

2.回归模型评估

2.1均方根误差(RMSE)

  • RMSE是一个衡量回归模型误差率的常用公式,但它只能比较误差是相同单位的模型

  • a:真实值 p:预测值

2.2相对平方误差(RSE)

  • 与RMSE不同,RSE可以比较误差是不同单位的模型

2.3平均绝对误差(MAE)

  • MAE与原始数据单位相同,它只能比较误差是相同单位的模型。量级近似于RMSE,但是误差值相对小一些

2.4相对绝对误差(RAE)

  • 与RSE不同,RAE可以比较误差是不同单位的模型

2.5决定系数

决定系数(R²)回归模型汇总了回归模型的解释度,由平方和术语计算而得

R²描述了回归模型所解释的因变量方差在总方差中的比例。R²很大,即自变量和因变量之间存在线性关系。如果回归模型是完美的,SSE为零,则R²为1。R²很小,则自变量和因变量之间存在线性关系的证据不令人信服。如果回归模型完全失败,则SSE等于SST,没有防擦很可悲回归解释,则R²为零

3.拟合

模型评估用于评价训练好的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合

3.1欠拟合

  • 学习的特征太少了,导致分类不明确

3.2过拟合

  • 所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳

五、深度学习简介

1.深度学习——神经网络简介

增加层数:通过更抽象的概念识别物体、器官层、分子层、原子层

增加节点数:增加同一层物质的种类

六、机器学习基础环境安装与使用

1.库的安装

打开终端命令 conda create -n ai python=版本号 conda init 重启终端命令 conda activate ai conda env export > 目的路径\environment.yml

2.Jupyter Notebook使用

  • day_01篇使用的编辑平台即为Jupyter
打开终端命令 conda activate ai cd /d D:\major\myjupyter\MachineLearning //切换到项目文件地址 jupyter botebook

新建Python 3文件 输入print('Hello World') ctrl+Enter运行代码输出

3.jupyter快捷键

七、Matplotlib

1.构图

2.三层结构

2.1容器层

  • canvas
  • figure
  • axes

2.2辅助显示层

  • 添加x轴、y轴描述

2.3图像层

  • 绘制什么图像的声明

3.折线图(plot)和基础绘图功能

3.1设置画布属性与图片保存

  • figsize:指定图的长度
  • dpi:图像的清晰度
  • plt.savefig(路径):保存图片到指定路径

注意:plt.show()会释放figure资源 如果在显示图像之后保存图片将只能保存空图片

3.2完善原始折线图

1.案例:显示温度变化状况;需求:画出某城市11点到12点1小时内每分钟的温度变化折线图 温度范围在15-18度;效果:

2.准备数据并画出初始折线图

3.3添加自定义x,y刻度

  • plt.xticks(x,**kwargs) x:要显示的刻度值
  • plt.yticks(y,**kwargs) y:要显示的刻度值
  • 注意:第一个参数必须是数字 如果不是数字 需要进行值替换

3.4添加网格显示

  • plt.grid(True,linestyle='-',alpha=0.5)
  • True:添加 linestyle:绘制网格的方式(虚线或实线) alpha:透明度

3.5添加x,y轴描述

3.6完善原始折线图

  • 需求:再添加一个城市的温度变化
#画出温度变化图 #0.准备x,y坐标的数据 x = range(60) y_shanghai = [random.uniform(15,18) for i in x] y_beijing = [random.uniform(15,25) for i in x] #1.创建画布 plt.figure(figsize=(20,8),dpi=80) #2.绘制折线图 plt.plot(x,y_shanghai,label="上海") plt.plot(x,y_beijing,label="北京") #2.1添加x,y轴刻度 x_ticks_labels = ['11点{}分'.format(i) for i in x] plt.xticks(x[::5],x_ticks_labels[::5]) #必须最开始传进去的是数字,x_ticks_labels是字符串 y_ticks = range(40) plt.yticks(y_ticks[::5]) #2.2添加网格线 plt.grid(True,linestyle='-',alpha=0.5) #2.3添加描述,需要声明plot里面的具体值 plt.xlabel("时间",fontsize=20) plt.ylabel("温度",fontsize=20) plt.title("一小时温度变化图",fontsize=20) #2.4显示图例 plt.legend() #3.显示图像 plt.show()

3.7多个坐标系显示-plt.subplots(面向对象的画图方法)

#画出温度变化图 #0.准备x,y坐标的数据 x = range(60) y_shanghai = [random.uniform(15,18) for i in x] y_beijing = [random.uniform(15,25) for i in x] #1.创建画布 fig, axes = plt.subplots(nrows=1,ncols=2,figsize=(20,8),dpi=100) #2.绘制折线图 axes[0].plot(x,y_shanghai,label="上海") axes[1].plot(x,y_beijing,label="北京") #2.1添加x,y轴刻度 y_yicks = range(40) x_ticks_labels = ["11点{}分".format(i) for i in x] axes[0].set_xticks(x[::5]) axes[0].set_yticks(y_ticks[::5]) axes[0].set_xticklabels(x_ticks_labels[::5]) axes[1].set_xticks(x[::5]) axes[1].set_yticks(y_ticks[::5]) axes[1].set_xticklabels(x_ticks_labels[::5]) #2.2添加网格线 axes[0].grid(True,linestyle="--",alpha=0.7) axes[1].grid(True,linestyle="--",alpha=0.7) #2.3添加描述 axes[0].set_xlabel("时间") axes[0].set_ylabel("温度") axes[0].set_title("上海一小时温度变化图",fontsize=20) axes[1].set_xlabel("时间") axes[1].set_ylabel("温度") axes[1].set_title("北京一小时温度变化图",fontsize=20) #2.4显示图例 axes[0].legend() axes[1].legend() #3.显示图像 plt.show()

3.8折线图的应用场景

  • 呈现公司产品(不同区域)每天活跃用户数
  • 呈现app每天下载数量
  • 呈现产品新功能上线后,用户点击次数随时间的变化
  • 拓展:画各种函数图像

3.9常见图形绘制

3.9.1折线图
  • 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
  • 特点:能够显示数据的变化趋势,反映事物的变化情况
  • api:plt.plot(x,y)
3.9.2散点图
  • 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结做坐标点的分布模式
  • 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
  • api:plt.scatter(x,y)
#0.数据准备 x = [255.98, 247.07, 253.17, 457.68, 241.53, 301.22, 20.67, 288.45, 163.25, 120.07, 207.48, 342.15, 147.64, 53.06, 224.53, 29.17, 21.49, 483.51, 245.4, 399.62, 343.18] y = [196.55, 203.15, 210.56, 372.49, 202.15, 247.16, 24.97, 239.34, 140.26, 104.13, 176.53, 288.64, 128.97, 49.68, 191.78, 33.1, 30.74, 400.02, 205.03, 330.30, 283.94] #1.创建画布 plt.figure(figsize=(20,8),dpi=100) #2.图像绘制 plt.scatter(x,y) #3.图像显示 plt.show()

3.9.3柱状图
  • 柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中
  • 特带你:回执联离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别
  • api:plt.bar(x,width,align='center',**kwargs)
  • x:具体的值 width:柱状图的宽度 aligen:每个柱状图的位置对齐方式
#0.准备数据 movie_name = ['雷神3','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它'] x = range(len(movie_name)) y = [73853,57767,22345,15969,14873,8725,8716,8318,7916,6764,52222] #1.创建画布 plt.figure(figsize=(20,8), dpi=100) #2.绘制 plt.bar(x, y, color=['b','r','g','y','c','m','y','k','c','g','b'],width=0.5) #2.1 x轴 plt.xticks(x,movie_name,fontsize=15) #2.2网格 plt.grid() #2.3标题 plt.title("某月电影票房统计") #3.显示 plt.show()

3.9.4直方图
  • 直方图:有一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表述数据,纵轴表示分布情况
  • 特点:绘制连续性的数据詹氏一族或者多组数据的分布状况
  • api:matplotlib.pyplot.hist(x, bins=None)
  • x:具体的值 bins:组距

3.9.5饼图
  • 饼图:用于表示不同分类的占比情况 通过弧度大小来对比各种分类
  • 特点:分类数据的占比情况
  • api:plt.pie(x, labels=,autopct=,colors)
  • x:数量 labels:每部分的名称 autopct:占比显示指定%1.2f%% colors:每部分颜色

http://www.jsqmd.com/news/1044953/

相关文章:

  • OpenCore Legacy Patcher终极指南:让老旧Mac免费升级最新macOS系统
  • 终极指南:如何用Deep3D快速将2D视频转换为3D立体影像
  • 南京家电维修平台推荐:本地用户反馈较好的几家服务商深度实测对比——2026年6月最新发布 - 一步到家
  • 广州家电维修平台推荐:本地用户反馈较好的几家服务商深度对比——2026年6月最新发布 - 一步到家
  • 【解构】GE-GAN:图嵌入与生成对抗网络如何重塑城市交通感知
  • 武汉家电维修平台推荐:本地口碑较好的几家服务商深度对比——2026年6月最新发布 - 一步到家
  • MC68HC908MR24上电复位(POR)与电源系统设计:从电气规格到工程实践
  • 第18章:Scheduler 与连续批处理机制
  • 2026昆山家庭防水修缮市场深度分析及3家适配服务商测评 专业防水公司排名推荐(2026年6月防水补漏最新TOP权威排名) - 鼎壹万修缮说
  • 水站SaaS公司推荐:新开社区水站数字化工具选型指南
  • 2026昆山卫生间防水服务商适配指南:昆山鼎壹万机构解析及5家优质服务商推荐 专业瓷砖空鼓维修公司排名推荐(2026年5月瓷砖空鼓维修最新TOP权威排名) - 鼎壹万修缮说
  • 武汉家具安装推荐良匠千艺2026口碑榜 - 我叫一
  • 166、模组来料检验标准:外观、MTF 抽检、IRCF 透过率测试的 IQC 流程
  • 马鞍山GEO服务商代理加盟选型靠谱推荐?2026年马鞍山GEO代理服务商选型排名与合作路径解析 - 子柔传媒
  • 第8章:50个生产级Prompt模板库——按场景分类,拿来就用
  • 第21篇:场景深潜:薪酬、社保与股权激励的系统铁腕
  • HoRain云--React Hooks
  • 17种创意主题:用代码绘制你的城市艺术名片
  • 大连家电维修平台推荐:本地用户实测较好的几家服务商深度对比——2026年6月最新发布 - 一步到家
  • 3步解锁老旧Mac新生命:OpenCore Legacy Patcher终极升级指南
  • 2026昆山地下室漏水维修服务选型指南:昆山鼎壹万防水补漏公司与行业服务商适配推荐 专业防水公司排名推荐(2026年6月防水补漏最新TOP权威排名) - 鼎壹万修缮说
  • Logstash:从Syslog到Elasticsearch的日志管道实战解析
  • 2026宜昌非急救转运救护车TOP5盘点|宜荆荆同城、长江跨江、三峡山地、院区转诊首选康跃转运 - 吉修匠
  • 2026烟台非急救转运救护车TOP5盘点|烟威同城、跨海跨岛、昆嵛山山地、院区转诊首选康跃转运 - 吉修匠
  • ffmpeg提取通义万象视频封面超时
  • Python-docx实战:深度解析Word段落样式与字体的继承机制
  • BG3ModManager完整使用指南:博德之门3模组管理终极教程
  • 爱回收买二手苹果靠谱吗?我拆了质检流程给你看 - 新闻快传
  • 铜陵GEO服务商代理加盟选型靠谱推荐:2026年铜陵GEO优化城市合伙人合作路径与代理排名更新 - 科技快讯
  • 2026年|10款降AI率工具红黑榜:解决AI率过高问题(论文降AI指南)