8个带你快速入门的趣味机器学习项目(附数据源、教程)

抽时间做项目是最好的一种投资方式,在项目中你会享受学习、保持积极性并能获得更快的进展。没有任何理论可以代替实践,虽然教材和课程能让你掌握一些基本原理,但在尝试应用时,你会发现具体操作起来比较困难。

因此项目有助于提高应用机器学习的技巧,此外在找工作中也会给自己增添一些筹码。

以下将具体介绍这八个项目,每个项目都能在一个周末完成,如果你喜欢的话,可以对其进行相关的扩展。

本文目录

  1. 机器学习的角斗士
  2. 扮演“点球成金”
  3. 预测股票价格
  4. 教会神经网络阅读的笔迹
  5. 调查安然事件
  6. 从Scrath开始写机器学习算法
  7. 挖掘社交情绪
  8. 改善卫生保健

1.机器学习的角斗士

这个项目被称为“机器学习的角斗士”,但它不是新的。这是围绕机器学习建立实际直觉最快的一种方式。目标是将现成模型应用到不同的数据集。本项目主要有3个原因令人感叹:

首先,你会根据直觉为问题找到对应的模型。该模型是否对数据丢失具有鲁棒性、该模型适合处理种类别特征?这都可以通过挖掘教材找到答案,但如果通过实践的话能学习得更好。

其次,本项目将教会你快速设计初始模型的技能。在实际应用中,如果不简单尝试的话难以知道哪些模型表现最好。

最后,这个练习可以帮助你掌握建模的流程。例如:

  • 导入数据
  • 数据清洗
  • 将数据集拆成训练/测试或交叉验证集
  • 预处理
  • 变换
  • 特征工程

因为使用现成的模型,这导致你有更多的机会专注于学习上述的这些关键步骤。

通过以下教程可以练习回归、分类和聚类算法。

**教程
**
Python:sklearn——sklearn数据包官方教程
http://suo.im/2soaN8)
Scikit Learn预测葡萄酒质量——用于训练机器学习模型的分步教程
http://suo.im/4qWf3S)
R:插入符号——在线研讨会
http://suo.im/28G7jk)

数据源

UCI机器学习库——350多个可检索数据集,几乎涵盖每一个主题。
http://suo.im/2LAdKq)
Kaggle数据集——Kaggle社区上的100多个数据集。
https://www.kaggle.com/datasets)
Data.gov——由美国政府发布的开放数据集。
https://www.data.gov/)

2.扮演“点球成金”

在点球成金这本书中,奥克兰通过善于分析球员的球探,建立了一个有竞争力的阵容,但只需要支付只有1 / 3的纽约洋基队支付的工资。

首先,如果你还没读过这本书,你应该看看。

幸运的是,体育界有很多的数据可以玩,这些数据(球队、比赛、成绩和球员信息)都是可以免费获取。

有很多有趣的机器学习项目适合初学者。例如:

体育博彩——在每场球赛之前根据给出的数据预测得分;
人才搜索——利用高校统计数据预测哪些球员会拥有最好的职业生涯;
一般管理——基于球员各自的优势创建集群,建立一个全面的团队。
体育也是一个很好的实践数据可视化和探索性分析的领域,你可以使用这些技巧来帮助你决定在你的分析中应包含哪些类型的数据。

数据源

体育统计数据——体育运动和历史数据包含许多专业的体育比赛等,从网络上非常容易抓取这些信息。
http://www.databasesports.com/)
体育参考——另一种体育统计数据库。更杂乱的界面,但个别表可以导出为CSV文件。
http://www.sports-reference.com/)
cricsheet.org——国际棒球和IPL板球比赛的数据,IPL和T20国际比赛的CSV文件可以被获取。
http://cricsheet.org/downloads/)

3.预测股票价格

股票市场对于任何数据科学家们都很感兴趣。

首先,你有很多类型的数据,比如价格、全球宏观经济指标、波动率指数等。

其次,数据是非常精细的。你可以很容易地花费很少时间就能得到每一个公司的数据,这允许你可以创造性地思考交易策略。

最后,金融市场普遍存在反馈周期短的特点。因此,可以快速验证新的数据。

一些对于初学者友好的机器学习项目如下所示:

  • 定量的价值投资——根据公司的季度报告预测6个月的价格走势。
  • 预言——对三角洲之间的隐含和实际波动率建立时间序列模型,甚至递归神经网络。
  • 统计套利——基于价格变动及其它因素寻找相似的股票,并寻找价格分歧的时机。
  • 免责声明:构建交易模型在实践中的机器学习是简单的,但使他们的盈利是非常困难的。入市需谨慎,投资有风险。

教程

Python:sklearn投资——将机器学习应用于投资的系列视频。
http://suo.im/4CIIso)
R:R量化交易——对于R定量金融学详细的课堂笔记。
http://www.rfortraders.com/)

数据源

Quandl——数据市场,提供免费的金融和经济数据。
http://suo.im/vp6xq)
Quantopian——定量金融社区,开发交易算法提供了一个免费的平台。
https://www.quantopian.com/data)
美国基础档案文件——5000多家美国公司5年的基本数据。
http://usfundamentals.com/download)

4.教会神经网络阅读笔迹

神经网络和深度学习是现代人工智能的成功故事。他们导致了图像识别的重大进展,文本自动生成甚至自动驾驶汽车等。

MNIST手写体数字分类的挑战是经典的切入点,该数据集对于初学者是友好的,并且足够小以至于适合在大多数的计算机完成这个挑战。

首先,建议阅读下面的教程第一章。它会教你如何建立一个神经网络,并以高精度的结果完成MNIST挑战。

教程

神经网络和深度学习(在线书籍)——第1章如何从零开始使用Python编写神经网络完成MNIST数字分类。
http://neuralnetworksanddeeplearning.com/)

数据源

MNIST——包含70000个标记的手写体数字图像。(http://yann.lecun.com/exdb/mnist/)

5.调查安然事件

安然事件造成有史以来最大的公司破产。在2000年度,安然是美国最大的能源公司,然而被揭露舞弊后,它在一年内就破产了。

幸运的是,我们已经有安然的电子邮件数据库,它包含150名前安然员工之间的50万封电子邮件,主要是高级管理人员。这也是唯一的大型公共的真实邮件数据库,这使得它更有价值。

事实上,数据科学家已经使用这个数据集进行多年的教育和研究。

初学者可以尝试的机器学习项目例子包括:

异常检测——按照小时发送和接收的电子邮件分布尝试检测异常行为导致公众丑闻的异常行为。
社交网络分析——建立员工之间的网络图模型来寻找关键人物。
自然语言处理——结合电子邮件元数据分析正文消息,并根据其目的对电子邮件进行分类。

数据源

安然邮件数据集——这是由CMU归档的安然的电子邮件。(http://www.cs.cmu.edu/~enron/)
安然数据描述(PDF)——安然电子邮件数据的探索性分析可以帮助你打好基础。
http://suo.im/2bM571)

6.从Scratch开始写机器学习算法

从Scratch开始写机器学习算法的原因主要有两个:

首先,没有更好的办法来建立对其机制的真正理解。你将不得不考虑每一步,从而真正掌握这些机制。

其次,你将会学到如何数学指令工作翻译成公众代码。

开始时,建议你选择一种不太复杂的算法;在适应构建简单的算法后,尽量扩展他们以获得更多的功能;最后,如果你的算法不比那些现有的数据包快,不要气馁,因为这些数据包是多年的发展成果!

教程

Python:从Scratch开始Logistic回归
http://suo.im/1sXPJR)
Python:从Scratch开始k-近邻法
http://suo.im/2p1OPS)
R:从Scratch开始Logistic回归
http://suo.im/3cPQSe)

7.挖掘社交情绪

由于大量用户生成的内容,社交化媒体已经几乎成为“大数据”的代名词。挖掘这些丰富的数据可以发现舆论、前沿和公众情绪的趋势。

脸谱网、推特、微信等一系列社交平台让人应接不暇。此外,每一代都比他们的前辈在社交媒体上花费更多的时间,这意味着社交媒体数据和市场营销、品牌及商业更相关。

虽然有许多流行的社交媒体平台,但推特是练习机器学习经典的切入点。

使用推特数据,你会得到一个有趣的混合数据(推特内容)和元数据(位置、标签、用户、转发等),因此有很多方式对其进行分析。

教程

Python:挖掘Twitter数据——如何在推特数据进行情感分析
http://suo.im/tflKM)
R:机器学习的情感分析——短而甜蜜的情感分析教程
http://suo.im/2rALk4)

数据源

推特API——推特API是流媒体数据的经典来源。
http://suo.im/CKCiA)
Stock Twits API——Stock Twits是一个社交投资平台,类似于一个交易者和投资者之间的推特,可以通过将时间戳和股票代码符号加入到时间序列数据集中扩展此数据集。
https://stocktwits.com/developers/docs)

8.改善卫生保健

由于机器学习而经历快速变化的另一个行业是全球健康与保健。

在大多数国家,成为一个医生需要多年的教育,这是一个要求很高的领域,长时间、高风险以及一个很高的门槛。

因此近年来,在机器学习的帮助下减轻了医生的工作量,提高了医疗系统的整体效率。

用例包括:

预防保健——预测对个人和社区层面的疾病爆发。
诊断服务——图像数据的自动分类,如扫描、X射线等。
保险——根据公开的风险因素调整保险费。
随着医院患者的病例现代化的发展,当我们收集更多的健康数据时,数据科学家将会有很大的可能去改善现存的医疗体系。

教程

R:为疾病预测建立有意义的机器学习模型
(http://suo.im/4qrHaJ)
卫生保健中的机器学习——微软研究院的优秀演讲
(http://suo.im/2wPFan)

数据源

大型健康数据集——大型健康数据集的收集
(http://suo.im/2VcIBhv)
data.gov/health——由美国政府提供的医疗保健相关的数据集。(http://suo.im/4wBUn5)
健康营养和人口统计——由世界银行提供的全球健康、营养和人口统计数据。
(http://suo.im/4dPW1I)

时间: 2024-11-02 21:44:36

8个带你快速入门的趣味机器学习项目(附数据源、教程)的相关文章

适合入门的8个趣味机器学习项目

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 谈到机器学习,相信很多除学者都是通过斯坦福大学吴恩达老师的公开课<Machine Learning>开始具体的接触机器学习这个领域,但是学完之后又不知道自己的掌握情况,缺少一些实际的项目操作.对于机器学习的相关竞赛挑战,有些项目的门槛有些高,参加后难以具体的实现,因此造成自己对机器学习的热情逐渐衰减.大部分都经历过这个过程,一直想找一些练手的项目,最典型的练手项目比如手写体识别等,但这类的项目成熟得不能再成

30分钟带你快速入门MySQL教程

 当时入门MySQL的时候,连数据库是什么都不知道,后来参考了一些网友的博客文章和论坛的帖子,才开始慢慢了解它.下面也是以一种可实际操作的方式来说明MySQL最最基本的使用了. 本篇文章的索引如下: 一.MySQL数据库的安装 1.Windows下的安装 2.Linux下的安装 3.MAC下的安装 二.开始使用MySQL数据库 0.简单理解MySQL数据库 1.在命令行中进入MySQL数据库 2.查看已有的数据库 3.创建自己的数据库 4.选择要操作的数据库 5.在数据库中创建数据库表 6.My

08Vue.js快速入门-Vue综合实战项目

8.1. 前置知识学习 npm 学习 官方文档 推荐资料 npm入门 npm介绍 需要了解的知识点 package.json 文件相关配置选项 npm 本地安装.全局安装.本地开发安装等区别及相关命令 npm script脚步的基本编写能力 有时间专门写一个这样的专题,如果需要可以邮件我.malun666@126.com webpack基础学习 官方文档 Webpack了解的知识点: webpack的基本配置 了解webpack常用的loader: less-loader.sass-loader

《R语言游戏数据分析与挖掘》一2.1 开发环境准备和快速入门

2.1 开发环境准备和快速入门 2.1.1 R语言简介 R语言的前身是S语言,S语言是由AT &T Bell实验室的Rick Becker.John Chambers和Allan Wilks开发的一种用来进行数据探索.统计分析.作图的解释型语言.最初S语言的实现版本主要是S-PLUS.S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善.而R语言最初由来自新西兰大学的Ross Ihaka和Robert Gentleman开发(由于他们的名字都以R开头,所以该软

(albertyi原创)Eclipse 安装,调试快速入门

快速入门|原创                                (albertyi原创)Eclipse 安装,调试快速入门 最近一直用UltraEdit和gmake来做java程序,感觉确实很轻省,但是常常怀念VC强大的程序编辑,调试功能... 遂决定找一个强大的IDE环境,经过分析网上N个帖子,我的目标逐渐锁定了Eclipse; 安装非常简单,从网上下载了最新的Eclipse3.1.0以及最新的j2sdk1.4.2. 一.安装步骤如下: 1.卸载机器上老版本的JDK 2.安装最新

数码照片加工快速入门

快速入门 Photoshop是一个用起来非常得心应手的图像处理软件,但一些初学者往往以为它很专业,有点"敬而远之",而宁愿用Windows中的图画板.其实Photoshop是一个"老少咸宜"的工具,"老手""嫩手"都可以在其中各取所需.作为处理照片暨Photoshop入门的导引,本文将帮助初学者照片加工快速入门. 数码相机拍摄或通过扫描仪录入的照片转存到计算机中后,还可以用图像处理软件进行 加工处理,以弥补或克服我们在照片拍摄

ThinkPHP3.1快速入门(4)连贯操作

上一篇我们详细描述了查询语言的用法,但是查询语言仅仅解决了查询或者操作条件的问题,更多的配合还需要使用模型提供的连贯操作方法. 介绍 连贯操作可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作,也是ThinkPHP的ORM中的一个亮点.使用也比较简单, 假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下: $User->where('status=1')->order('create_time')->limit(1

ASP.NET数据库编程快速入门之技术慨述

asp.net|编程|快速入门|数据|数据库 大约有将近一百万名开发人员使用了.NET Framework的第一个版本来开发网站.所以在2003年的夏天,当从Microsoft传出将有新版本发布的传闻时,许多人的耳朵都竖了起来,这个新的版本将使得创建ASP.NET页面所需的代码行数减少70%.像这样大规模的提高生产效率在程序设计中是不多见的.当ASP.NET 2.0的代码样例在2003年秋的Microsoft专业开发人员大会(Microsoft Professional Developer's

Oracle RMAN快速入门指南

oracle|快速入门 前言这篇文章主要介绍RMAN的常用方法,其中包含了作者一些自己的经验,里面的实验也基本全在WIN 2K和ORACLE 8.1.6环境下测试成功(因为这个环境比较容易实现). 本文借鉴了网上一些高手的相关文章,希望大侠们不要见怪,此处一并谢过. 这篇文章主要是在北京出差期间写的,回到家后整理修改了一下,时间比较仓促,同时因为篇幅有限,一些技术细节不能一一覆盖了,只希望能够帮助新手入门的作用,想真正熟练掌握RMAN,必须经过较长时间的实践磨练才可以,尤其需要在工程中获得宝贵的