成為資料科學家的入門專案

coderpai發表於2017-12-29

作者: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)。


相關文章