
1. 数据挖掘流程
1.1. 数据挖掘是一门手艺
- 1.1.1. 涉及大量科学与技术的应用,而如何恰当地应用这些科学与技术也是一门艺术
1.2. 数据挖掘也有一套易于理解的流程,可以将问题解构,并保证合理的一致性、可重复性和客观性
1.3. 循环迭代是数据挖掘流程的常态
-
1.3.1. 循环迭代一轮没能解决问题并不意味着失败
-
1.3.2. 整个数据挖掘流程往往是探索数据的过程
-
1.3.3. 在第一轮迭代之后,数据科学团队会对数据更加了解,在下次迭代时会更有方向性
1.4. 业务理解环节
-
1.4.1. 在业务理解环节,分析师需要发挥创造力
-
1.4.2. 数据科学固然重要,但成功的关键往往是商业分析师如何发挥创造力,将商业问题分解成一个或多个数据科学问题
-
1.4.3. 充分掌握基础知识有助于分析师构思新颖的方案
-
1.4.4. 方案设计团队需要仔细考虑需要解决的问题及其应用场景
1.5. 数据理解环节
-
1.5.1. 如果目标是解决商业问题,那么构成解决方案的原材料就应该包含在数据里
-
1.5.2. 因为几乎没有一份数据能完全符合问题的需求,所以我们需要了解数据的优势和局限性
-
1.5.3. 收集历史数据的原始目的往往与当前面对的商业问题无关,有些历史数据甚至根本没有明确的收集目的
-
1.5.4. 数据的成本不一也是常见现象
-
1.5.5. 数据理解环节的关键是估计每个数据源的成本和收益,从而决定是否有必要进一步投资
-
1.5.6. 随着数据理解环节的深入,问题解决路径的方向可能会随之改变,而数据团队的工作甚至有可能产生分支
-
1.5.7. 数据挖掘技术被广泛地应用于欺诈检测,而许多欺诈检测问题都涉及经典的有监督型数据挖掘工作
-
1.5.8. 一个商业问题会对应多个数据挖掘任务,而且这些任务往往种类不同,因而有必要将其解决方案进行组合
1.6. 数据准备环节
-
1.6.1. 数据准备环节往往紧跟着数据理解环节,而在此环节中,数据被处理转化成特定格式,以获得更好的结果
-
1.6.2. 典型的数据准备的例子有:把数据转化为表格格式、删除或推断出缺失值,以及转换数据类型
-
1.6.3. 有的数据挖掘方法适用于符号数据和分类数据,有的则适用于数值型数据
-
1.6.4. 数值往往需要归一化或调整比例,以便于进行比较
-
1.6.5. 数据科学家往往会在初期投入大量时间来定义之后会用到的变量,而这是人的创造力、常识和商业知识发挥作用的主要时期
-
1.6.6. 数据挖掘结果的好坏,主要依赖于分析师能否非常好地构建问题和设计变量
-
1.6.7. 漏洞是指,虽然历史数据中的一个变量会提供有关目标变量的信息,但这些信息在需要进行决策时尚不存在
-
1.6.8. 在数据准备环节,必须慎重考虑漏洞问题,因为数据准备往往是基于已发生的事实(即历史数据)的
1.7. 建模环节
-
1.7.1. 建模环节是将数据挖掘技术应用于数据的主要阶段
-
1.7.2. 需要理解数据挖掘的基本概念,包括现有技术和算法的种类,因为科学和技术正是在数据挖掘的这个环节发挥了最大的作用
1.8. 评估环节
-
1.8.1. 评估环节的目的是严格评估数据挖掘结果,以确保它们有效且可靠,能够用于下一步
-
1.8.2. 只要仔细地探查一个数据集,总能从中发现各种模式
-
1.8.3. 评估环节还能确保模型满足最初的商业目的
-
1.8.4. 商业中数据科学的首要目标是辅助决策,而且从开始应用数据挖掘起,我们就聚焦于想要解决的商业问题
-
1.8.5. 数据挖掘结果的评估环节包含定量评估和定性评估
- 1.8.5.1. 为了促成这种定性评估,数据科学家必须要考虑模型对于企业利益相关者(而不仅仅是数据科学家)而言的可理解性
-
1.8.6. 具备一个综合评估框架是非常重要的
-
1.8.6.1. 由于对部署环境的访问受到限制,所以“生产中”的综合评估就变得非常困难
-
1.8.6.2. 已部署系统通常包含许多“活动部分”,因而对每个单独环节进行评估也很困难
-
1.8.6.3. 鉴于这种情况,拥有成熟数据科学团队的公司会明智地搭建尽可能反映真实生产数据的实验环境,以便在部署模型前得到最真实的评估
-
1.9. 部署环节
-
1.9.1. 在部署环节,数据挖掘结果乃至数据挖掘技术本身正(越来越多地)付诸实际使用,以获取投资回报
-
1.9.2. 可以选择不那么“技术范”的部署方式
-
1.9.3. 将模型部署于生产系统时,往往需要根据生产环境对模型进行重新编码
- 1.9.3.1. 这通常是为了提高速度或提高该模型与现存系统的兼容性
-
1.9.4. 实际操作中,由数据科学团队建模到转交开发团队实现的过程是有风险的
-
1.9.4.1. 数据科学家们需要自始至终参与项目,直至其最终部署
-
1.9.4.2. 依据技能不同,他们的身份既可以是顾问,也可以是开发人员
-
-
1.9.5. 不管部署环节是否成功,整个流程往往都会再回到商业理解环节
-
1.9.5.1. 数据挖掘流程能够暴露出商业问题和其解决方案的难点,而通过第二次迭代,就能改进解决方案
-
1.9.5.2. 单是思考业务、数据和绩效目标的过程,往往就有助于想出提升业绩的新思路,有时甚至还能开辟新的业务线或创造新的投资机会
-
1.9.5.3. 值得注意的是,不一定非要等到部署环节失败才能重启数据挖掘的大循环
-
2. 管理数据科学团队
2.1. 数据挖掘项目往往被当成工程项目并受到和工程项目相同的管理
- 2.1.1. 当数据挖掘项目是由软件部门发起时,这还情有可原
2.2. CRISP循环就基于探索,其迭代的是方法和策略,而非软件设计
2.3. 虽然数据挖掘与软件相关,但其所需的不仅仅是程序员常用的编程技能
2.4. 对分析师而言,更重要的是能够明确表达问题、迅速构建解决方案、对结构拙劣的问题提出合理假设、设计能够代表大量投资的实验和对结果进行分析
3. 其他分析技巧与技术
3.1. 统计
-
3.1.1. 作为从数据中计算特定数值时的万能名词
-
3.1.2. 汇总统计量应根据要解决的商业问题来仔细选择
- 3.1.2.1. 选择时也需要注意进行汇总统计的数据的分布情况
-
3.1.3. 统计学中的很大一部分知识构成了分析学的理论基础,而统计学也可以被视为数据科学这个大领域的一部分
3.2. 数据库查询
-
3.2.1. 查询是一种由专门语言编写,从数据库系统中请求数据子集或数据统计的操作
-
3.2.2. 许多工具都可以用来执行分析人员发出的一次性或重复性的数据请求
- 3.2.2.1. 这类工具通常是数据库系统的前端,我们可以基于结构化查询语言(SQL)或图形用户界面(GUI)建立查询
-
3.2.3. 查询工具通常能够执行复杂的逻辑运算,包括计算数据子集的汇总统计、排序、用相关数据关联多个数据表等
- 3.2.3.1. 数据科学家往往非常擅长通过编写查询语句来获取所需数据
-
3.2.4. 联机分析处理(OLAP)提供了一个易于使用的图形用户界面来查询大型数据集
-
3.2.4.1. “联机”是指该处理过程是实时的,由此分析师和决策者可以快速高效地得到查询结果
-
3.2.4.2. OLAP系统的设计目的是帮助分析师实现对数据的人工和可视化探索,它并不能进行建模或自动发现模式
-
3.2.4.3. 数据挖掘能够在数据探索过程中轻松地将新的维度纳入分析中
-
3.2.4.4. OLAP工具可以作为数据挖掘工具的有力补充,帮助探索商业数据
-
3.3. 数据仓库
-
3.3.1. 数据仓库可以从整个企业(通常是从多个拥有独立数据库的交易处理系统)中收集数据并进行合并,以供分析系统访问
-
3.3.2. 数据仓库可以被视作数据挖掘工作的辅助工具,但由于大部分数据挖掘工作并不使用数据仓库,所以它并非数据挖掘工作的必备项
3.4. 回归分析
- 3.4.1. 被广泛地应用于统计学及其他基于计量经济分析的领域
3.5. 机器学习与数据挖掘
-
3.5.1. 机器学习方法是从数据中提取(预测性)模型的一系列方法
-
3.5.2. 在多个领域同时得到发展,而这些领域中最广为人知的是机器学习、应用统计和模式识别三个领域
-
3.5.3. 人工智能则致力于依据智能代理的经验,逐步提高其知识水平或性能
- 3.5.3.1. 这个提高过程通常涉及对环境中的数据进行分析和对未知量进行预测,而这些年机器学习中的数据分析部分在该领域发挥了重要作用
-
3.5.4. 数据挖掘(或“知识发现和数据挖掘”, KDD)起初是机器学习的一个分支,它在后来的发展中仍与机器学习保持着密切的关系
3.6. 商业问题
-
3.6.1. 谁是盈利性最高的用户?
-
3.6.2. 盈利性用户和普通用户之间是否真的存在区别?
-
3.6.3. 这些用户是谁?他们的特征是什么?
-
3.6.4. 某位特定的新用户是否能带来利润?根据预期,该用户能带来多少收益?