为了回答这个问题,我们先来了解一下建模的流程,通常一个完整的数据挖掘项目包含以下流程(1)业务理解、(2)数据理解、(3)数据准备、(4)数据预处理和建模、(5)模型评估、(6)模型部署应用。这个流程的操作性很强,也是业界公认标准。

业务理解的主要工作有需求调研,了解商务背景;明确业务目标和成功的标准。数据理解和业务理解一般是同时进行的,主要内容包括确定建模所需要的数据,描述数据,探索数据,检验数据质量,明确数据挖掘目标和成功标准。这两个阶段的主要任务就是明确挖掘目标和建模数据,目标和数据都明确以后就可以开始着手准备数据。

数据准备的目的是建立数据集市或者宽表,主要工作包括选择数据、清洗数据、构造数据、整合数据、格式化数据等等。如果企业的数据仓库建设比较完善,那么这个步骤的工作就非常简单,只需要做一些数据筛选,表的的关联工作即可。反之,如果数据都是一些非常原始的数据比如日志数据、流水数据,数据准备这部分就比较耗费时间和精力了,需要做很多数据汇总,特征提取的工作。

数据预处理和建模,这个环节是整个项目中含金量最高,难度最大的部分。不同的变量、数据类型、分布情况,对应的预处理的方式就不同,需要选择什么样的建模方法,参数如何调优,如何构建模型都是要考虑的问题。主要工作有:样本选取,确定训练样本、测试样本和验证样本、数据预处理、模型算法技术选型、筛选变量、模型训练、模型测试等。还需要强调两点:(1)数据预处理可能会花费大量的工作时间;(2)预处理和建模过程并非一次性执行完毕就大功告成了,需要不断的迭代优化,才能获得比较理想的结果。

模型评估,是对模型进行较为全面的评价的过程,计算模型的各种指标,比如 AUC,Gini,KS,Lift,模型稳定性等等,然后就是进行模型的业务应用测试,判断是否实现商业目标。部署应用就是把数据挖掘的成果部署到商业环境,应用于生产活动。

从数据挖掘的项目流程可以看出,建模时间和企业的数据情况、业务问题和模型复杂程度以及建模师的水平都密切关系。不过,即使数据仓库平台已经建设的很好的情况,即不再考虑数据准备的时间,仅仅关心建模本身的时间,对于较简单的目标任务,通常也需要两到三周的时间,延到几个月的建模任务也都是很常见的。

为何仅建模本身就要花费两到三周的时间呢?

一方面是预处理,预处理是一个耗费时间但却非常值得的投入。例如,5% 的顾客没有指定年龄,是整体忽略该变量,还是忽略这部分有缺失的样本,又或者是将缺失值补充完整(使用平均值填充还是中位数填充又或者更复杂的方法的填充),或者是训练一个带这个特征的模型,再训练一个不带这个特征的模型。同样是缺失值处理,当缺失率为 90% 时,是否还采用相同的处理方法呢。再例如,对于一些高基数的分类变量如何处理,数据中的噪音如何处理等等。这些都需要建模师结合自己的知识和经验反复的去调试。

另一方面,模型构建过程也会很耗时。选择什么样的算法,一种算法还多种算法,算法的的初始参数如何配置,如何去寻找最优解等等,都是需要不断调试的。正如我们所说,预处理和建模过程并非一次性执行完毕就大功告成了,而是需要不断的迭代优化,直到得到一个比较理想的结果,过程中做到一大半,推倒重来的事情也是常有。

可以说建模过程既是一个高大上的脑力劳动也是一个累人的体力活。在这种情况下几乎不可能实现批量建模,通常一个项目就只能建立一个模型,这个模型要尽量有更广泛的应用范围。这样做其实会导致模型的适应能力下降,例如,预测房价,全国都用一个模型的效果通常不如分地区去建模适用性更好;再比如,精准营销模型,不同的产品,不同层次的客户群体,消费特点是不同的,显然针对性的建立多个模型会使整个营销过程更加精准。

不过令人欣慰的是,随着 AI 技术的发展,有一些智能化的工具是可以帮助我们提高工作效率的。自动建模技术就是一种能够自动实现数据探索、预处理、模型选择、调参、评估一系列流程的技术。借助自动建模工具,数据分析人员只需要完成业务理解,数据准备过程,剩下的需要反复迭代进行的建模过程尽可交给工具来完成,无需再手动进行。采用自动建模技术,能够将几周的建模时间缩短为几小时甚至几分钟,几个月的建模时间不复存在,可以大幅度的提高工作效率,减轻工作量。而且,建模过程变得简单且很快以后,批量建模就不再是问题,一天就可以建多个模型,每个模型可以只适应一个局部或者一个小问题,批量的模型组成一个模型体系就可以有更强的适应能力。此外,自动建模技术对人员要求也降低不少,不再需要受过专业训练的数据科学家,普通的程序员都可以借助工具来完成数据挖掘工作。

对进一步数据挖掘和 AI 技术感兴趣的同学还可以搜索“乾学院”,上面有面向小白的零基础“数据挖掘”免费课程,

完成一个预测建模项目一般需要多长时间?相关推荐

  1. mysql实际项目中使用多长时间_存储过程在实际项目中用的多吗?

    我说说下自己的经验吧,很早就接触存储过程了,但是最近老板竟然要求所有业务都用存储过程,匪夷所思. 存储过程有它的优点: (1) 执行速度比写在代码里速度快,这个不用说了 (2) 能实现一定程度松耦合, ...

  2. 项目用druid,长时间不访问应用,再访问又连接不上了数据库了

    问题:据库和应用在同一台机,数据库用mysql5.6.20,已经升级druid到最新的1.0.7版本,访问的是localhost的mysql,放一个晚上不访问,第二天访问就报错了,重启服务正常,错误提 ...

  3. mysql实际项目中使用多长时间_mysql - 存储过程在实际项目中用的多吗?

    怪我咯2017-04-17 16:19:5812楼 一.存储过程是非常有用滴.例如,在常见的登录场景中,需要记录用户的登入记录,你可以使用编程语言来实现: db.connect( "db_h ...

  4. ubuntu-关机时黑屏左上角只有一个横着的光标一直闪烁长时间无法关机

    原因 该现象表明一直在关闭内核程序,只是需要很长时间才能完全关完. 解决办法 为了关注关闭内核程序的过程,将开关机系统进行的内容甲乙显示 强制关机重启后在终端执行下面命令打开grub sudo ged ...

  5. 预测分析:R语言实现1.3 预测建模的过程

    1.3 预测建模的过程 通过观察模型的某些不同特征,我们已经对预测建模过程的各种步骤有所了解.在本节,我们要顺序讲解这些步骤,并理解每个步骤是如何对该任务的整体成功起作用的. 1.3.1 定义模型的目 ...

  6. 需要多长时间达到一个本科毕业生刚毕业的水平。

    大学每年在校时间9个月. 法定节假日11天, 法定休息日104天 实际上学天数: 365-11-104*(9/12)-90=186 实际学习小时数: 8*186=1488 4年总计学习小时数: 4*1 ...

  7. 从创建一个网站到做好需要多长时间?

    如果你想要了解新域名+备案的做法,可以看看我分享的这段实验经历 在CSDN发的第一篇文章想不到是关于研究网站分析的内容. 想不到一个程序员,最后还是走了这条路. -------- 今天写这个主要就是讲 ...

  8. 隔离太无聊?每天一个数据科学项目,数据集都准备好了!

    来源:大数据文摘 本文约2300字,建议阅读5分钟 本文提供了14个可以利用业余时间完成的数据科学项目清单. 首先,我想向所有的护士,医生,超市员工,公共管理人员以及其他冒着生命危险为我们服务的人致敬 ...

  9. 如何创建一个数据科学项目?

    摘要: 在一个新的数据科学项目,你应该如何组织你的项目流程?数据和代码要放在那里?应该使用什么工具?在对数据处理之前,需要考虑哪些方面?读完本文,会让你拥有一个更加科学的工作流程. 假如你想要开始一个 ...

最新文章

  1. LeetCode实战:将有序数组转换为二叉搜索树
  2. 华为云提供针对Nuget包管理器的缓存加速服务
  3. mysql数据库被黑客删除,您做好防范了吗?
  4. CodeForces - 1029B.Creating the Contest(最长上升子序列0(n)解法)
  5. 这就是80后的我们!
  6. java ee编译器_Java EE 8 MVC:控制器的详细介绍
  7. QML工作笔记-界面登录框设置(方便其他控件居中)
  8. 枚举函数enumerate
  9. 仿照七牛云图片处理类实现的C#帮助类
  10. 将两个数组首尾相连c语言,一个百度笔试中的首尾相连的珠子问题解法
  11. 漫游飞行_涨知识了,手机的飞行模式还能这么用?
  12. 串口协议和RS-232标准,RS232电平与TTL电平的区别,以及USB/TTL转232“模块(CH340芯片为例)的工作原理
  13. js 获取元素的html代码
  14. 怎样在计算机查找应用程序,电脑打开IE浏览器显示找不到应用程序怎么解决
  15. OSPF基本配置及手动修改路由器优先级
  16. nios ii 系统架构
  17. 楼市步入慢行道 购房窗口期显现?
  18. kafka的安装及基本使用
  19. udt的java实现
  20. 简帛企业云智库知识管理系统

热门文章

  1. lattice ecp5-25学习
  2. Python学习之numpy生成矩阵基础用法
  3. 100集华为HCIE安全培训视频教材整理 | 防火墙出口选路(二)
  4. TP、TN、FP、FN超级详细解析
  5. “TN”劫持:chrome命令行
  6. 我的微软漫漫信仰路【多图】
  7. 市场调研-全球与中国JEDEC托盘市场现状及未来发展趋势
  8. Python图像批处理(图像非监督分类)
  9. 全国计算机等级考试二级教程c语言程序设计的基本概念有哪些,《全国计算机等级考试二级教程C语言程序设计》讲解.doc...
  10. Ubuntu Linux系统 设置开机进入 grub 引导界面的方法