Python 機器學習的必備技巧
嘗試使用 Python 掌握機器學習、人工智慧和深度學習。
想要入門機器學習並不難。除了大規模網路公開課(MOOC)之外,還有很多其它優秀的免費資源。下面我分享一些我覺得比較有用的方法。
- 從一些 YouTube 上的好視訊開始,閱覽一些關於這方面的文章或者書籍,例如 《主演算法:終極學習機器的探索將如何重塑我們的世界》,而且我覺得你肯定會喜歡這些關於機器學習的很酷的互動頁面。
- 對於“機器學習”、“人工智慧”、“深度學習”、“資料科學”、“計算機視覺”和“機器人技術”這一堆新名詞,你需要知道它們之間的區別。你可以閱覽或聆聽這些領域的專家們的演講,例如這位有影響力的資料科學家 Brandon Rohrer 的精彩視訊。或者這個講述了資料科學相關的各種角色之間的區別的視訊。
- 明確你自己的學習目標,並選擇合適的 Coursera 課程,或者參加高校的網路公開課,例如華盛頓大學的課程就很不錯。
- 關注優秀的部落格:例如 KDnuggets 的部落格、Mark Meloon 的部落格、Brandon Rohrer 的部落格、Open AI 的研究部落格,這些都值得推薦。
- 如果你熱衷於線上課程,後文中會有如何正確選擇 MOOC 課程的指導。
- 最重要的是,培養自己對這些技術的興趣。加入一些優秀的社交論壇,不要被那些聳人聽聞的頭條和新聞所吸引,專注於閱讀和了解,將這些技術的背景知識和發展方向理解透徹,並積極思考在日常生活和工作中如何應用機器學習或資料科學的原理。例如建立一個簡單的迴歸模型來預測下一次午餐的成本,又或者是從電力公司的網站上下載歷史電費資料,在 Excel 中進行簡單的時序分析以發現某種規律。在你對這些技術產生了濃厚興趣之後,可以觀看以下這個視訊。
Python 是機器學習和人工智慧方面的最佳語言嗎?
除非你是一名專業的研究一些複雜演算法純理論證明的研究人員,否則,對於一個機器學習的入門者來說,需要熟悉至少一種高階程式語言。因為大多數情況下都是需要考慮如何將現有的機器學習演算法應用於解決實際問題,而這需要有一定的程式設計能力作為基礎。
哪一種語言是資料科學的最佳語言?這個討論一直沒有停息過。對於這方面,你可以提起精神來看一下 FreeCodeCamp 上這一篇關於資料科學語言的文章,又或者是 KDnuggets 關於 Python 和 R 之爭的深入探討。
目前人們普遍認為 Python 在開發、部署、維護各方面的效率都是比較高的。與 Java、C 和 C++ 這些較為傳統的語言相比,Python 的語法更為簡單和高階。而且 Python 擁有活躍的社群群體、廣泛的開源文化、數百個專用於機器學習的優質程式碼庫,以及來自業界巨頭(包括 Google、Dropbox、Airbnb 等)的強大技術支援。
基礎 Python 庫
如果你打算使用 Python 實施機器學習,你必須掌握一些 Python 包和庫的使用方法。
NumPy
NumPy 的完整名稱是 Numerical Python,它是 Python 生態裡高效能科學計算和資料分析都需要用到的基礎包,幾乎所有高階工具(例如 Pandas 和 scikit-learn)都依賴於它。TensorFlow 使用了 NumPy 陣列作為基礎構建塊以支援 Tensor 物件和深度學習的圖形流。很多 NumPy 操作的速度都非常快,因為它們都是通過 C 實現的。高效能對於資料科學和現代機器學習來說是一個非常寶貴的優勢。
Pandas
Pandas 是 Python 生態中用於進行通用資料分析的最受歡迎的庫。Pandas 基於 NumPy 陣列構建,在保證了可觀的執行速度的同時,還提供了許多資料工程方面的功能,包括:
- 對多種不同資料格式的讀寫操作
- 選擇資料子集
- 跨行列計算
- 查詢並補充缺失的資料
- 將操作應用於資料中的獨立分組
- 按照多種格式轉換資料
- 組合多個資料集
- 高階時間序列功能
- 通過 Matplotlib 和 Seaborn 進行視覺化
Matplotlib 和 Seaborn
資料視覺化和資料分析是資料科學家的必備技能,畢竟僅憑一堆枯燥的資料是無法有效地將背後蘊含的資訊向受眾傳達的。這兩項技能對於機器學習來說同樣重要,因為首先要對資料集進行一個探索性分析,才能更準確地選擇合適的機器學習演算法。
Matplotlib 是應用最廣泛的 2D Python 視覺化庫。它包含海量的命令和介面,可以讓你根據資料生成高質量的圖表。要學習使用 Matplotlib,可以參考這篇詳盡的文章。
Seaborn 也是一個強大的用於統計和繪圖的視覺化庫。它在 Matplotlib 的基礎上提供樣式靈活的 API、用於統計和繪圖的常見高階函式,還可以和 Pandas 提供的功能相結合。要學習使用 Seaborn,可以參考這篇優秀的教程。
Scikit-learn
Scikit-learn 是機器學習方面通用的重要 Python 包。它實現了多種分類、迴歸和聚類演算法,包括支援向量機、隨機森林、梯度增強、k-means 演算法和 DBSCAN 演算法,可以與 Python 的數值庫 NumPy 和科學計算庫 SciPy 結合使用。它通過相容的介面提供了有監督和無監督的學習演算法。Scikit-learn 的強壯性讓它可以穩定執行在生產環境中,同時它在易用性、程式碼質量、團隊協作、文件和效能等各個方面都有良好的表現。可以參考這篇基於 Scikit-learn 的機器學習入門,或者這篇基於 Scikit-learn 的簡單機器學習用例演示。
本文使用 CC BY-SA 4.0 許可,在 Heartbeat 上首發。
via: https://opensource.com/article/18/10/machine-learning-python-essential-hacks-and-tricks
作者:Tirthajyoti Sarkar 選題:lujun9972 譯者:HankChow 校對:wxy
相關文章
- 機器學習之必備知識篇機器學習
- 10個必備的機器學習開源工具機器學習開源工具
- 初學機器學習必備10大演算法機器學習演算法
- 「資料科學家」必備的10種機器學習演算法資料科學機器學習演算法
- 【機器學習】資料準備--python爬蟲機器學習Python爬蟲
- 學習Python必須具備的五大技能!Python
- [python學習]機器學習 -- 感知機Python機器學習
- 如何高效的學習python?python學習技巧Python
- 掌握資料科學和機器學習數學基礎必備的7本書資料科學機器學習
- 機器學習基礎知識梳理,新手必備!(附連結)機器學習
- 免費!資料科學及機器學習必備書單下載!資料科學機器學習
- 【機器學習】--Python機器學習庫之Numpy機器學習Python
- 「開眼Eyepetizer」SimpleEyes 學習Kotlin必備良器Kotlin
- Python新手必備學習的4大階段,建議收藏Python
- 學習Python最正確的步驟(0基礎必備)Python
- 機器學習入門準備機器學習
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- Python如何快速學習?Python學習方法技巧!Python
- 確定不收藏?機器學習必備的分類損失函式速查手冊機器學習函式
- 演算法金 | 10 大必知的自動化機器學習庫(Python)演算法機器學習Python
- 成功使用機器學習技術的3個技巧機器學習
- 10道機器學習、深度學習必會面試題機器學習深度學習面試題
- 如何準備機器學習工程師的面試?機器學習工程師面試
- Pycharm常用的小技巧彙總,Python新手上路必備,快上車!PyCharmPython
- 五個常用的機器學習python庫!機器學習Python
- 【譯】22個必備的CSS小技巧CSS
- 使用Python開始機器學習Python機器學習
- python機器學習實戰(二)Python機器學習
- 零基礎入門學習Python爬蟲必備的知識點!Python爬蟲
- [Python]-機器學習Python入門《Python機器學習手冊》-01-向量、矩陣和陣列Python機器學習矩陣陣列
- JavaScript開發技巧必備【一】JavaScript
- 必知必會的8個Python列表技巧Python
- 深度學習、機器學習、python、C++視訊深度學習機器學習PythonC++
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 沒有Python基礎,如何學習用Python寫機器學習Python機器學習
- Python機器學習會應用到哪些庫?Python入門學習Python機器學習
- Java學習必備書籍推薦Java
- 學習flutter必備之原理理解Flutter