阅读 731

成为数据科学家的入门项目

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
我的博客:请点击这里

数据科学家是目前最有吸引力的职业之一,但是如何进入这个领域却是一个不容易的事。因为你需要经验才能得到这份工作,但是你需要这份工作才能获得经验。是不是感觉这是一个恶性循环?

Statsbot 的数据科学家 Denis Semenenko 写了这篇文章,用来帮助大家做出第一个简单但是具有一定说明性的科学数据项目,这个项目需要的时间可能不到一周。

这意味着你需要定制一个问题,设计解决方案,查找数据,掌握一些分析技术,然后构建一些机器学习模型,最后评估模型质量,并将其包装成简单的UI。这比 Kaggle 比赛或者 Coursera 课程更加的多样化。

如果你对这种项目感兴趣,那么你可以继续阅读。

分类垃圾邮件

垃圾邮件在我们生活的各个信息角落都存在。其中之一的经典数据项目就是垃圾邮件分类。你可以训练一个模型来检测一个邮件是否是垃圾邮件,以便来减少垃圾信息对用户的骚扰。

一个简单的机器学习模型基于在邮件中看到 “sale” 或者 “buy” 这样的,来定义一个邮件是不是垃圾邮件。因此,你可以在一个星期内做出一个垃圾邮件的原型。

问题定义: 文本分类
算法: 朴素贝叶斯,线性分类器,树分类等等分类器
技术工具: sklearn, nltk, scrapy
数据集: sms spam dataset, e-mail spam dataset , youtube comments spam dataset
展示方式: 网页页面
参考指南:AdBlock, Adguard
阅读指南: How To Build a Simple Spam-Detecting Machine Learning Classifier, Getting Started: Building a Chrome Extension

Not Hotdog

Not Hotdog 是一个来自硅谷系列的应用程序,可以识别照片中的热狗和非热狗。

你可以通过使用社交网络或者谷歌图像来收集数据集,以此来作为你的模型的训练集。

从头开始训练一个模型需要大量的训练样本和训练时间,因此最好我们使用一个经过预训练的网络模型,这样可以缩短训练时间。

问题定义: 图像分类, image classification, transfer learning
算法: 卷积神经网络
技术工具: keras, lasagne, Instagram API(or external libraries e.g.Instabot)
数据集: 使用 Instagram API 来收集数据
展示方式: APP
参考指南: Not hotdog
阅读指南: Transfer learning using Keras, Building powerful image classification models using very little data

Netflix 电影推荐系统

推荐系统对于像 Google 或者 Facebook 这样的大型公司是必须的,因为从收入和用户点击率来看,推荐系统都是非常有价值的。

如果我们在这个子领域能够得到实践,那么对于以后的数据分析发展是非常有利的。

问题定义: 推荐系统
算法: 降低维度,协同过滤,分类算法
技术工具: sklearn, vowpal wabbit
数据集: Netflix prize dataset, MovieLens dataset
展示方式: 网页展示
参考指南: Jinni, MovieLens
阅读指南: Quick Guide to Build a Recommendation Engine in Python

Snapchat 镜头

如果你比较喜欢处理图像,那么你可以尝试创建自己自定义的 Snapchat 镜头。任何社交网络都喜欢这样的东西,包括 Instagram,Facebook 和 Snapchat。

镜头检测面部的关键点,用来显示嘴唇,眼睛,鼻子和脸部的边界。然后你可以使用一些框架来重新构建面部。

问题定义: 图像识别面部检测
算法: 卷积神经网络,面部关键点检测
技术工具: dlib, openface, keras, openCV
数据集: Facial keypoints detection dataset
展现方式: APP
参考指南: Snapchat, Instagram
阅读指南: Facial landmarks with dlib, OpenCV, and Python, Build a Simple Camera App

Twitter 数据

很多公司都会在互联网上面监控客户的行为数据,以此来对消极的客户做出相应的调整。例如,T-Mobile 和 Verizon 需要对消极的推文进行快速响应,并找出问题并且解决。

每个人都可以使用 Twitter API 和情绪分类算法来进行这个项目。

问题定义 情感分析
算法: 情感分析
数据集: Twitter API
技术工具: nltk, spaCy
展现方式: APP
参考指南: Twilert, Tweetreach
阅读指南: Twitter sentiment analysis using Python and NLTK

网球预测

专业的投注者总是在寻找有利可图的赌注。基于大量的数据统计,网球是一种很好的预测类体育项目。数据科学家根据历史数据和玩家信息来构建预测模型,并将结果与博彩公司的评估进行比较。

目标是找出机器学习模型与博彩公司评估之间的差距,从而有机会获胜。这是一个很好的实际数据科学项目。

问题定义: 分类
算法: 分类算法
数据集:atpworldtour.com
技术工具: sklearn, scrapy
展现方式: APP
参考指南:olbg.com, verifiedbets.com
阅读指南: Machine Learning for the Prediction of Professional Tennis Matches

股票预测

机器学习模型还善于处理的一个领域是时间序列预测。一个数据处理引擎可以预测汇率和股票的波动,所以交易员或者程序可以根据这些数据进行交易。

如果你选择这个项目,你会很容易得到数据和实践。这个领域是从计量经济学和经典机器学习中得出来的,所以你应该准备好探索统计学方法。

问题定义: 时间序列预测
算法: ARIMA, regression
数据集: Quandl
技术工具: sklearn, prophet, scrapy
展示方式: APP
参考指南: financeboards.com
阅读指南: An Introduction to Stock Market Data Analysis with Python

我希望你能从这些简单数据项目中获得一些启发,开启你的数据分析之路。


CoderPai 是一个专注于算法实战的平台,从基础的算法到人工智能算法都有设计。如果你对算法实战感兴趣,请快快关注我们吧。加入AI实战微信群,AI实战QQ群,ACM算法微信群,ACM算法QQ群。详情请关注 “CoderPai” 微信号(coderpai)。