机器学习:项目流程

原文出处:机器学习项目流程

原文作者wxquare

1. 理解实际问题,抽象为机器学习能处理的数学问题

理解实际业务场景问题是机器学习的第一步,机器学习中特征工程和模型训练都是非常费时的,深入理解要处理的问题,能避免走很多弯路。

  1. 明确可以获得的数据,机器学习的目标是分类、回归还是聚类。如果都不是的话,考虑将它们转变为机器学习问题。参考机器学习分类能帮助从问题提炼出一个合适的机器学习方法。

2. 获取数据

  • 获取数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试数据。
  • 机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。
  • “ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”。
  1. 数据要有具有“代表性”,对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。
  2. 评估数据的量级:样本数量、特征数量,估算训练模型对内存的消耗。如果数据量太大可以考虑减少训练样本、降维或者使用分布式机器学习系统。

3. 特征工程

  •  特征工程是非常能体现一个机器学习者的功底的。深入理解实际业务场景下的问题,丰富的机器学习经验能帮助我们更好的处理特征工程。特征工程做的好能发挥原始数据的最大效力,往往能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。数据挖掘的大部分时间就花在特征工程上面,是机器学习非常基础而又必备的步骤。
  1. 从原始数据中特征构建、特征提取、特征选择。
  2. 数据预处理、数据清洗、筛选显著特征、摒弃非显著特征等。

4. 模型训练、诊断、调优

  • 真正考验水平的根据是对算法的理解调节参数,使模型达到最优。
  • 模型诊断中至关重要的是判断过拟合、欠拟合,常见的方法是绘制学习曲线,交叉验证
  1. 通过增加训练的数据量、降低模型复杂度来降低过拟合的风险;
  2. 提高特征的数量和质量、增加模型复杂来防止欠拟合。
  3. 诊断后的模型需要进行进一步调优;
  4. 调优后的新模型需要重新诊断,这样反复迭代不断逼近的过程,需要不断的尝试,进而达到最优的状态。

5. 模型验证、误差分析

  • 通过测试数据,验证模型的有效性;
  1. 观察误差样本,分析误差产生的原因。
  2. 误差分析主要是分析出误差来源与数据、特征、算法。

6 . 模型融合(模型集成)

  • 提升算法准确度的主要方法是模型的前端(特征工程、清洗、预处理、采样)和后端的模型融合。
  • 一人一票的统一融合、线性融合、堆融合。

原文地址:https://www.cnblogs.com/volcao/p/9531947.html

时间: 2024-11-07 11:22:53

机器学习:项目流程的相关文章

机器学习项目流程(一)

机器学习项目流程 在这我们会从头开始做一个机器学习项目,向大家展示一个机器学习项目的一个基本流程与方法.一个机器学习主要分为以下几个步骤: 从整体上了解项目 获取数据 发现并可视化数据,以深入了解数据 为机器学习算法准备数据 选择模型并训练 模型调优 展示解决方案 部署.监控.以及维护我们的系统 我们不会遍历所有步骤,仅从一个例子展示一个常规的流程. 使用真实数据 在学习机器学习时,最好是使用真实数据,不要用人工代码生成的模拟数据.一些可以获取数据的地方如: 开放数据集 UC Irvine Ma

机器学习项目流程(四)选择并训练模型

选择并训练模型 至此,我们已明确了问题,并对数据进行了预处理.现在我们选择并训练一个机器学习模型. 在训练集上训练模型 这个过程相对来说较为简单,我们首先训练一个线性回归模型: from sklearn.linear_model import LinearRegression lin_reg = LinearRegression() lin_reg.fit(housing_prepared, housing_labels) 这样就已完成了一个线性回归模型的训练,非常简单.我们从训练集里抓几条数据

机器学习项目中常见的误区

http://blog.jobbole.com/86131/ 机器学习项目中常见的误区 2015/04/22 · IT技术 · 机器学习 分享到:7 2015 Oracle技术嘉年华 Java实现图片水印 学写一个字 前端性能优化-基础知识认知 本文由 伯乐在线 - ruan.answer 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:machinelearningmastery.欢迎加入翻译组. 在最近的一次报告中,Ben Hamner向我们介绍了他和他的同事在Kaggle比赛中

一文学会机器学习预测流程(电信客户流失率问题)

摘要: 本文介绍了如何把机器学习算法应用到具体问题中. 以电信运营商客户流失率问题为例,从问题的提出, 数据的分析, 算法的评估, 到最终的结果展示, ,一步步介绍机器学习基本流程. 用户数据来源于互联网. 1 定义问题 客户流失率问题是电信运营商面临得一项重要课题,也是一个较为流行的案例.根据测算,招揽新的客户比保留住既有客户的花费大得多(通常5-20倍的差距).因此,如何保留住现在的客户对运营商而言是一项非常有意义的事情. 本文希望通过一个公开数据的客户流失率问题分析,能够带着大家理解如何应

(原创)一个完整的机器学习项目是怎么建立起来的

在这篇文章中,将介绍机器学习项目的流程 明确问题 首先,我们需要预览这个项目.项目的目的是什么,以房价预测为例,数据为StatLib的加州房产数据,那么目的就是预测街区的房产价格中位数. 划定问题及分析 要知道商业目的是什么,毕竟建立模型不是最终目的.比如说,目的是输出一个价格传给另一套系统来判断是否值得投资以及利润是多少. 要知道现在的解决方案效果怎么样,比如会给出一个现解决方案的误差率是alpha. 现在我们可以进一步研究问题,明确这个问题是监督/非监督,还是强化模型?是分类/回归,还是聚类

Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型

Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型 项目主体三个部分 ui界面,中间层,数据库 按照不同的比重可以分为一下三个模型  哑铃型  橄榄型 直板型 哑铃型 开发效率更高,性能反之 ,ui和数据库层比较大,中间的接口层比较薄弱 直板型 橄榄型,追求性能型..中间打,俩偷笑 从语言看ui 界面h5是dsl 4gl+js  3.5gl....数据库是sql ,dsl  4gl 语言代际比较高.带来更高的开发效率性... 作者:: 绰号:老哇的爪子claw of

28款GitHub最流行的开源机器学习项目

http://ml.ailab.cn/article-76485.html 现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.DNA序列测序.语音和手写识别.战略游戏和机器人等方面. 云栖社区特意翻译整理了目前GitHub上最受欢迎的28款开源的机器学习项目,以供开发者参考使用. 1. TensorFlow TensorFlow 是谷歌发布的第二代机器学习系统.据谷歌宣称,在部分基准测试中

LAMP平台部署(原理、安装php环境、LAMP项目流程思路)

一.理解LAMP: 1.LAMP是目前最为成熟的一种网站应用模式,可提供动态的WEB站点的应用及开发环境,其构成组件:L=Liunx,A=Apache,M=Mysql,P=php 2.LAMP的工作原理: 1)处理请求的流程:HTTP进程(响应PHP页面请求)à php页面(html+php)à运行php进程à数据库(mysql)进行交互à结果交给http进程à用户 2)动态页面和静态页面: 用户无论在什么情况下请求同一个页面得到相同结果就是静态页面,不同结果就是动态页面:服 务器上静态页面不会

web项目流程

项目流程简介 需求分析 要做什么?客户的真实需求是什么?需要完成哪些功能和流程? 参与人员:项目负责人,系统工程师和客户 产生结果:项目需求书(项目规格书) 我们的需求:完成bbs论坛的核心功能(注册.登录.发帖和回帖等) 整体设计 怎么去做,设计基本的算法,一般是由产品经理或架构师来做! 参与人员:项目负责人.系统架构师 产生结果:项目设计概要,项目详细设计数(开发过程中的"蓝图") 界面设计 参与人员:UI设计师 产生结果:设计效果图 静态页面制作 参与人员:前端工程师 产生结果: