在本指南中,我们将为初学者介绍8个有趣的机器学习项目。项目是对你时间的一些最好的投资。你会喜欢学习,保持动力,并取得更快的进展。
目录
1.机器学习角斗士
我们亲切地称其为 "机器学习角斗士",但这并不新鲜。这是围绕机器学习建立实用 直觉的最快方式之一。
我们的目标是采用开箱即用的模型,并将其应用于不同的数据集。这个项目非常棒,主要有三个原因。
首先,你将建立模型与问题匹配的直觉。哪些模型对缺失数据是稳健的?哪些模型能很好地处理分类特征?是的,你可以从教科书中找到答案,但你会通过实际操作学到更好的东西。
第二,这个项目将教会你快速建立模型原型的宝贵技能。在现实世界中,如果不简单地尝试一下,往往很难知道哪个模型会表现得最好。
最后,这个练习可以帮助你掌握建立模型的 工作流程。
- 导入数据
- 清洗数据
- 将其分割成训练/测试或交叉验证集
- 预处理
- 变换
- 特征工程
因为你将使用开箱即用的模型,你将有机会专注于磨练这些关键步骤。
请查看sklearn(Python)或caret(R)的文档页面以获得指导。你应该练习回归、分类和 聚类算法。
教程
- Python: sklearn sklearn软件包的官方教程
- 用Scikit-Learn预测葡萄酒质量 训练机器学习模型的分步骤教程
- R:caret caret包的作者举办的网络研讨会。
数据来源
- UCI机器学习资源库 350多个可搜索的数据集,几乎涵盖所有主题。你一定会找到你感兴趣的数据集。
- Kaggle数据集 由Kaggle社区上传的100多个数据集。这里有一些非常有趣的数据集,包括PokemonGo的产卵地点和圣地亚哥的卷饼。
- data.gov 由美国政府发布的开放数据集。如果你对社会科学感兴趣,可以到这里看看。
2.玩金钱球
在《金钱球》一书中,奥克兰运动家队通过分析球员的球探,彻底改变了棒球。他们建立了一支有竞争力的球队,而花的钱只有像洋基这样的大市场球队支付的工资的1/3。
首先,如果你还没有读过这本书,你应该去看看。它是我们的最爱之一
幸运的是,体育界有大量的数据可以利用。球队、比赛、比分和球员的数据都被跟踪,并可在网上免费获得。
对于初学者来说,有很多有趣的机器学习项目。例如,你可以尝试:
- 体育博彩 在每场新比赛之前,根据当时的数据预测箱体分数。
- 人才侦察 使用大学统计数据来预测哪些球员会有最好的职业生涯。
- 一般管理 根据球员的长处创建球员群,以建立一个全面的团队。
体育也是一个练习数据可视化和探索性分析的优秀领域。你可以使用这些技能来帮助你决定哪些类型的数据要包括在你的分析中。
数据来源
- 体育统计数据库 体育统计和历史数据涵盖了许多职业体育和一些大学的体育。简洁的界面使它更容易被网络刮走。
- 体育参考 另一个体育统计数据库。界面比较杂乱,但个别表格可以导出为CSV文件。
- cricsheet.org 国际和IPL板球比赛的逐球数据。可提供IPL和T20国际比赛的CSV文件。
3.预测股票价格
对于任何对金融感兴趣的数据科学家来说,股票市场就像糖果乐园。
首先,你有许多类型的数据可以选择。你可以找到价格、基本面、全球宏观经济指标、波动率指数等这个清单不胜枚举。
第二,数据可以非常细化。你可以很容易地得到每家公司按天(甚至按分钟)的时间序列数据,这使你可以创造性地思考交易策略。
最后,金融市场通常有很短的反馈周期。因此,你可以在新数据上快速验证你的预测。
一些适合初学者的机器学习项目的例子,你可以尝试一下:
- 定量价值投资 根据公司季报中的基本指标预测6个月的价格走势。
- 预测 在隐含波动率和实际波动率之间建立时间序列模型,甚至是递归神经网络。
- 统计套利 根据其价格变动和其他因素寻找类似的股票,并寻找其价格分歧的时期。
明显的免责声明:建立交易模型来练习机器学习很简单。让它们盈利是非常困难的。这里的一切都不是金融建议,我们不建议进行真钱交易。
教程
- Python: sklearn for Investing 关于将机器学习应用于投资的YouTube视频系列。
- R:用R进行量化交易 用R进行量化金融的详细课堂笔记。
数据来源
- Quandl 数据市场,提供免费(和高级)金融和经济数据。例如,你可以批量下载3000多家美国公司的日终股票价格或美联储的经济数据。
- Quantopian 量化金融社区,为开发交易算法提供免费平台。包括数据集。
- US Fundamentals Archive 5000多家美国公司的5年基本面数据。
4.教神经网络阅读手写体
神经网络和深度学习是现代人工智能的两个成功故事。它们导致了图像识别、自动文本生成,甚至自动驾驶汽车方面的重大进展。
要参与这个令人兴奋的领域,你应该从一个可管理的数据集开始。
MNIST手写数字分类挑战赛是一个典型的切入点。图像数据通常比 "平面 "关系数据更难处理。MNIST的数据对初学者很友好,小到可以放在一台电脑上。
手写识别会给你带来挑战,但它不需要高计算能力。
要开始的话,我们建议从下面的教程中的第一章开始。它将教你如何从头开始建立一个神经网络,以高精确度解决MNIST的挑战。
教程
- 神经网络和深度学习(在线图书) 第1章讲述了如何用Python从头开始编写一个神经网络,对MNIST的数字进行分类。作者还对神经网络背后的直觉做了很好的解释。
数据来源
- MNIST MNIST是由美国国家标准和技术研究所收集的两个数据集的修改子集。它包含了70,000个标记的手写数字图像。
5.调查安然公司
安然公司的丑闻和倒闭是历史上最大的企业崩溃之一。
在2000年,安然是美国最大的能源公司之一。然后,在被揭露有欺诈行为后,它在一年内急剧下滑,陷入破产。
幸运的是,我们有安然公司的电子邮件数据库。它包含150名安然公司前雇员之间的50万封电子邮件,其中大部分是高级管理人员。这也是唯一的大型公共真实电子邮件数据库,这使得它更有价值。
事实上,数据科学家多年来一直在使用这个数据集进行教育和研究。
初学者的机器学习项目的例子,你可以尝试一下,包括:
- 异常检测 绘制按小时发送和接收的电子邮件的分布图,并尝试检测导致公共丑闻的异常行为。
- 社会网络分析 在员工之间建立网络图模型,找到关键的影响者。
- 自然语言处理 结合电子邮件元数据分析正文信息,根据其目的对电子邮件进行分类。
数据来源
- 安然电子邮件数据集 这是由CMU托管的安然电子邮件档案。
- 安然数据描述(PDF)安然电子邮件数据的探索性分析,可以帮助你打好基础。
6.从头开始编写ML算法
从头开始写机器学习算法是一个很好的学习工具,主要有两个原因。
首先,没有更好的方法来建立对其机制的真正理解。你将被迫思考每一个步骤,而这将导致真正的掌握。
第二,你将学习如何将数学指令转化为工作代码。在改编学术研究中的算法时,你会需要这种技能。
开始时,我们建议选择一个不太复杂的算法。即使是最简单的算法,你也需要做出几十个微妙的决定。
在你能自如地构建简单的算法之后,试着扩展它们以获得更多的功能。例如,通过添加正则化参数,尝试将一个普通的逻辑回归算法扩展为套索/岭回归算法。
最后,这里有一个每个初学者都应该知道的提示。如果你的算法没有现有软件包中的算法快或花哨,不要气馁。这些软件包是多年来的发展成果
教程
7.挖掘社会媒体的情绪
由于用户生成的内容数量巨大,社交媒体几乎成了 "大数据 "的代名词。
挖掘这些丰富的数据可以证明是掌握意见、趋势和公众情绪脉搏的前所未有的方法。Facebook、Twitter、YouTube、微信、WhatsApp、Reddit,这个名单不胜枚举。
此外,每一代人在社交媒体上花费的时间甚至比他们的前辈更多。这意味着社交媒体数据对于市场营销、品牌建设和整个商业来说将变得更加相关。
虽然有许多流行的社交媒体平台,但Twitter是实践机器学习的经典切入点。
有了Twitter的数据,你可以得到一个有趣的数据(推文内容)和元数据(位置、标签、用户、转发等)的混合体,为分析开辟了几乎无尽的路径。
教程
- Python:挖掘Twitter数据 如何对Twitter数据进行情感分析
- R:用机器学习进行情感分析 简短而温馨的情感分析教程
数据来源
- Twitter API twitter API是一个典型的流媒体数据来源。你可以跟踪推文、标签等。
- StockTwits API StockTwits就像交易者和投资者的Twitter。你可以通过使用时间戳和股票代码将其加入时间序列数据集,以许多有趣的方式扩展这个数据集。
8.改善医疗服务
由于机器学习,另一个正在经历快速变化的行业是全球健康和医疗保健。
在大多数国家,成为一名医生需要多年的教育。这是一个要求很高的领域,工作时间长,风险大,而且进入门槛更高。
因此,最近在机器学习的帮助下,为减轻医生的工作量和提高医疗保健系统的整体效率做出了巨大努力。
使用案例包括。
- 预防性护理 在个人和社区层面预测疾病的爆发。
- 诊断性护理 自动对图像数据进行分类,如扫描、X射线等。
- 保险 根据公开的风险因素来调整保险费。
随着医院继续对病人记录进行现代化改造,随着我们收集更细化的健康数据,将有大量的低价机会涌入,让数据科学家有所作为。
教程
- R:为疾病预测建立有意义的机器学习模型
- 医疗保健中的机器学习 微软研究院的精彩演讲
数据来源
- 大型健康数据集 大型健康相关数据集的集合
- data.gov/health 美国政府提供的与健康和保健有关的数据集。
- 健康营养和人口统计 世界银行提供的全球健康、营养和人口统计。