嘗試使用 Python 掌握機器學習、人工智能和深度學習。

  

  想要入門機器學習並不難。除了大規模網絡公開課(Massive Open Online Courses)(MOOC)之外,還有很多其它優秀的免費資源。下面我分享一些我覺得比較有用的方法。

  1. 從一些 YouTube 上的好視頻開始,閱覽一些關於這方面的文章或者書籍,例如 《主算法:終極學習機器的探索將如何重塑我們的世界》,而且我覺得你肯定會喜歡這些關於機器學習的很酷的互動頁面。

  2. 對於“機器學習(machine learning)”、“人工智能(artificial intelligence)”、“深度學習(deep learning)”、“數據科學(data science)”、“計算機視覺(computer vision)”和“機器人技術(robotics)”這一堆新名詞,你需要知道它們之間的區別。你可以閱覽或聆聽這些領域的專家們的演講,例如這位有影響力的數據科學家 Brandon Rohrer 的精彩視頻。或者這個講述了數據科學相關的各種角色之間的區別的視頻。

  3. 明確你自己的學習目標,並選擇合適的Coursera 課程,或者參加高校的網絡公開課,例如華盛頓大學的課程就很不錯。

  4. 關注優秀的博客:例如KDnuggets的博客、Mark Meloon的博客、Brandon Rohrer的博客、Open AI的研究博客,這些都值得推薦。

  5. 如果你熱衷於在線課程,後文中會有如何正確選擇 MOOC 課程的指導。

  6. 最重要的是,培養自己對這些技術的興趣。加入一些優秀的社交論壇,不要被那些聳人聽聞的頭條和新聞所吸引,專注於閱讀和了解,將這些技術的背景知識和發展方向理解透徹,並積極思考在日常生活和工作中如何應用機器學習或數據科學的原理。例如建立一個簡單的迴歸模型來預測下一次午餐的成本,又或者是從電力公司的網站上下載歷史電費數據,在 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

  本文由LCTT原創編譯,Linux中國榮譽推出

查看原文 >>
相關文章