各行各业都对数据挖掘体现出极大趣味,也纷纷开展了利用尝试,但胜利案例并不多,这是为什么呢?
1. 数据品质差
玩数据就像挖金矿。如果含金量高,那么开掘难度就小,出金率就高,如果含金量低,那么就会难度大成果差。数据品质问题通常体现在三个方面。
(1)数据量有余
要教一个牙牙学语的小朋友什么是苹果,只须要指着苹果说“苹果”(可能须要反复这个过程几次)就行了,而后孩子就能辨认各种色彩和形态的苹果了,几乎是蠢才!
然而,机器还没达到这一步,大部分机器学习算法须要大量数据能力失常工作。即便是最简略的问题,很可能也须要成千上万个示例。因而机器学习的样本量不能过少。尤其在一些不均衡的样本中,尽管样本总量不少然而因为阳性率太低(咱们关怀的景象太少,如预测故障时历史数据中简直没有故障记录)很低,这样也是很难建出无效模型。
(2)数据不具代表性
训练数据要十分有代表性。举个例子,假如咱们想晓得金钱是否让人感到高兴,为了剖析这个问题咱们能够从 OECD 网站 (https://goo.gl/0Eht9W) 下载“幸福指数”的数据,再从 IMF 网站 (http://goo.gl/j1MSKe) 找到人均 GDP 的统计数据,将数据并入表格,依照人均 GDP 排名,会失去如表显示的摘要。
随机绘制几个国家的数据,如下左图所示。
看出趋势了么,尽管数据中蕴含噪声,但依然可双看出随着 GDP 减少,生存满意度或多或少呈线性回升的趋势。计算两者的线性相关系数能达 0.9 以上,仿佛咱们能够得出金钱可能让人感到高兴的论断。
然而,咱们拿来训练的数据集并不具备齐全的代表性,有些国家的数据样本缺失。将缺失国家 / 地区信息补全之后,咱们又失去了右图。
缺失国家信息不仅显著地扭转了模型,也更分明地阐明,这种线性模型可能永远不会那么精确(相关系数仅为 0.63)。用不具代表性的数据训练进去的模型不可能做出精确的预估,尤其是针对那些特地贫困或富裕的国家。因而针对剖析指标抉择具备代表性的训练集十分重要的。
(3)谬误缺失的数据
咱们常说:垃圾入、垃圾出。如果原始数据满是谬误、异样值和噪声,算法将很难检测到数据法则,更不太可能有良好的体现。所以花工夫来清理训练数据是十分值得的投入。事实上,大多数数据科学家都会破费相当多的工夫来做这项工作。例如:如果某些实例显著是异常情况,要么间接将其抛弃,要么尝试手动修复谬误,都会大有帮忙。再例如,如果某些实例短少局部特色(比方,5% 的顾客没有指定年龄),你必须决定是整体的疏忽这些特色,还是疏忽这部分有缺失的实例,又或者是将缺失值补充残缺(比方,填写年龄值得中位数),或者是训练一个带这个特色的模型,再训练一个不带这个特色的模型,等等。
这个过程是相当破费工夫和精力的,但侥幸的是,近年来呈现了一种主动建模技术,这些产品将统计学家解决数据的丰盛教训融入到了产品工具中,把这些耗时耗力的工作可交给工具主动解决。无论是对数据科学家还是数据老手来说都是一个进步工作效率的神器。
2. 专业人才少
数据挖掘我的项目往往由技术部门主导施行,然而因为技术有相当的工作量和难度,一般技术人员难以完成,必须有业余的数据科学家能力实现,使得我的项目会在某些环节上断裂。
从数据挖掘自身来看,算法设计处于外围位置,而统计学为数据挖掘提供了指导思想,同时数据挖掘又须要数据库等计算的撑持,所以说数学、统计学、计算机这几个学科在数据挖掘中都起到了比拟重要的作用。一名合格的数据挖掘工程师必须要同时具备这几个学科的常识和教训。
从工具方面来讲,少数人应用 SAS 或 R/Python 等工具和编程语言,但即便有 SAS 这样的超强工具,建模工作还是要通过人工形式进行建模,而且 SAS 的利用门槛很高,同样须要很深厚的统计学背景能力用好,而这种数据科学家通常很少并且很贵,所以 SAS 很难遍及用好。用 R/Python 编程的形式来实现建模开掘剖析,通常是由程序员来实现的,而纯正的程序人员(即便编程能力很强)不足统计学背景常识,只会比拟自觉的屡次尝试,也没有数据预处理的教训,成果就会很差。
在用人老本方面,数据挖掘人才更是高居不下,通常只有大型企业的总公司才领有多数技术团队。目前支流的人工建模形式,模型品质很大水平上取决于建模师的程度,同样的数据不同程度的人建出的模型齐全不同,这样一方面模型品质无奈保障,另一方面人才的流动会对数据挖掘业务产生重大影响,即便是之前开发好的模型,新来的员工对其更新,也要将整个建模过程重来一遍。
所幸的是,近年来主动建模技术的疾速倒退使咱们曾经可能帮忙咱们解决上述矛盾。主动建模技术会大幅度降低数据挖掘人员的门槛,一个一般的技术或业务人员通过简略的培训即可把握,这样企业就能够疾速的造就一批建模师,减少人才储备,升高建模老本。同时主动建模技术能够建设起一个模型工厂,由工厂自动化生产进去的模型品质稳固有保障,人才的流动也不会业务产生太大影响。下表咱们总结了人工建模和主动建模技术对建模师资格要求和模型特色。如表可见,相比于手工建模,主动建模技术对建模人员的要求非常低,输入模型的品质也稳固有保障。
3. 建模效率低
目前市场业界次要采纳 python 或 SAS 建模。数据摸索,预处理、建模调参和模型评估全由建模师凭教训手动操作,建一个模型须要几周甚至几个月的工夫,这样即便有业余人员建模效率也很低,难以大规模推广应用。
而在需要侧,业务场景是多种多样的,模型的需求量很大。就是一个业务场景也往往不是一个模型就能齐全解决的,而是须要一系列的模型。例如在精准营销场景中,应用模型能够帮忙咱们疾速的定位潜在指标客户,进步营销成功率。以目前手工建模的生产效率通常只能是简略的建一个全国所有客户的模型,然而各地区的营销政策和生产特点可能是不同,即便同一地区不同客户群体的关注点也是不一样的,并且客户购买的可能不止一款产品,这样一个模型用所有的后果就是放到哪里都不太实用。
这时候,应用主动建模技术则能够较好地解决这一问题,将建模工夫由几周缩短到几个小时,在短时间内建设很多模型,这样就能够去建设一系列的模型,整体预测的成果会更好。
在一些业务场景中,业务随市场变动很快,对模型更新的要求也高,而人工建模的形式模型更新和从新建模差不多,须要从新手动数据预处理,建模调参等,如果赶上人员变动,模型更新更是耗时耗力。如此低下的生产效率是满足不了市场需求的。采纳主动建模技术更新模型就很不便了,只需设定一个更新触发条件(比方定时或者模型指标降落到某一值)便可主动进行,不须要人工参加。
从经济角度剖析,手工建模的形式生产效率低下,导致模型老本十分高,以下表总三家美国公司数据分析团队的模型老本为例,咱们很激进的预计一个数据挖掘人员的年薪是 10 万美金(实际上远不止这么低),单位模型老本至多要在 5 万美金以上。而采纳主动建模技术当前,生产效率至多会比原来翻几倍,模型老本也会大幅度降落,模型不再低廉,能够广泛应用。
对进一步数据挖掘和 AI 技术感兴趣的同学还能够搜寻“乾学院”,下面有面向小白的零根底“数据挖掘”收费课程,或者间接点上面的链接也能够:
http://www.raqsoft.com.cn/wx/course-data-mining.html