零基础机器学习(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)输入到该模型中,使用模型预测出输入的数据是筷子还是牙签.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用改进SA算法实现MATLAB-HFSS交互仿真与天线优化

应用改进SA算法实现MATLAB-HFSS交互仿真与天线优化 第一章SA算法及其简单应用1.1 SA算法简介1.2 SA算法原理1.2.1 SA算法原理 1.3 Metropolis准则及退火过程中的参数控制1.3.1 Metropolis准则1.3.2退火过程中的参数控制 1.4 SA算法简单应用 第二章 改进SA算法2.1 改进方向2.2 改…

Android Preference简单介绍

Android Preference简单介绍 文章目录 Android Preference简单介绍一、前言二、Preference 简单介绍二、PreferenceScreen和SwitchPreference 简单示例2、相关demo代码示例(1)SettingsActivity.Java(2)layout\settings_activity.x…

Qt学习笔记(一)——Qt初识

本文仅是 学习时记录的笔记,供自己复习时使用。 1.创建好文件(QWidget窗口) main.cpp中: 注:Widget类继承父类QWidget. widget.h中: Widget.cpp中: 打开Forms文件夹中的widget.ui文件: 打开左边编辑&am…

【吊打面试官系列】Redis篇 - 为什么 redis 需要把所有数据放到内存中?

大家好,我是锋哥。今天分享关于 为什么 redis 需要把所有数据放到内存中 面试题,希望对大家有帮助; Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数 据写入磁盘。所以 redis 具有快速和数据持久化的特征。…

飞腾+FPGA+AI电力行业智能数据采集与分析网闸解决方案

行业痛点: 安全物联网闸在监控平台中的具体作用:35KV变电站是煤矿的动力核心,采矿人员上下井、煤炭提升输送、矿井通风等核心设备均依靠变电站提供电源。监控中心及时掌握变电站的运行状态对煤矿的安全生产非常重要。如若外部通过监控网络来控制变电站会…

Python爬虫入门:HTTP与URL基础解析及简单示例实践

在数字化时代,数据已成为一种宝贵的资源。Python作为一种强大的编程语言,在数据采集和处理方面表现出色。爬虫技术,即网络爬虫,是Python中用于数据采集的重要工具。本文作为Python爬虫基础教程的第一篇,将深入讲解URL和…

流畅的 Python 第二版(GPT 重译)(六)

第三部分:类和协议 第十一章:一个 Python 风格的对象 使库或框架成为 Pythonic 是为了让 Python 程序员尽可能轻松和自然地学会如何执行任务。 Python 和 JavaScript 框架的创造者 Martijn Faassen。 由于 Python 数据模型,您定义的类型可以…

CSS3新属性(学习笔记)

一、. 圆角 border-radius:; 可以取1-4个值&#xff08;规则同margin&#xff09; 可以取px和% 一般用像素&#xff0c;画圆的时候用百分比&#xff1a;border-radius:50%; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&q…

【鸿蒙HarmonyOS开发笔记】通知模块之发布进度条类型通知

概述 进度条通知也是常见的通知类型&#xff0c;主要应用于文件下载、事务处理进度显示。HarmonyOS提供了进度条模板&#xff0c;发布通知应用设置好进度条模板的属性值&#xff0c;如模板名、模板数据&#xff0c;通过通知子系统发送到通知栏显示。 目前系统模板仅支持进度条…

Svg Flow Editor 原生svg流程图编辑器(三)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; 实现对齐辅助线 在 logicFlow 中&#xff0c;辅助线的实现是通…

【网页实战项目设计】基于SSM的高校二手交易平台 (大学跳蚤市场)(源码+LW文档)

基于SSM的高校二手交易平台 &#xff08;大学跳蚤市场&#xff09; 项目截图 系统功能界面图 用户注册、用户登录界面图 个人中心界面图 商品信息界面图 商品上架管理界面图 订单信息管理界面图 开发环境与技术框架 开发语言&#xff1a;Java 框架&#…

SV-7035VP播放模块通用型播放终端SV-7035VP-SIP 网络通用型播放功放模块

SV-7035VP播放模块通用型播放终端SV-7035VP-SIP 网络通用型播放功放模块 产品介绍 SV-7035VP模块是一款SIP播放模块&#xff0c;具有10/100M以太网接口&#xff0c;其接收网络的音频数据&#xff0c;提供立体声的音频输出。 本SIP播放模块带有一个继电器端子和一个NET接口&a…

RabbitMQ-同步和异步区别快速入门

文章目录 1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯 1.2.技术对比&#xff1a; 2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.入门案例2.3.1.publisher实现 1.1.同步和异步通讯 服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&am…

Simulink如何自动保存模型,解决崩溃问题

文章目录 Simulink如何自动保存模型,解决崩溃问题自动保存模型脚本脚本使用方法专题目录 Simulink如何自动保存模型,解决崩溃问题 自动保存模型脚本 在使用sumilink建模中,暂无自动保存模型的相关设置,使用中常常会遇到软件卡死奔溃现象 当出现如上提示,如果花费了半天建…

在抖音电商迎上新趋势,他们找到春季服饰生意新增量

冬去春来&#xff0c;万物焕新。每年春天换季的时候&#xff0c;都是大家买新衣服的高峰期。 对于服饰商家来说&#xff0c;季节性的平台活动&#xff0c;能够带来较大的消费需求扩容空间&#xff0c;也是推动生意增长的好时机。在3月9日-3月14日举办的「抖音商城服饰焕新周」…

FreeCAD傻瓜教程之创建参数化几何图形-螺旋体、平面、球体、椭球体、圆柱体、圆锥体、棱柱、椭圆

目的&#xff1a;学会用FreeCAD绘制参数化的几何图形。 一、使用的工作台和工具 1.1选择Part 工作台 1.2单击创建图元...工具 也就是上图黄色工具区域的倒数第2个 1.3 打开几何图元 下方的下拉列表 二、绘制螺旋体、弹簧、螺丝杆 2.1 选择几何图元列表中的 “螺旋体” 设…

Mysql主从之keepalive+MySQL高可用

一、Keepalived概述 keepalived 是集群管理中保证集群高可用的一个服务软件&#xff0c;用来防止单点故障。 keepalived 是以VRRP 协议为实现基础的&#xff0c;VRRP 全称VirtualRouter Redundancy Protocol&#xff0c;即虚拟路由冗余协议。虚拟路由冗余协议&#xff0c;可以…

武汉星起航领航中国跨境电商,助推全球贸易新篇章

在全球经济一体化的浪潮中&#xff0c;跨境电商以其独特的优势成为推动国际贸易增长的重要引擎。作为中国跨境电商行业的领军者&#xff0c;武汉星起航电子商务有限公司以其卓越的能力和经验&#xff0c;正积极推动中国跨境电商走向世界&#xff0c;书写全球贸易的新篇章。 自…

leetcode 18.四数之和 java

题目 思路 整体在三数之和的基础上进行修改。&#xff08;所有需要修改的地方&#xff0c;我在代码里加了//改 的注释&#xff09; 大的一个思路就是&#xff0c;在三数之和的外面再套一层循环。相当于固定前两个数。然后这道题目标值变成一个参数了&#xff0c;不是三数之和…

termux安装

termux安装Python和postgres 安装python 安装pg数据库