為了理解和應用機器學習技術,你需要學習 Python 或者 R。這兩者都是與 C、Java、PHP 相類似的程式語言。但是,因為 Python 與 R 都比較年輕,而且更加“遠離”CPU,所以它們顯得簡單一些。相對於R 只用於處理資料,使用例如機器學習、統計演算法和漂亮的繪圖分析資料, Pthon 的優勢在於它適用於許多其他的問題。因為 Python 擁有更廣闊的分佈(使用 Jango 託管網站,自然語言處理 NLP,訪問 Twitter、Linkedin 等網站的 API),同時類似於更多的傳統語言,比如 C python 就比較流行。
在Python中學習機器學習的四個步驟
1、首先你要使用書籍、課程、視訊來學習 Python 的基礎知識
2、然後你必需掌握不同的模組,比如 Pandas、Numpy、Matplotlib、NLP (自然語言處理),來處理、清理、繪圖和理解資料。
3、接著你必需能夠從網頁抓取資料,無論是通過網站API,還是網頁抓取模組Beautiful Soap。通過網頁抓取可以收集資料,應用於機器學習演算法。
4、最後一步,你必需學習機器學習工具,比如 Scikit-Learn,或者在抓取的資料中執行機器學習演算法(ML-algorithm)。
1.Python入門指南:
有一個簡單而快速學習Python的方法,是在 codecademy.com 註冊,然後開始程式設計,並學習 Python 基礎知識。另一個學習Python的經典方法是通過 learnpythonthehardway ,一個為廣大 Python 程式設計者所推薦的網站。然後還有一個優秀的 PDF, byte of python 。python社團還為初學者準備了一個Python資源列表list of python resources。同時,還有來自 O’Reilley 的書籍 《Think Python》,也可以從這裡免費下載 。最後一個資源是 Python 用於計量經濟學、統計學和資料分析的介紹:《Introduction to Python for Econometrics, Statistics and Data Analysis 》,其中也包含了 Python 的基礎知識。
2.機器學習的重要模組
關於機器學習最重要的模組是:NumPy, Pandas, Matplotlib 和 IPython 。有一本書涵蓋了其中一些模組:《Data Analysis with Open Source Tools》 。然後來自於1.的免費書籍《Introduction to Python for Econometrics, Statistics and Data Analysis》,同時也包括 Numpy,Pandas,Matplotlib 和 IPython這幾個模組。還有一個資源是 Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython,也包含了一些很重要的模組。以下是其他免費模組的相關連結: Numpy (Numerical Python, Numpy Userguide, Guide to NumPy), Pandas (Pandas, Powerful Python Data Analysis Toolkit,Practical Business Python,Intros to Pandas Data Structure) 和 Matplotlib books。
其它資源:
3.從網站通過API挖掘和抓取資料
一旦理解了Python的基礎知識和最重要的模組,你必需要學習如何從不同的源收集資料。這個技術也被稱作網頁抓取。傳統的源是網站文字,通過API進入twitter或linkedin一類網站得到的文字資料。網頁抓取方面的優秀書籍包括:《 Mining the Social Web》 (免費書籍),《Web Scraping with Python》 和《 Web Scraping with Python: Collecting Data from the Modern Web》。
最後這個文字資料必須要轉換為數值資料,通過自然語言處理(NLP)技術完成, Natural language processing with Python 和 Natural Language Annotation for Machine Learning 上面有相應的資料。其它的資料包括圖片和視訊,可以使用計算機影像技術分析: Programming Computer Vision with Python,Programming Computer Vision with Python: Tools and algorithms for analyzing images 和 Practical Python and OpenCV ,這些是圖片分析方面的典型資源。
以下例子中包括可以用基本的Python命令列實現,有教育意義,而且有趣的例子,以及網頁抓取技術。
- Mini-Tutorial: Saving Tweets to a Database with Python (微型教程:使用Python儲存推文到資料庫)
- Web Scraping Indeed for Key Data Science Job Skills (網頁抓取關鍵資料科學工作技巧)
- Case Study: Sentiment Analysis On Movie Reviews (案例學習:電影評論中的情感分析)
- First Web Scraper (第一網頁抓取)
- Sentiment Analysis of Emails (郵件的情感分析)
- Simple Text Classification (簡單文字分類)
- Basic Sentiment Analysis with Python (Python基礎情感分析)
- Twitter sentiment analysis using Python and NLTK (使用Python和NLTK 做Twitter情感分析)
- Second Try: Sentiment Analysis in Python (第二個嘗試:Python情感分析)
- Natural Language Processing in a Kaggle Competition for Movie Reviews (電影評論相關Kaggle Competition中的NLP自然語言處理)
4. Python 中的機器學習
機器學習可以分為四組:分類,聚類,迴歸和降維。
“分類”也可以稱作監督學習,有助於分類圖片,用來識別圖片中的特徵或臉型,或者通過使用者外形來分類使用者,並給他賦不同的分數值。“聚類”發生在無監督學習的情況,允許使用者在資料中識別組/叢集。“迴歸”允許通過引數集估算一個值,可以應用於預測住宅、公寓或汽車的最優價格。
modules, packages and techniques 羅列了 Python、C、Scala、Java、Julia、MATLAB、Go、R 和 Ruby等語言中所有學習機器學習的重要模組、包和技巧。有關Python機器學習的書籍,我特別推薦《Machine learning in action》。儘管有點短,但它很可能是機器學習中的經典,因為它提到了“集體智慧程式設計時代”:Programming Collective Intelligence。這兩本書幫助你通過抓取資料建立機器學習。最近關於機器學習的出版物大多都是基於模組 scikit-learn 。由於所有的演算法在模組中都已實現,使得機器學習非常簡單。你唯一要做的事就是告訴 Python ,應該使用哪一個機器學習技巧 (ML-technique) 來分析資料。
免費的 scikit-learn教程 可以在 scikit-learn 官方網站上找到。其他的帖子可以通過以下連結獲取:
- Introduction to Machine Learning with Python and Scikit-Learn (機器學習中 Python 和 Scikit-Learn 的介紹)
- Data Science in Python (Python 中的資料科學)
- Machine Learning for Predicting Bad Loans (用機器學習來預測壞賬)
- A Generic Architecture for Text Classification with Machine Learning (通過機器學習來分類文字的通用架構)
- Using Python and AI to predict types of wine (利用 Python 和 AI 人工智慧來預測酒的品種)
- Advice for applying Machine Learning (應用機器學習的建議)
- Predicting customer churn with scikit-learn (使用 scikit-learn 預測使用者流失)
- Mapping Your Music Collection (對映你的音樂收藏)
- Data Science in Python (Python 中的資料科學)
- Case Study: Sentiment Analysis on Movie Reviews (案例學習:電影評論中的情感分析)
- Document Clustering with Python (Python中的文件聚類)
- Five most popular similarity measures implementation in python (5 個最流行的Python相似度測量的實現)
- Case Study: Sentiment Analysis on Movie Reviews (案例學習:電影評論中的情感分析)
- Will it Python? (將會是 Python 麼?)
- Text Processing in Machine Learning (機器學習中的文字處理)
- Hacking an epic NHL goal celebration with a hue light show and real-time machine learning (使用色彩燈光秀和實時機器學習黑入史詩級 NHL(北美冰球聯賽)進球慶祝)
- Vancouver Room Prices (溫哥華房間價格)
- Exploring and Predicting University Faculty Salaries (探索和預測大學教師工資)
- Predicting Airline Delays (預測航班延誤)
關於機器學習和 Python 中模組 scikit-learn 的書籍:
- Collection of books on reddit (收集 reddit 新聞網站上的書籍)
- Building Machine Learning Systems with Python (用 Python 建立機器學習系統)
- Building Machine Learning Systems with Python, 2nd Edition (用 Python 建立機器學習系統,第二版)
- Learning scikit-learn: Machine Learning in Python (學習 scikit-learn:Python 中的機器學習)
- Machine Learning Algorithmic Perspective (透視機器學習演算法)
- Data Science from Scratch – First Principles with Python (抓取的資料科學——關於 Python 的首要原則)
- Machine Learning in Python (Python 中的機器學習)
接下來數月將要發行的書籍包括:
- 《Introduction to Machine Learning with Python》 (Python 機器學習的介紹)
- 《Thoughtful Machine Learning with Python: A Test-Driven Approach》 (思考 Python 機器學習:接近測試驅動)
機器學習相關的課程和部落格
你想要得到一個學位,加入線上課程,或者參加線下講習班、大本營或大學課程麼?這裡有一些關於邏輯分析、大資料、資料探勘和資料科學的線上教育站點連結:Collection of links 。另外推薦一些線上課程–來自Udacity的Coursera 課程:machine learning 和 Data Analyst Nanodegree。還有一些關於機器學習的部落格列表:List of frequently updated blogs。
最後是來自 Jake Vanderplas 和 Olivier Grisel,關於探索機器學習的優秀 youtube 視訊課程。
機器學習理論
想要學習機器學習的理論?那麼,《The Elements of statistical Learning》和《 Introduction to Statistical Learning》 是常常被引用的經典。然後還有另外兩本書籍:《Introduction to machine learning 》和《 A Course in Machine Learning》。這些連結包括免費的PDF,你不需要付費!如果不想閱讀這些書籍,請觀看視訊:15 hours theory of machine learning!