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

机器学习的整个流程

机器学习的整个流程定义了数据科学团队执行以创建和交付机器学习模型的工作流。此外,机器学习流程还定义了团队如何协作合作,以创建最有用的预测模型。

机器学习high level的流程

机器学习流程的关键步骤包括问题探索(Problem Exploration)、数据工程(Data Engineering)、模型工程(Model Engineering)和模型运营 (ML Ops)。

更详细的机器学习流程

这个更详细的流程保留了相同的高层阶段(Problem Exploration、Data Engineering、Model Engineering和ML Ops),但定义了ML流程每个阶段的关键步骤。以下是对每个步骤的讨论。

问题探索(Problem Exploration)

首先关注模型将如何使用。在这个过程中,评估期望的模型准确性并探索其他细节,比如误报和漏报哪个更糟。这个阶段还包括了解可能可用的数据。

  • 定义成功(Define Success):定义要解决的问题。例如,应该预测什么。这有助于定义将需要的数据。此外,确保清楚如何度量成功。
  • 评估数据(Evalute Data):确定相关的数据源。换句话说,评估团队将需要哪些数据,数据是如何收集的,以及数据存储在哪里。

数据工程(Data Engineering)

设计和构建数据管道。这些管道获取、清理和转换数据,使其更容易用于构建预测模型。需要注意的是,这些数据可能来自多个数据源,因此合并数据也是数据工程的关键方面。这通常是在机器学习项目中花费最多时间的地方。

  • 获取数据(Obtain Data):组装数据。这包括连接到远程存储的数据和数据库,这些数据可能以不同的格式存在。例如,一些数据可能以CSV格式存在,而其他数据可能通过Web服务以JSON格式提供。
  • 清理数据(Scrub Data):重新格式化特定属性并纠正数据中的错误,如缺失值填充。数据集通常缺少值,或者它们可能包含错误类型或范围的值。清理可以包括去重、纠正错误、处理缺失值、归一化以及处理数据类型转换。
  • 探索/验证数据(Explore/Validate Data):对数据有一个基本的了解。这种探索性分析包括数据概要分析,以获取关于数据内容和结构的信息。目标是了解数据属性以及数据质量。

模型工程(Data Engineering)

这是大多数人与构建机器学习模型相关联的阶段。在这个阶段,使用数据来训练和评估模型。这通常是一个迭代的任务,其中尝试不同的模型,并调整模型。

  • 选择和训练模型(Select&Train Model):确定合适的模型,并构建/训练模型(在训练数据上)。培训的目标是尽可能正确地回答问题或进行预测。
  • 测试模型(Test Model):在模型尚未看到的数据上运行模型(例如测试数据)。换句话说,通过使用从培训中保留的数据进行模型测试(即回测)。
  • 评估和解释模型(Evaluate&Interpret Model):客观地测量模型的性能。请注意,基本评估探讨精度和精确度等指标,以确定模型是否可用,并确定哪个模型最适合解决特定的问题。这个评估还包括了解模型何时犯错误。更普遍地说,在将训练好的模型投入生产之前,验证训练好的模型有助于确保模型符合最初的组织目标。
  • 调整模型(Tune Model):这一步涉及到参数调整,这依赖于所使用的模型,可能更像是一门艺术而不是科学。简而言之,模型通常具有参数(即调整模型的旋钮),允许通过参数细化模型来获得改进的性能。简单的模型参数可能包括培训步骤的数量和某些值的初始化。

模型运营 (ML Ops)

广义上定义的模型运营(ML Ops)涵盖了数据科学家、数据工程师、云工程师、IT运营和业务利益相关者用于部署、扩展和维护机器学习解决方案的一系列实践、系统和责任。

  • 部署模型(Deploy Model):打包并投入使用模型(即投入生产)。尽管这因小组而异,但团队需要了解预期的模型性能、模型将如何进行监控以及通常的模型关键绩效指标(KPI)。
  • 监控模型(Moniter Model):在生产中维护模型。这包括监控关键绩效指标并主动努力确保预测稳定而且可靠。

其它

相关文章:

  • Visual Studio 2022中创建的C++项目无法使用万能头<bits/stdc++.h>解决方案
  • LabVIEW双光子荧光显微成像系统开发
  • ChatGPT辅助编程,一次有益的尝试
  • Ubuntu文件系统结构
  • 【第三十五节】idea项目的创建以及setting和Project Structure的设置
  • 大语言模型微调数据集(2)
  • 水题中的稀奇古怪trick合集
  • 【VTKExamples::PolyData】第二十三期 InterpolateMeshOnGrid
  • SQL 注入 - http头注入之UA头注入探测
  • 海量数据处理商用短链接生成器平台 - 2
  • orin nx 安装paddlespeech记录
  • 2024年-视觉AI检测的面试题目总结
  • Java学习day30:Stream流入门、集合获取流对象、流对象的方法(知识点详解)
  • Vue3编写简单的App组件(二)
  • WebGPU Inter-stage 变量
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【前端学习】-粗谈选择器
  • 10个确保微服务与容器安全的最佳实践
  • co.js - 让异步代码同步化
  • Debian下无root权限使用Python访问Oracle
  • es6要点
  • express + mock 让前后台并行开发
  • JavaScript 一些 DOM 的知识点
  • leetcode-27. Remove Element
  • October CMS - 快速入门 9 Images And Galleries
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 关于Java中分层中遇到的一些问题
  • 如何胜任知名企业的商业数据分析师?
  • 设计模式(12)迭代器模式(讲解+应用)
  • 异常机制详解
  • 第二十章:异步和文件I/O.(二十三)
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #100天计划# 2013年9月29日
  • $.proxy和$.extend
  • (js)循环条件满足时终止循环
  • (搬运以学习)flask 上下文的实现
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .Mobi域名介绍
  • .NET 5种线程安全集合
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net 程序发生了一个不可捕获的异常
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET6 命令行启动及发布单个Exe文件
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .NET中统一的存储过程调用方法(收藏)
  • //解决validator验证插件多个name相同只验证第一的问题
  • @property python知乎_Python3基础之:property