(作者:明博智创(北京)软件技术有限公司 分析师 宫艳琢)
(一)闲谈
时间好快,毕业正两年有余,依稀记得2012年春节时在火车站买票时候的挣扎情景,我运气不佳,买了动车的站票回了东北,从进入地铁站,再到换乘站,再到火车站、候车室,直至进入了车厢,甚至是回到了东北,我都呼吸不到一点自由的空气,第一次,我身临其境地感受了大的数量是什么含义!
大数量意味着一定程度上的复杂,意味着管理难度几何级数的增长,也意味着意外发生频率的暴涨,这时候,秩序和法规是重要的,无法想象在入站口如果没有分成很多队列排队,如果只有一个进站口,大家一拥而入是多么的不堪想象。
然而,在这个世界上,这并不是一件偶然的、稀有的事情,现在地球上正有很多单元都面临着数量上难以处理的问题,在这里,我们只说大数据的情况。
大数据是一种数字化的明细日志,它记录了一个企业或者其他单位本身的成长历史或者和客户的交互历史以及其他可能多维度的资料。大数据是企业的御林军,在企业自身发展面临瓶颈的时候,那么养兵千日用兵一时,大数据该发挥它的作用了。
(二)数据预处理举例
l关于大数据可能带来的作用,这里就不在赘述了,大家也都听腻了,我在这里以一个简单的小例子来说明数据要怎么处理,为什么这样处理?这些处理方式对小数据有用,其实更加对大数据有用。
下面例子是以一个体育比赛的成绩:
2009年柏林田径世锦赛100米决赛完全成绩
排名 | 中文名 | 国籍 | 成绩 | 起跑反应时间 |
1 | 博尔特 | 牙买加 | 9.58 | 0.146 |
2 | 盖伊 | 美国 | 9.71 | 0.144 |
3 | 鲍威尔 | 牙买加 | 9.84 | 0.134 |
4 | 伯力 | 安提瓜和巴布达 | 9.93 | 0.129 |
5 | 汤普森 | 特立尼达和多巴哥 | 9.93 | 0.119 |
6 | 钱伯斯 | 英国 | 10.00 | 0.123 |
7 | 伯恩斯 | 特立尼达和多巴哥 | 10.00 | 0.165 |
8 | 帕顿 | 美国 | 10.34 | 0.149 |
在这里简单的统计就不做了,相信各位都能熟于心了。这次做一件开放式的评分计算,来针对没名运动员的成绩做一个评价。
n如何评价这8名运动员的运动成绩
下面我会给出很多种评价方法,里面都是不同的方式,其中各有优缺点,至于哪种更好,我之后会发表个人看法和喜好。
1线性映射
最快的第一名100分,最慢的0分。
这种方式是用Max-Min方法计算的结果线性变换后得到这个结果。
排名 | 中文名 | 国籍 | 成绩 | 评价 |
1 | 博尔特 | 牙买加 | 9.58 | 100.00 |
2 | 盖伊 | 美国 | 9.71 | 82.89 |
3 | 鲍威尔 | 牙买加 | 9.84 | 65.79 |
4 | 伯力 | 安提瓜和巴布达 | 9.93 | 53.95 |
5 | 汤普森 | 特立尼达和多巴哥 | 9.93 | 53.95 |
6 | 钱伯斯 | 英国 | 10.00 | 44.74 |
7 | 伯恩斯 | 特立尼达和多巴哥 | 10.00 | 44.74 |
8 | 帕顿 | 美国 | 10.34 | 0.00 |
2 Z标准化转换:
按照Z标准化处理,最大值为149,最小值为-188,成绩评分F=-100*Z_score(懒得写标准化公式,请百度)
排名 | 中文名 | 国籍 | 成绩 | 成绩评分(F) |
1 | 博尔特 | 牙买加 | 9.58 | 149.23 |
2 | 盖伊 | 美国 | 9.71 | 91.54 |
3 | 鲍威尔 | 牙买加 | 9.84 | 33.84 |
4 | 伯力 | 安提瓜和巴布达 | 9.93 | -6.10 |
5 | 汤普森 | 特立尼达和多巴哥 | 9.93 | -6.10 |
6 | 钱伯斯 | 英国 | 10.00 | -37.17 |
7 | 伯恩斯 | 特立尼达和多巴哥 | 10.00 | -37.17 |
8 | 帕顿 | 美国 | 10.34 | -188.06 |
3自定义1:
这里面针对100米成绩来评分无非是想把花费的时间转化成球员的实力指数,让转化后的数值来反映成绩的水平。
这次结果最大值为163,最小值为-54
这是自定义公式:评价分数F=power(10,10-成绩)*100-100
排名 | 中文名 | 国籍 | 成绩 | 评价分数(F) |
1 | 博尔特 | 牙买加 | 9.58 | 163.03 |
2 | 盖伊 | 美国 | 9.71 | 94.98 |
3 | 鲍威尔 | 牙买加 | 9.84 | 44.54 |
4 | 伯力 | 安提瓜和巴布达 | 9.93 | 17.49 |
5 | 汤普森 | 特立尼达和多巴哥 | 9.93 | 17.49 |
6 | 钱伯斯 | 英国 | 10.00 | 0.00 |
7 | 伯恩斯 | 特立尼达和多巴哥 | 10.00 | 0.00 |
8 | 帕顿 | 美国 | 10.34 | -54.29 |
4自定义2:
假设9.50S是人类百米极限,那么这些选手的成绩评分也可以这样计算: F=100/(成绩-9.50)
排名 | 中文名 | 国籍 | 成绩 | 起跑反应时间 | score | 评价分数 |
1 | 博尔特 | 牙买加 | 9.58 | 0.15 | 9.58 | 125.00 |
2 | 盖伊 | 美国 | 9.71 | 0.14 | 9.71 | 47.62 |
3 | 鲍威尔 | 牙买加 | 9.84 | 0.13 | 9.84 | 29.41 |
4 | 伯力 | 安提瓜和巴布达 | 9.93 | 0.13 | 9.93 | 23.26 |
5 | 汤普森 | 特立尼达和多巴哥 | 9.93 | 0.12 | 9.93 | 23.26 |
6 | 钱伯斯 | 英国 | 10.00 | 0.12 | 10.00 | 20.00 |
7 | 伯恩斯 | 特立尼达和多巴哥 | 10.00 | 0.17 | 10.00 | 20.00 |
8 | 帕顿 | 美国 | 10.34 | 0.15 | 10.34 | 11.90 |
l数据处理方法点评:
数据的处理没有一个放之四海而皆准的规则,数据挖掘是结合具体业务环境的,所以数据处理的最大问题在于你要用数据去做什么,这个成绩单是向别人反映赛跑成绩背后运动员水平的;
考虑到这次比赛是博尔特破了百米纪录,所以这9.58S的成绩无论给多高评价都不过分,而第二名的盖伊9.71S成绩也很出彩,所以评分结果应该满足以下条件:
1 让博尔特和盖伊拉开档次;
2 也要让前两名和其他名次间拉开差距。
第一种方法:
按照以上两个要求来看,第一种方法绝对不可取,因为这和直接计算成绩是没太大差异的,在这里面体现不出来博尔特的9.58S有多么神奇,博尔特和盖伊相差0.13S,盖伊和鲍威尔也相差0.13S,那么这两个0.13S在数据处理后是否会是同样的差异呢?绝对不可以,前一个0.13S的差距更大,在接近极限的时候,哪怕破纪录0.01S都是很大的成就,所以方法一不满足条件,无法反应出博尔特的超群实力。
第二种方法:
同样的问题,这种方法仍然是线性的,缺点和第一种相同
第三种方法:
满足了第二个条件,至于第一个条件,我认为勉强满足,这个评分没有反映出两个0.13S之间的巨大差别。而且和第二种一样,评分有负值。但是仍然不失为合格的评分方法。
第四种方法:
满足两个条件,较好地将成绩分为三档,从评分可以看出博尔特自己一个档次,而且优势巨大,盖伊和博尔特差距不小,但是领先别人也很多,至于其他人,完全和其他田径比赛的100m没有差异,理当归为一个档次。
自定义评分方法缺点:这种一般会达到执行人的目的,但是公式是主观的,容易受到别人质疑和挑战,这些问题往往在技术上不能回答,需要你在业务用超强的解释能力让别人接受这公式,我试过,不容易被接受。
(三)总结
上面针对一个田径比赛的成绩做了成绩的评价,来反映成绩数字背后显示的运动员的竞技水平,我想说,其实数字是一种工具,我们要想好好利用,就一定要结合实际,要想让数据创造更大的价值,就要对数据处理方法精益求精。同样的数据如果是用于别的分析,可能数据处理会完全不同,所以数据处理方法是字段含义和数值共同决定的。
现在每个企业都知道数据挖掘的意义,而更多地企业开始对挖掘软件和挖掘算法着迷,很少有企业对自身数据的完备性、完整度等进行过考虑,数据挖掘是有效的,但是这是建立在良好的数据质量基础上的。
这里有一个比喻可以帮助大家理解各环节的利害关系。
l比喻 数据挖掘就像做菜
数据库就是菜市场:
当然菜市场有好有坏,有的数据库是杂乱无章的,那么这对数据的抽取和数据检验就增加了难度,而如果想成为优秀的数据库,那么必须要模仿井然有序、菜品罗列清楚的菜市场。
数据处理就是洗菜、切菜
在通常看来,做菜最重要的一步无疑是在最后一步的炒菜,但是当菜量变得不同后,情况就有改变,想象一下在10000人吃饭的食堂里,每天的洗菜和切菜就变得尤为重要。这一步骤也直接决定了最后这道菜评价的上限,如果工作出色,那么下一步的工作会有发挥的余地,如果这一步骤完成的差,那么下一步就会受极大影响,很多名厨在做菜的时候一般都自己来亲自切菜也是这个道理。
再说一个事实,各位就会轻易地理解洗菜、切菜多么地重要了,一般情况下集体食堂的菜都做的不好吃,特别是就连一般的宫保鸡丁、地三鲜也做得不好吃,你真的认为厨师差到那个程度,有人注意到大学食堂里面每道菜都有那么多的胡萝卜和黄瓜吗?事实就是一般的大型集体食堂无法完成比较高质量的切菜、洗菜工作。
挖掘算法就是炒菜
在前面的步骤封装后,其实挖掘算法的选择能够体现分析师的水平和战略眼光。首先我给出近今年最受欢迎的十大数据挖掘算法,感兴趣的同学可以自行查找资料,我在下一期将会抽选几个讲一下算法的适用环境和优缺点。
【*关于数据处理举例*】
这是一个开放式的方法举例,感兴趣的同学可以在下面回复你认为更好的评价方式,切忌评价目的是:
体现出成绩的含金量(9.58和9.84那天差地别的区别要体现出来,9.71也是优秀的成绩。)
体现出前几名和后面选手的差异,总之,还是开放的,希望大家贴出自己的处理方式,也让我学习一下。
转载于:https://blog.51cto.com/7869224/1288555