天天看点

《机器学习与数据科学(基于R的统计学习方法)》——导读

《机器学习与数据科学(基于R的统计学习方法)》——导读

机器学习与数据科学(基于r的统计学习方法)

在我的童年时代,我十分喜爱著名科幻作家、教授艾萨克·阿西莫夫(asimov isaac)的《基地三部曲》。故事的主角叫作hari seldon,他是一位开创了“心理历史学”的数学教授,这门学科涉及历史学、社会学和数理统计,可以用来预测未来事件发生的概率。因此,我从小就迷上了预测这一概念。很自然地,我长大后成为了一名数据科学家。我把机器学习类比为seldon的素数辐射法(prime radiant),是一个存储“心理历史学方程”的工具,可以用来展示人类未来发展前景。

远在“数据科学”这一概念问世之前,我就已经成为(或者假装成为)一名数据科学家(data scientist)很多年了。“数据科学家”这一头衔经历了数十年职业演化才建立,对此我表示十分欣喜。最近在业内论坛上,人们针对“数据科学”是否能恰当描述这一领域展开了激烈的辩论。我认为这个术语确实做出了了不起的贡献,因为数据科学家所做的事情实际上大多都是实验,这对我日复一日的基础工作毫无疑问是有效的科学方法(scientific method)。我个人认为“数据科学”比“数据挖掘”(data mining)或者“商业智能”(business intelligence)更精确、描述得更好。随着时间的流逝,后两种表述经历了严格的技术成熟度曲线。我对“数据科学家”这一称呼很满意,因为我真切地感受到自己是一个用数据进行实验的科学家。

这里讲讲我是如何理解数据科学用科学方法来解决问题的。

提出一个问题:问题可以是针对一个具体观察结果的解释。例如,是不是给目标顾客打的电话越多,销售团队能成交的单量也越多?这一阶段牵涉到寻找能够为解决问题提供线索的数据集。当在数据科学中使用科学研究方法时,确定一个好的问题相当不易,并且问题的好坏会直接影响到研究的最终结果。

作出一个假设(hypothesis):假设就是一个可能解释观测结果的猜想。这个假设是在提出问题时,基于现有的知识做出的。一个典型的假设表述形式是:是否批准一个房屋贷款,决定因素可能是房主的收入水平预期和信用评分。

预测(prediction):这一步骤牵涉到确定假设的逻辑结论,使用数据科学意味着选择一个合适的机器学习算法来解决这个问题。在理想状态下,预测必须把假设和其他的可能原因区分出来;如果两个假设做出了一样的预测,观测到预料中的结果就并不能说明其中一个假设是正确的。这就是为什么某些领域的机器学习需要用相同数据集、不同算法来做实验,来看最终的结果如何。这一步也需要用有限数据集来“训练”算法。

测试(testing):这一步骤是考察实际结果是否像假设预测的那样。作为一名数据科学家,你需要在训练过程中保留一份数据集,来评估预测的准确性。这一实验的目的是判断基于真实世界的观测与基于假设的预测是否一致。如果一致,该假设的置信度提高;否则,置信度降低。然而,一致性并不能确保假说的正确,更深入的实验可能会揭示其他问题。

分析(analysis):这一阶段需要确定实验得出的结论是什么,并决定下一步需要做什么。通过数据可视化,你可能发现之前在机器学习中使用的数据不足以预测得出你需要的结果。所以你回退到前面,重新审视提出问题那一步。你可能希望用不同的数据集重复实验,来观察是否能得到相同的结果。一旦一个假说得到了数据的强烈支持,可以在同一主题下提出一个新的问题,来寻求更深入的了解。在这种情况下,科学方法是一个迭代的过程,它不断重复,直至发展出一个能继续前进的强大“理论”。

机器学习是数据科学家用来做预测和检验假设有效性的基本工具集。让我们继续简要地了解一下机器学习是什么、数据科学家用它来做什么。“机器学习”这一表述代表了多学科的融合:计算机科学(computer science)、数理统计、概率论和数据可视化。在接下去的章节中,我们将会看到机器学习有两大基本类型:监督学习(supervised learning)用于预测,非监督学习(unsupervised learning)用于发现。如果你真的想深入理解各种机器学习算法的奥秘,必须明白多个数学领域的原理,例如数理统计、概率论(probability theory)、计算学、线性代数(linear algebra)、偏微分方程(partial differential equations)和组合数学(combinatorics)。好在,在本书中我们使用了r语言,所以无需钻研算法的基本原理。我们只需要学习如何使用它们。

<a href="https://yq.aliyun.com/articles/97523">第1章 机器学习综述</a>

<a href="https://yq.aliyun.com/articles/97524">1.1 机器学习的分类</a>

<a href="https://yq.aliyun.com/articles/97526">1.2 机器学习的实际案例</a>

<a href="https://yq.aliyun.com/articles/97527/">1.3 机器学习的过程</a>

<a href="https://yq.aliyun.com/articles/97529">1.4 机器学习背后的数学</a>

<a href="https://yq.aliyun.com/articles/97528">1.5 成为一名数据科学家</a>

<a href="https://yq.aliyun.com/articles/97530">1.6 统计计算的r工程</a>

<a href="https://yq.aliyun.com/articles/97531">1.7 rstudio</a>

<a href="https://yq.aliyun.com/articles/97532">1.8 使用r包</a>

<a href="https://yq.aliyun.com/articles/97533">1.9 数据集</a>

<a href="https://yq.aliyun.com/articles/97534">1.10 在生产中使用r</a>

<a href="https://yq.aliyun.com/articles/97535">1.11 小结</a>

<a href="https://yq.aliyun.com/articles/97536">第2章 连接数据</a>

<a href="https://yq.aliyun.com/articles/97537">2.1 管理你的工作目录</a>

<a href="https://yq.aliyun.com/articles/97538">2.2 数据文件的种类</a>

<a href="https://yq.aliyun.com/articles/97539">2.3 数据的来源</a>

<a href="https://yq.aliyun.com/articles/97540">2.4 从网络中下载数据集</a>

<a href="https://yq.aliyun.com/articles/97541">2.5 读取csv文件</a>

<a href="https://yq.aliyun.com/articles/97542">2.6 读取excel文件</a>

<a href="https://yq.aliyun.com/articles/97543">2.7 使用文件连接</a>

<a href="https://yq.aliyun.com/articles/97544">2.8 读取json文件</a>

<a href="https://yq.aliyun.com/articles/97545">2.9 从网站中抓取数据</a>

<a href="https://yq.aliyun.com/articles/97546">2.10 sql数据库</a>

<a href="https://yq.aliyun.com/articles/97547">2.11 r中的sql等价表述</a>

<a href="https://yq.aliyun.com/articles/97548">2.12 读取twitter数据</a>

<a href="https://yq.aliyun.com/articles/97549/">2.13 从谷歌分析中读取数据</a>

<a href="https://yq.aliyun.com/articles/97560">2.14 写数据</a>

<a href="https://yq.aliyun.com/articles/97561/">2.15 小结</a>

第3章 数据处理

第4章 探索性数据分析

第5章 回归

第6章 分类

第7章 评估模型性能

第8章 非监督学习

继续阅读