天天看點

Python機器學習:适合新手的8個項目

作者:猴子資料分析
Python機器學習:适合新手的8個項目

再多的理論也不能代替動手實踐。

教科書和課程會讓你誤以為精通,因為材料就在你面前。但當你嘗試去應用它時,可能會發現它比看起來更難。而「項目」可幫助你快速提高應用的 ML 技能,同時讓你有機會探索有趣的主題。

此外,你可以将項目添加到你的投資組合中,進而更輕松地找到工作,找到很酷的職業機會,甚至協商更高的薪水。

在這篇文章中,我們将為初學者介紹 8 個有趣的機器學習項目。你可以在一個周末完成其中的任何一個,或者如果你很喜歡它們,可以将它擴充為更長的項目。

1、機器學習角鬥士

我們親切地稱其為「機器學習角鬥士」,但它并不新鮮。這是圍繞機器學習建立 實用 直覺的最快方法之一。

目标是采用開箱即用的模型并将其應用于不同的資料集。這個項目很棒有 3 個主要原因:

首先,你将建立模型與問題拟合的直覺。哪些模型對缺失資料具有魯棒性?哪些模型可以很好地處理分類特征?是的,你可以翻閱教科書來尋找答案,但是通過實際操作您會學得更好。

其次,這個項目将教你快速制作原型的寶貴技能。在現實世界中,如果不簡單地嘗試它們,通常很難知道哪種模型表現最好。

最後,本練習可以幫助你掌握模型建構的工作流程。例如,你将開始練習……

導入資料

清理資料

将其拆分為訓練/測試或交叉驗證集

預處理

轉型

特征工程

因為你将使用開箱即用的模型,你将有機會專注于磨練這些關鍵步驟。

檢視 sklearn (Python) 或 caret (R) 文檔頁面以擷取說明。你應該練習回歸、 分類和聚類算法。

教程

• Python: sklearn – sklearn包 的官方教程

• 使用 Scikit-Learn 預測葡萄酒品質——訓練機器學習模型的分步教程

• R: caret – 由 caret 包的作者提供的網絡研讨會

資料源

• UCI 機器學習存儲庫 ——350 多個可搜尋的資料集,涵蓋幾乎所有主題。您一定會找到您感興趣的資料集。

• Kaggle 資料集——Kaggle 社群上傳的 100 多個資料集。這裡有一些非常有趣的資料集,包括 PokemonGo 産卵地點和聖地亞哥的墨西哥卷餅。

• data.gov ——美國政府釋出的開放資料集。如果您對社會科學感興趣,可以去看看。

2、玩錢球

在《點球成金》一書中 ,奧克蘭 A 隊通過分析球員球探徹底改變了棒球運動。他們建立了一支有競争力的球隊,而隻花費了洋基隊等大型市場球隊支付薪水的 1/3。

首先,如果你還沒有讀過這本書,你應該去看看。這是我們的最愛之一!

幸運的是,體育界有大量資料可供使用。球隊、比賽、比分和球員的資料都可以線上跟蹤和免費擷取。

對于初學者來說,有很多有趣的機器學習項目。例如,您可以嘗試……

• 體育博彩……根據每場新比賽前的可用資料預測盒子得分。

• 人才球探…… 使用大學統計資料來預測哪些球員将擁有最好的職業生涯。

• 綜合管理...... 根據他們的優勢建立球員叢集,以建立一個全面的團隊。

體育也是練習資料可視化和探索性分析的絕佳領域。你可以使用這些技能來幫助您決定要在分析中包含哪些類型的資料。

資料源

• 體育統計資料庫 ——體育統計和曆史資料,涵蓋了許多職業運動和一些大學運動。幹淨的界面使網頁抓取更容易。

• Sports Reference – 另一個體育統計資料庫。界面更雜亂,但可以将單個表格導出為 CSV 檔案。

• cricsheet.org – 國際和 IPL 闆球比賽的逐球資料。提供 IPL 和 T20 國際比賽的 CSV 檔案。

3、預測股票價格

對于任何對金融感興趣的資料科學家來說,股票市場就像是糖果樂園。

首先,您有多種類型的資料可供選擇。您可以找到價格、基本面、全球宏觀經濟名額、波動率指數等……不勝枚舉。

其次,資料可能非常精細。您可以輕松擷取每家公司按天(甚至按分鐘)的時間序列資料,進而讓您創造性地思考交易政策。

最後,金融市場通常具有較短的回報周期。是以,您可以快速驗證您對新資料的預測。

你可以嘗試的一些适合初學者的機器學習項目示例包括……

• 量化價值投資…… 根據公司季度報告的基本面名額預測 6 個月的價格走勢。

• 預測…… 在隐含波動率和實際波動率之間的內插補點上建構時間序列模型,甚至是循環神經網絡。

• 統計套利…… 根據價格走勢和其他因素找到相似的股票,并尋找價格出現分歧的時期。

建立交易模型來練習機器學習很簡單。讓他們盈利是極其困難的。這裡沒有任何财務建議,我們不建議交易真錢。

教程

• Python: sklearn for Investing – 将機器學習應用于投資的 YouTube 視訊系列。

• R: Quantitative Trading with 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 算法

從頭開始編寫機器學習算法是一種出色的學習工具,主要有兩個原因。

首先,沒有更好的方法來建立對他們機制的真正了解。您将被迫考慮每一步,這将導緻真正的掌握。

其次,您将學習如何将數學指令轉換為工作代碼。在從學術研究中調整算法時,您将需要這項技能。

我們建議選擇不太複雜的算法。即使是最簡單的算法,您也需要做出許多微妙的決定。在您熟悉建構簡單算法後,嘗試擴充它們以獲得更多功能。例如,嘗試通過添加正則化參數将普通邏輯回歸算法擴充為套索/嶺回歸。

最後,這是每個初學者都應該知道的提示:不要氣餒,因為您的算法不如現有軟體包中的算法快或花哨。這些軟體包是多年發展的成果!

教程

• Python:從零開始的邏輯回歸

• Python:從零開始的 k-最近鄰

• R:從零開始的邏輯回歸

7、挖掘社交媒體情緒

由于使用者生成的内容數量龐大,社交媒體幾乎已成為「大資料」的代名詞。

挖掘這些豐富的資料可以證明以前所未有的方式來掌握觀點、趨勢和公衆情緒。Facebook、Twitter、YouTube、微信、WhatsApp、Reddit……這個名單還在繼續。

此外,每一代人在社交媒體上花費的時間都比他們的前輩多。這意味着社交媒體資料将與營銷、品牌和整個業務更加相關。

雖然有許多流行的社交媒體平台,但Twitter 是練習機器學習的經典切入點。

使用 Twitter 資料,您可以獲得資料(推文内容)和中繼資料(位置、主題标簽、使用者、轉發推文等)的有趣混合,為分析開辟了幾乎無窮無盡的路徑。

教程

• Python:挖掘 Twitter 資料——如何對 Twitter 資料進行情緒分析

• R:使用機器學習進行情感分析——簡短而甜蜜的情感分析教程

資料源

• Twitter API – twitter API 是流資料的經典來源。您可以跟蹤推文、主題标簽等。

• StockTwits API – StockTwits 就像交易者和投資者的推特。 您可以通過使用時間戳和股票代碼将其連接配接到時間序列資料集來以許多有趣的方式擴充此資料集 。

8、改善醫療保健

由于機器學習,另一個正在經曆快速變化的行業是全球健康和醫療保健。

在大多數國家,成為一名醫生需要多年的教育。這是一個要求高、工作時間長、風險高、進入門檻更高的領域。

是以,最近在機器學習的幫助下減輕醫生的工作量并提高醫療保健系統的整體效率做出了重大努力。

用例包括:

• 預防性護理…… 預測個人和社群層面的疾病爆發。

• 診斷護理...... 自動對圖像資料進行分類,例如掃描、X 射線等。

• 保險……根據公開的風險因素調整保險費。

随着醫院繼續對患者記錄進行現代化改造,并且随着我們收集更細化的健康資料,資料科學家将有大量唾手可得的機會來發揮作用。

教程

• R:為疾病預測建構有意義的機器學習模型

• 醫療保健中的機器學習——微軟研究院的精彩演講

資料源

• 大型健康資料集——大型健康相關資料集的集合

• data.gov/health – 美國政府提供的與健康和醫療保健相關的資料集。

• 健康營養和人口統計——世界銀行提供的全球健康、營養和人口統計資料。

Python機器學習:适合新手的8個項目