零基础机器学习(3)之机器学习的一般过程

文章目录

    • 一、机器学习一般过程
      • 1.数据获取
      • 2.特征提取
      • 3.数据预处理
        • ①去除唯一属性
        • ②缺失值处理
          • A. 均值插补法
          • B. 同类均值插补法
        • ③重复值处理
        • ④异常值
        • ⑤数据定量化
      • 4.数据标准化
        • ①min-max标准化(归一化)
        • ②z-score标准化(规范化)
      • 5.数据降维
        • ①目的
        • ②权衡
      • 6.训练模型
        • ①样本数据集的选取
        • ②机器学习算法
      • 7.评估模型的有效性
        • ①过拟合与欠拟合
        • ②性能度量
          • A. 回归任务
          • B.分类任务
          • C.聚类任务
      • 8.使用模型

一、机器学习一般过程

机器学习的基本思想是通过从样本数据中提取所需特征构造一个有效的模型,并使用所建模型来完成具体的任务。

首先要获取所研究问题的数据

其次是对获取到的数据进行适当处理,然后选取合适的算法训练模型

最后对训练好的模型进行评估,以判定其是否满足任务需求,如满足,即可使用模型。

1.数据获取

机器学习的第一步是收集与学习任务相关的数据,这是最基础也是最重要的一步。

虽然现在是大数据时代,但对于一个给定任务,要得到与之相关的数据有时却很困难。业界广泛流传这样一句话:*数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限的方法而已。*因此,数据的获取尤为重要。

在训练最优的机器学习模型时,一定要选择最有代表性的数据集。只有选择最合适的属性作为特征,才能保证机器学习项目能应用于实际。

2.特征提取

特征提取是使用专业的背景知识和技巧最大限度地从原始数据中提取并处理数据,使得特征在机器学习的模型上得到更好的发挥,它直接影响机器学习的效果。

例如,在机器自动分辨筷子和牙签两种物品的实验中

序 号长度/(cm)质量/(g)材 质类 别
1258筷子
2237筷子
3204筷子
460.1牙签
550.08牙签
65.80.09牙签

观察表数据集可发现,根据长度和质量这两个特征即可分辨筷子和牙签,材质这个特征对区分筷子和牙签的作用并不明显,故可在特征属性中提取长度和质量这两个特征,而将材质这个特征删除,这个过程称为特征提取。

3.数据预处理

现实生活中,收集到的数据往往会有数据量纲(数据的度量单位)或数据类型不一致等问题。因此,在获取样本之后,通常需要对数据进行预处理。

数据预处理没有标准流程,通常包含去除唯一属性处理缺失值重复值异常值,以及数据定量化等几个步骤。

序 号姓 名年龄/(岁)年收入/(元)性 别学 历年消费/(元)
1张三3650 000本科30 000
2赵琦4245 000本科40 000
3李武2330 000高中
4王波6170 000本科20 000
5刘玉琦3820 000大专10 000
6赵琦4245 000本科40 000
7赵倩−530 000本科90 000

该数据集是某平台上的“客户信息样本数据集”,要求使用机器学习方法,进行聚类,将客户划分为几种类型,以便为其推销相关的产品。在训练模型之前,我们需要对数据集中的数据进行预处理,才能得到理想的机器学习样本数据集。

①去除唯一属性

唯一属性通常指ID、姓名等属性,每个样本的取值都不一样且唯一,这些属性不能刻画样本自身的分布规律,在做数据预处理时,需将这些属性删除。

序 号年龄/(岁)年收入/(元)性 别学 历年消费/(元)
13650 000本科30 000
24245 000本科40 000
32330 000高中
46170 000本科20 000
53820 000大专10 000
64245 000本科40 000
7−530 000本科90 000
②缺失值处理

这里的缺失值指的是,单个样本中的数据某些确实,并不是样本缺失

常见的缺失值处理方法有3种

  • 直接使用含有缺失值的特征;
  • 删除含有缺失值的特征;
  • 缺失值补全。其中,缺失值补全是最常用的手段。
A. 均值插补法

是指使用该属性有效值的平均值来插补缺失的值

B. 同类均值插补法

是指首先将样本进行分类或聚类,然后以该类中样本的均值插补缺失值。

③重复值处理

在数据处理中,重复值指的是数据集中出现了两个或多个完全相同的记录或行。这些记录在所有列上的取值都完全相同,没有任何区别。重复值可能是由数据输入错误、数据复制问题或其他原因导致的。

重复值会导致数据的方差变小,数据的分布发生较大变化。因此,若检查到数据集中有重复数据,要将其删除。

④异常值

异常值是指超出或低于正常范围的值,如年龄为负数、身高大于3 m等,它会导致分析结果产生偏差甚至错误。检查到异常值后,可对异常值进行删除或替换处理

序 号年龄/(岁)年收入/(元)性 别学 历年消费/(元)
13650 000本科30 000
24245 000本科40 000
32330 000高中15 000
46170 000本科20 000
53820 000大专10 000
⑤数据定量化

计算机只能处理数值型数据。因此,在数据预处理时,如果有非数值型数据,都要先转换成数值型数据。

序 号年龄/(岁)年收入/(元)性 别学 历年消费/(元)
13650 00016030 000
24245 00026040 000
32330 00012015 000
46170 00016020 000
53820 00024010 000

在该数据集中性别和学历都是非数值型数据,需将其处理成数值型数据,如学历“高中”可用20代替,“大专”可用40代替,“本科”可用60代替;性别中的“男”可用1代替,“女”可用2代替。

4.数据标准化

数据标准化是指将数据按比例缩放,使之落入一个特定区间,从而消除数据之间数量级的差异。经过标准化处理后,不同的特征可以具有相同的尺度

①min-max标准化(归一化)

数据集的每个属性(数据表中的列)中都有一个最大值和一个最小值,分别用max和min表示,然后通过一个公式将原始值映射到区间[0,1]上。

序 号年 龄年 收 入性 别学 历年 消 费
10.340.6010.67
20.50.5111
300.2000.17
411010.33
50.39010.50

整个数据集的数据经过min-max标准化处理后的结果如表所示。

这种处理方法的缺点是当有新数据加入时,可能会导致最大值和最小值发生变化,需要重新定义。

②z-score标准化(规范化)

它是基于原始数据的均值和标准差进行数据标准化的一种方法。

z-score标准化方法适用于属性的最大值和最小值未知的情况或有超出取值范围的离群数据的情况。

公式:新值=(原始值-均值)/标准差

序 号年 龄年 收 入性 别学 历年 消 费
1−0.330.41−0.820.750.65
20.160.121.220.751.58
3−1.38−0.76−0.82−1.75−0.74
41.711.56−0.820.75−0.28
5−0.16−1.341.22−0.5−1.21

整个数据集的数据经过z-score标准化处理后的数据如表所示。

注意:

z-score标准化要求样本属性值数据服从正态分布,这就要求样本数量足够多,故此案例不适合使用z-score标准化进行数据处理。

5.数据降维

  • “维度”是指样本集中特征属性的个数。
  • “降维”是指减少特征矩阵中特征的数量。
①目的
  1. 为了对数据进行可视化,以便对数据进行观察和探索;
  2. 简化机器学习模型的训练,使模型的泛化能力更好,避免“维度灾难”。

在实际应用中,数据一般是高维的。

手写数字“1”及其对应二维矩阵

手写的数字图片,如果将其缩放到28x28像素的大小,那么它的维度就是28x28=784维

对应的图像二维矩阵

数据已经被规范化到(0,1)范围内

②权衡

维数太多或太少都不好,设置恰当的维数对机器学习模型非常重要。

例如,对苹果和梨子进行分类时,若只将形状作为特征,则很可能会出现错误分类的情况;若再将大小作为特征,则可减少错误分类的情况;若再将颜色作为特征,则可进一步减少错误分类的情况。

数据降维最常用的方法是主成分分析法。
深度学习就是对样本的特征进行复杂的变换,得到最有效的特征,从而提高机器学习的性能。

6.训练模型

①样本数据集的选取
  • 训练集的数据要尽可能充分且分布平衡(即每个类别的样本数量差不多),否则不可能训练出一个完好的模型;
  • 验证集或测试集的样本也需要符合一定的平衡分布,否则将无法测试出一个准确的模型;
  • 训练模型和测试模型使用的样本不能相同。
②机器学习算法

训练机器学习模型时,要根据具体的学习任务,选择合适的算法。

  • 分类任务经常使用的算法有k近邻、朴素贝叶斯、决策树、支持向量机等;
  • 回归任务经常使用的算法有线性回归、k近邻、决策树等;
  • 聚类任务经常使用的算法有k均值、DBSCAN、GMM等。

7.评估模型的有效性

一个机器学习模型训练出来后,一般需要评估该模型的效果,看其是否能满足实际问题的需要。

评估模型的有效性就是利用测试集对模型进行测试,评估其输出结果。

事实上,我们希望得到一个在新的未知样本上表现很好的模型,即泛化能力好的模型。

①过拟合与欠拟合

如果模型在训练样本上学得“太好”了,很可能把训练样本自身的一些特点当成了所有样本的一般性质,导致泛化能力下降,这种现象在机器学习中称为“过拟合”。

与“过拟合”相对的就是“欠拟合”,指对训练样本的一般性质尚未学好。图1-10给出了关于过拟合与欠拟合的一个类比,便于理解。

②性能度量
A. 回归任务
  • 残差:在数理统计中是指所有拟合数据(即模型预测数据)与原始数据(样本实际值)之间的差的和
  • 和方差(SSE):拟合数据和原始数据对应点的误差的平方和。SSE越接近于0,说明模型越好,数据预测也越成功。
  • 均方误差(MSE):拟合数据和原始数据对应点误差的平方和的均值,。
  • 均方根误差(RMSE):MSE的平方根,也称回归任务的拟合标准差
  • 确定系数(R2):通过数据的变化来表征一个拟合的好坏,R2的正常取值范围为[0.1],越接近1,表明模型越好。
B.分类任务

分类任务中最常用的评估方法有准确率精确率召回率和F1值等。下面以一个二分类问题为例,介绍这些评估方法的含义。

真 实 值正 例反 例
预 测 值
正例真正例( )假反例( )
反例假正例( )真反例( )

在二分类中,假设样本有正反两个类别,则分类模型预测的结果有两种,正例和反例;真实数据的标签也有两种,正例和反例。那么,预测结果与真实标签的组合就有真正例(true positive)、真反例(true negative)、假正例(false positive)和假反例(false negative)4种情况,分别用 TP、 TN、FP 和 FN表示以上4种情况,

TP表示真实值与预测值都是正样本的数量;
FN表示真实值是正样本,而预测值却是反样本的数量;
FP表示真实值是反样本,而预测值却是正样本的数量;
TN表示真实值与预测值都是反样本的数量。
可见Tp与TN都是预测正确的情况。

  • 预测的准确率可定义为:

Accurancy=(TP+TN)/(Tp+FN+FP+TN)

  • 而预测的精确率表示预测为正的样本中有多少是真正的正例,故精确率可定义为:

Precision=TP/(TP+FP)

  • 召回率表示样本中的正例有多少被预测正确了,故召回率可定义为:

Recall=TP/(TP+FN)

C.聚类任务
方 法 名是否需要真实值监控最 佳 值
ARI(兰德系数)评价法需要1.0
AMI(互信息)评价法需要1.0
V-measure评分需要1.0
FMI评价法需要1.0
轮廓系数评价法不需要畸变程度最大
calinski_harabasz指数评价法不需要相比较最大

在聚类任务中,我们希望同一类的样本尽量类似,不同类的样本尽量不同。即簇内对象的相似度越大,不同簇之间的对象差别越大,聚类效果越好。聚类任务常用的评估指标如表所示。

8.使用模型

如果模型的性能能达到实际需求,就可以使用该模型预测新样本了。

例如,假设区分筷子和牙签的模型训练出来并且能达到实际需求,那么,就可以将一个新样本的数据(长度为14 cm,质量为6 g)输入到该模型中,使用模型预测出输入的数据是筷子还是牙签.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/471042.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 网络架构与特征提取 4.2 输出表示 4.3损失函数设计 4.4预测阶段 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 load yolov2.mat% 加载…

让Chrome支持小于12px 的文字方式有哪些?区别?

文章目录 一、背景二、解决方案Zoom-webkit-transform:scale()-webkit-text-size-adjust:none 三、总结参考文献 一、背景 Chrome 中文版浏览器会默认设定页面的最小字号是12px,英文版没有限制 原由 Chrome 团队认为汉字小于12px就会增加识别难度 中文版浏览器 …

Cesium:按行列绘制3DTiles的等分线

作者:CSDN @ _乐多_ 本文将介绍如何使用 Cesium 引擎根据模型的中心坐标,半轴信息,绘制 3DTiles 对象的外包盒等分线。 外包盒是一个定向包围盒(Oriented Bounding Box),它由一个中心点(center)和一个包含半轴(halfAxes)组成。半轴由一个3x3的矩阵表示,这个矩阵是…

23.python标准库之turtle库

一、窗体函数 turtle.setup(width, height, startx, starty) width:窗口宽度 height:窗口高度 startx:窗口与屏幕左侧距离(单位象素) starty:窗口与屏幕顶部距离(单位象素) 二、画笔状态函数 三、画笔运动函数

【图解物联网】第2章 物联网的架构

2.1 物联网的整体结构 实现物联网时,物联网服务大体上发挥着两个作用。 第一是把从设备收到的数据保存到数据库,并对采集的数据进行分析。 第二是向设备发送指令和信息。 本章将会为大家介绍如何构建物联网服务,以…

MATLAB绘图

现学现用,用时再学。 plot函数:有两个向量被指定为参数,plot(x,y) 会生成 y 对 x 的图形 添加轴标签和标题: 通过调用一次 plot,多个 x-y 对组参数会创建多幅图形: 在每十个数据点处放置标记: 一个窗口绘制多个图形; 可在弹窗的插入选项上添加…

18个惊艳的可视化大屏(第28辑):房产楼盘领域

在房产楼盘领域,可视化的大屏可以提供以下九大价值: 展示楼盘信息 可视化的大屏可以用于展示楼盘的基本信息,包括楼盘名称、位置、户型、价格、面积等,帮助潜在客户快速了解楼盘的特点和优势。 展示楼盘效果图 通过大屏展示楼盘…

【数据结构】希尔排序

大家好,我是苏貝,本篇博客带大家了解希尔排序,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 基本思想二. 实现希尔排序(以数组升序举例)2.1 预排序2.2 排序 三…

Vulnhub靶机:Kioptrix_2014

一、介绍 运行环境:Virtualbox和vmware 攻击机:kali(192.168.56.101) 靶机:Kioptrix: 2014(192.168.56.108) 目标:获取靶机root权限和flag 靶机下载地址:https://ww…

uniapp套壳打包成apk

不管是vue项目还是uniapp项目,只要能打包成 index.html都可以通过uniapp打包成apk 1.首先把这个项目发布到线上 拿百度举例: 发布到百度服务器用 www.baidu.com能访问到 2.然后到uniapp上发布项目用默认的 vue2,如果你的项目是vue3也用vue2 3.废话我觉得说太多了,直接…

迈入编程世界:C 语言初体验

写在前面:OK啊,前面我们介绍了C语言开发环境的搭建,今天我们再来初步的认识一下C语言,了解C语言的基础框架、数据的表现形式以及输入和输出。 文章特点:不会很正经,不会很学术,不会很理论&#…

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

供应链安全之被忽略的软件质量管理平台安全

背景 随着我国信息化进程加速&#xff0c;网络安全问题更加凸显。关键信息基础设施和企业单位在满足等保合规的基础上&#xff0c;如何提升网络安全防御能力&#xff0c;降低安全事件发生概率&#xff1f;默安玄甲实验室针对SonarQube供应链安全事件进行分析&#xff0c;强调供…

JVM 垃圾回收机制:探秘对象生死判定与高效回收算法

目录 一、JVM 对象生死判定 1.1 引用技术算法 1.2 可达性分型算法 二、引用 三、 回收方法区 四、垃圾回收算法 4.1 标记-清楚算法 4.2 标记-复制算法 4.3 标记-整理算法 JVM 程序计数器、虚拟机栈、本地方法栈随着线程而生&#xff0c;随着线程而灭。栈中的栈帧随着方法的…

接雨水 - LeetCode 热题 7

大家好&#xff01;我是曾续缘&#x1f48c; 今天是《LeetCode 热题 100》系列 发车第 7 天 双指针第 4 题 ❤️点赞 &#x1f44d; 收藏 ⭐再看&#xff0c;养成习惯 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨…

探索未来教育:在线教育微服务的革新之路

随着互联网技术的不断发展&#xff0c;在线教育已经成为现代教育领域的重要组成部分。而在在线教育的发展过程中&#xff0c;微服务架构的应用正逐渐引起人们的关注和探讨。本文将深入探讨在线教育微服务的概念、优势以及未来发展趋势。 ## 什么是在线教育微服务&#xff1f; …

Go——切片

1. 特点 slice并不是数组或数组指针。它通过内部指针和相关属性引用数组片段&#xff0c;以实现变长方案。 切片&#xff1a;切片是数组的一个引用&#xff0c;因此切片是引用类型。但自身是结构体&#xff0c;值拷贝传递。切片的长度可以改变&#xff0c;因此&#xff0c;切片…

Visual Studio 2013 - 清理

Visual Studio 2013 - 清理 1. 清理1.1. 工程清理1.2. 解决方案清理 References 1. 清理 Debug Release 1.1. 工程清理 (right mouse click on the project) -> 清理 1.2. 解决方案清理 (right mouse click on the solution) -> 清理解决方案 References [1] Yongq…

vue元素声明之后未使用的解决方法

错误情况&#xff1a;类似的这种元素声明未使用的情况 解决方法 方法一 将lintOnSave :false 改为lintOnSave:true 方法二 在项目中找到package.json........① 使用快捷键Ctrl F 搜索eslintconfig........② 找到eslintconfig..........③ 找到rules .........④ 添…

隐语笔记1 —— 数据可信流通,从运维信任到技术信任

数据可信流通体系 关于可信的反思 信任是涉及交易或交换关系的基础 信任的基石&#xff1a; 身份可确认利益可依赖能力有预期行为有后果 数据流通中的不可信风险&#xff1a;可信链条失效&崩塌 法规层面&#xff1a;数据的持有权&#xff0c;加工权&#xff0c;经营权…