https://opensource.com/article/18/10/machine-learning-python-essential-hacks-and-tricks
作者 | Tirthajyoti Sarkar
譯者 | Hank Chow (HankChow) ???共計翻譯:24.0 篇 貢獻時間:343 天
嘗試使用 Python 掌握機器學習、人工智慧和深度學習。
想要入門機器學習並不難。除了大規模網路公開課(MOOC)之外,還有很多其它優秀的免費資源。下麵我分享一些我覺得比較有用的方法。
Python 是機器學習和人工智慧方面的最佳語言嗎?
除非你是一名專業的研究一些複雜演演算法純理論證明的研究人員,否則,對於一個機器學習的入門者來說,需要熟悉至少一種高階程式語言。因為大多數情況下都是需要考慮如何將現有的機器學習演演算法應用於解決實際問題,而這需要有一定的程式設計能力作為基礎。
哪一種語言是資料科學的最佳語言?這個討論一直沒有停息過。對於這方面,你可以提起精神來看一下 FreeCodeCamp 上這一篇關於資料科學語言[13]的文章,又或者是 KDnuggets 關於 Python 和 R 之爭[14]的深入探討。
目前人們普遍認為 Python 在開發、部署、維護各方面的效率都是比較高的。與 Java、C 和 C++ 這些較為傳統的語言相比,Python 的語法更為簡單和高階。而且 Python 擁有活躍的社群群體、廣泛的開源文化、數百個專用於機器學習的優質程式碼庫,以及來自業界巨頭(包括 Google、Dropbox、Airbnb 等)的強大技術支援。
基礎 Python 庫
如果你打算使用 Python 實施機器學習,你必須掌握一些 Python 包和庫的使用方法。
NumPy
NumPy 的完整名稱是 Numerical Python[15],它是 Python 生態裡高效能科學計算和資料分析都需要用到的基礎包,幾乎所有高階工具(例如 Pandas[16] 和 scikit-learn[17])都依賴於它。TensorFlow[18] 使用了 NumPy 陣列作為基礎構建塊以支援 Tensor 物件和深度學習的圖形流。很多 NumPy 操作的速度都非常快,因為它們都是透過 C 實現的。高效能對於資料科學和現代機器學習來說是一個非常寶貴的優勢。
Pandas
Pandas 是 Python 生態中用於進行通用資料分析的最受歡迎的庫。Pandas 基於 NumPy 陣列構建,在保證了可觀的執行速度的同時,還提供了許多資料工程方面的功能,包括:
Matplotlib 和 Seaborn
資料視覺化和資料分析是資料科學家的必備技能,畢竟僅憑一堆枯燥的資料是無法有效地將背後蘊含的資訊向受眾傳達的。這兩項技能對於機器學習來說同樣重要,因為首先要對資料集進行一個探索性分析,才能更準確地選擇合適的機器學習演演算法。
Matplotlib[19] 是應用最廣泛的 2D Python 視覺化庫。它包含海量的命令和介面,可以讓你根據資料生成高質量的圖表。要學習使用 Matplotlib,可以參考這篇詳盡的文章[20]。
Seaborn[21] 也是一個強大的用於統計和繪圖的視覺化庫。它在 Matplotlib 的基礎上提供樣式靈活的 API、用於統計和繪圖的常見高階函式,還可以和 Pandas 提供的功能相結合。要學習使用 Seaborn,可以參考這篇優秀的教程[22]。
Scikit-learn
Scikit-learn 是機器學習方面通用的重要 Python 包。它實現了多種分類[23]、回歸[24]和聚類[25]演演算法,包括支援向量機[26]、隨機森林[27]、梯度增強[28]、k-means 演演算法[29]和 DBSCAN 演演算法[30],可以與 Python 的數值庫 NumPy 和科學計算庫 SciPy[31] 結合使用。它透過相容的介面提供了有監督和無監督的學習演演算法。Scikit-learn 的強壯性讓它可以穩定執行在生產環境中,同時它在易用性、程式碼質量、團隊協作、檔案和效能等各個方面都有良好的表現。可以參考這篇基於 Scikit-learn 的機器學習入門[32],或者這篇基於 Scikit-learn 的簡單機器學習用例演示[33]。
本文使用 CC BY-SA 4.0[34] 許可,在 Heartbeat[35] 上首發。
via: https://opensource.com/article/18/10/machine-learning-python-essential-hacks-and-tricks
作者:Tirthajyoti Sarkar[37] 選題:lujun9972 譯者:HankChow 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出