闲话不说,直接上图:

(左下角的直方图是这段时间地震震级的分布情况)

对比2010年11月份(5号至10号)的情形:


 

Rexer Analytics 关于数据挖掘的年度调查开始于 2007 年,本次(2010年)是第四次年度调查,原文链接在这里

调查的关键要点如下:

1.调查样本量

2010年前期,735个参与者,来自于60个国家

2.数据挖掘覆盖领域

数据挖掘覆盖很多领域,但CRM/Marketing在过去的几年一直排名第一。

3.涉及算法

决策树、回归、聚类是主要的使用方法,但其他算法也被广泛使用。虽然第一次涉及 Ensemble Models,但22%的人宣称正在使用。

4.模型

三分之一的建模人员使用了10个及以下的变量建模,同时28%的建模人员宣称模型一般使用45个以上的变量

5.工具

随着过去几年稳定的增长,开源数据挖掘软件R已经成为挖掘人员的首选(43%),其次是 STATISTICA(18%)。STATISTICA、IBM SPSS Modeler 和 R 在2009、2010年被参与调查的挖掘人员给了最高满意得分。

6.技能

数据挖掘依然主要发生在个人电脑上(而不是服务器),数据一般也是存储在本地。模型的结果依然主要依赖于软件本身。STATISTICA 用户比其他软件用户,更倾向于使用PMML标准。

7.挑战

脏数据,数据挖掘概念的普及、对数据的访问

8.未来

参与调研的人员对于数据挖掘还是非常乐观的。这个领域仍然有上升空间,只有13%的挖掘人员给自己的公司的分析能力评为“excellent”,只有8%的人认为他们的数据质量可以被认为“very strong”。

同往常一样,一些评论:

  1. 鉴于数据挖掘从业人员的总体数量,有735个样本已经很不错了。
  2. CRM/Marketing在中国国内也依然是数据挖掘最重要的应用领域。
  3. 比较惊讶的是,Ensemble Models 居然在国外的使用率已到到22%。
  4. 模型的变量问题是具体业务所决定,甚至是效率、成本的考虑,多少都是正常。
  5. R语言成为挖掘人员的首选工具是必然的(包括在 KDNuggets 上的调查也是如此)。当然如果从数据分析的本源出发的话,R语言有不可替代的天然优势。
  6. PMML标准依然可以在R语言上实现,感谢Graham Williams和他的同事。
  7. 挑战估计是每个挖掘从业人员都遇到过的问题,大家多多交流吧
  8. 数据挖掘的未来是美好的,毕竟我们生活的世界数据越来越多,扔在那儿太可惜了~~
 

集智俱乐部是我最近两年来比较关注的俱乐部,尤其集智在三号会所的线下活动,一帮来自五湖四海、背景迥异的年轻人,因为一个共同感兴趣的主题,各抒己见(头脑风暴),过程非常奇妙。至今依然清晰的记得第一次参加集智活动时,大家对超自然(超能力)现象的热烈讨论。说实话,当时刚听完报告,还以为进入一个邪教组织了,呵呵~~

2010年12月9日,集智俱乐部的 计算士 和 Jake 发布了头脑风暴论坛数据分析报告(全文)。报告很有趣,其中讲到了 Zipf 定律和以社会网络分析为主的网络骨架图。Jake 同时将头脑风暴论坛的数据发布,数据为XML格式文件。而我,恰恰对头脑风暴论坛的兴趣也是非常浓厚,所以这边本地将这些数据处理了一下(大家可参考这里),并作了一些简单分析同大家分享。

首先是头脑风暴论坛中最为关键的几个actors:

这里考虑了两个因素,网络的 Eigenvector Centrality 和 Betweenness Centrality(即vertex和edge信息),从上图看:jake 的地位最高,且Eigenvector和Betweenness相差较小;紧随其后的是东方隐,当然这个紧随其后是指相对概念。

由于 jake 的地位(重要到有点儿离群点的意思了),其他会员的状态不是很明显,所以考虑将 jake 这点去掉:

这样处理以后,除 jake 和 东方隐 以外的用户状态浮出。如果主观上增加“第二梯队”的概念(除去jake和东方隐两人,个人对头脑风暴论坛不是很熟悉,权且这么划分。当然也可以做个聚类啥的,不折腾了),那么属于这一梯队的ID包括:zcard2000、ruiaijun、黄淼鑫、计算士、Michael0607、天狮星11、飞鸟、yywwkk等。

问题来了,论坛上这些比较重要的actors是如何组织在一起(相互作用)的呢?

上图为重要节点的网络图,不难看出:jake 在头脑风暴论坛的地位是无可替代的,牢牢地占据论坛关系中最核心的位置(估计这种结构在COS论坛也同样存在,其中的核心不用我多言,哈~~)

还有就是东方隐这个节点也非常有意思,需要关注。但详细的说明,这里就省略了,毕竟对头脑风暴论坛不像统计之都那么熟悉,硬搬着去解释,难免贻笑大方。简单陈述一下绘制关系图的原则:

  • 同计算士绘制的骨架图一样,这里也同样将一些不太重要的节点做了删除处理(subgraph),只留下了重要节点的骨架;
  • 骨架中的节点也并不是每一个都做了展示,而是通过 Eigenvector 和 Betweenness 的对比,将差异比较明显的节点做(名称)展示。而表示为红色的节点大小即为二者差异的大小。

写在最后:

  1. 这篇文章实际上写的非常仓促,有很多细节考虑不是很完备,并且从数据上看,能够展现的也不止上面的一些信息(比如发帖时间的分析、还有一些条件密度类的内容,等等)。但与其无限期放在草稿箱里,不如直接放出来。因此这篇文章可能会有比较大的改动(主要是绘图部分),但什么时候,就不得而知了;
  2. 如果有集智俱乐部的童鞋看到这篇文章的话,多多指正,并——欢迎加入统计之都
  3. 关于集智俱乐部:说太多了可能太主观,还是参考其官网的简介:

附:

2003 年,集智俱乐部创始人张江(Jake)创办了集智俱乐部网站,该网站一直致力于宣传、普及、推广复杂系统科学,并展开广泛的跨学科交流,俱乐部渐渐聚集了一批有识之士。 5 年后的 2008 ,集智俱乐部的交流和活动开始从虚拟世界走向现实,并尝试发展一个现实世界中的学术组织。目前集智俱乐部的日常管理工作由集智核心成员负责, 主要活动有开放式的讲座与交流,以及其它主题小组活动。……

 

(我承认,这个是标题党!)

今儿看到 Ajay Ohri 那儿推荐了多伦多大学 S. Sayad 教授的关于数据挖掘的一个在线介绍。这个介绍包含了完整的数据挖掘过程,以及数据挖掘技术的分类,并且每一项都可以通过超链接到相应的分支。让人爱不释手,大赞之!

S. Sayad 教授在数据挖掘过程定义上同从比较流行的 CRISP-DM(Cross Industry Standard Process for Data Mining)有些区别:

  1. Problem Definition
  2. Data Preparaion
  3. Data Exploration
  4. Modelling
  5. Evaluation
  6. Deployment

(但个人认为这两种说法其实没有脱离问题的本质,是一致的)。

而重头戏则是关于数据挖掘(统计分析)技术的两大领域

  • 描述
  • 推断

挖掘(分析)技术的对应关系(超链接的脑图?),

首先是——描述:

然后是——推断:

最后是 S. Sayad 教授的数据挖掘在线 intro,请猛击之!

再补一句:关于数据挖掘软件的介绍,没有 R,抱怨一下~~

附1:

标准的“商业”数据挖掘过程:

  1. Business Understanding
  2. Data Understanding
  3. Data Preparaion
  4. Modelling
  5. Evaluating
  6. Deployment

固定链接:http://www.bjt.name/2010/12/toronto-data-mining-intro/‎

 

前些天在准备中国第三届R语言会议(上海)的时候,翻到以前记录在Google Notebook里的一些材料,一篇是关于Google Codes关于R代码的规范,非常值得借鉴。

规范这个东西平时多多注意一些还是有好处的,就和作文一样,漂亮的字体总能有不错的加分。这里就不翻译原文了,摘一些 tips 供大家参考:

1、一般性规则

  • 避免使用attach
  • 写函数是尽量少的使用stop()
  • 定义S3和S4的对象不要混在一起使用

2、文件命名

以.r结束的文件,尽可能的增加信息在文件名里面,比如

Good:

predict_ad_revenue.R

Bad:

foo.R

3、变量名和函数命名规则

# 注意,在R环境下,大小写是敏感的

变量:

Good:

avg.clicks

Bad:

avg_Clicks, avgClicks

函数名:

Good:

CalculateAvgClicks

Bad:

calculate_avg_clicks, calculateAvgClicks

4、字符间隔

这个可能是最快的,使代码外观变”漂亮”的规则了

Good:

tabPrior <- table(df[df$daysFromOpt < 0, "campaignid"])

Bad:

tabPrior<-table(df[df$daysFromOpt<0,"campaignid"])

这里包含了赋值、逻辑符号以及逗点分隔。

# 在R里面尽量少用 =

在函数里:

Good:

if (debug)

Bad:

if(debug)

5、代码组织

尤其是做项目的话,以下信息是必须有的:

  1. 版权声明
  2. 作者注释
  3. 文件说明,项目目的,输入和输出的说明
  4. source() 和 library() 说明
  5. 函数定义
  6. 其他

6、注释

养成良好的注释习惯

  • 单行注释以 # 开头,加一个空格
  • 短注释需要在代码后面空两格,然后 # ,再加一个空格

最后再一次推荐使用Emacs+ESS,虽然我已经折腾n多次了~~

永久链接:http://www.bjt.name/2010/11/google-r-code-style

© 2012 刘思喆 @ 贝吉塔行星 Suffusion theme by Sayontan Sinha