Python + Scikit-learn 完美入門機器學習指南 ​

2021-03-02 藍橋雲課精選
AI 是目前最火的技術領域之一,而且大部分項目都使用 Python 構建,如果你正好是一名 Python 程式設計師,不妨趁此機會學習一下~

學 Python 的理由有很多:簡單、方便、適合寫爬蟲、處理數據等等,但相信還有不少人是衝著 Python 在人工智慧領域的「扛把子」地位而來的。

在人工智慧領域,大部分的項目都是使用 Python 或構建在 Python 基礎上的框架搭建的,這對 Python 程式設計師來說是一個福音。但我們都知道,機器學習常用的算法有很多,例如:線性回歸、支持向量機、k 近鄰、決策樹、樸素貝葉斯、邏輯回歸等。其中的一些算法都有著比較複雜的數學過程,如果每一次都需要自己通過代碼實現這些算法,那麼機器學的門檻就變得很高了。

這時,scikit-learn 來了。

Scikit-learn 是一個非常流行的機器學習工具,它幾乎集成了所有經典的機器學習算法,你只需要幾行代碼,通過簡單的方法類調用,就可以實現原本複雜的機器學習模型。如果你是一名 Python 程式設計師,又正好想學習一下人工智慧技術,scikit-learn 可能是你最好的選擇之一。

實驗樓上線了一門新課 —《scikit-learn 機器學習入門實戰》,可以帶大家快速掌握 scikit-learn 框架使用方法、機器學習基礎概念、常用算法等知識點,並通過模型的搭建和選擇,進一步提升你的實踐能力。https://www.shiyanlou.com/courses/1572下面是課程的第一節內容,機器學習和 scikit-learn 的基本介紹。
機器學習和 scikit-learn 介紹機器學習(英語:Machine learning)可以被視為人工智慧的一個子領域。得益於優秀的機器學習框架和工具,初學者也可以很快上手一個機器學習項目,並使用機器學習算法來挖掘自己的數據。在本實驗,我們首先簡單介紹機器學習中幾個基本的概念和用 Python 編寫的十分流行的開源機器學習工具  scikit-learn。知識點

監督學習概念

無監督學習概念

機器學習算法

scikit-learn 工具

監督學習介紹機器學習中,我們通常會接觸到:監督學習、無監督學習、半監督學習,強化學習等不同的應用類型。其中,監督學習(英語:Supervised learning)是最為常見,且應用最為廣泛的分支之一。監督學習的目標是從已知訓練數據中學習一個預測模型,使得這個模型對於其他輸入數據產生一個預測輸出。其中,監督學習的「監督」是相對與「無監督」的一種表達,二者的區別在於,監督學習的訓練數據經過了人工進行標註,而無監督學習則沒有這個過程。如同上面的兩個簡單的數據集。左邊的數據集明顯沒有經過標註。而右邊數據集則進行了顏色標註,也就是人為給數據樣本打上了橙色、綠色和藍色的標籤。監督學習的類型監督學習中,所面對的問題大致分為兩類:分類和回歸。其中,分類問題可以簡單概括為:已有了一些數據樣本及明確的樣本分類。現在從這些樣本的特徵中總結規律,再用於判斷新輸入樣本到底屬於哪一類別。例如下圖展示了一個分類過程,使用監督學習算法對水果進行類別區分。分類的例子在生活中處處可見。比如這裡正在講,監督學習可以分為分類和回歸一樣。而面對一個新問題,判斷它是屬於分類還是回歸,就需要根據這個問題具備的特徵來判斷。其中,回歸問題與分類問題的最大區別(特徵)在於,輸出變量的類型不同。詳細來說:舉個例子,當我們預測一個人的性別時,就是一個典型的分類問題。而預測一個人的年齡時,則應看作是回歸問題。無監督學習介紹什麼是無監督學習?籠統來講,它和監督學習是一個相對的概念。在監督學習的過程中,我們需要對訓練數據打上標籤,這是必不可少的一步。而無監督學習面對的數據是沒有標籤的。舉個例子,比如我們現在有一堆動物的照片。在監督學習中,我們需要提前對每張照片代表的動物進行標記。這一張是狗,那一張是貓,然後再進行訓練。最後,模型對於新輸入的照片,就能分清楚動物的類別。當進行無監督學習時,照片並未進行標註。我們需要將所有的訓練樣本照片「餵」給算法即可。注意,這個時候和監督學習有一些不同,無監督學習只能識別出訓練樣本裡包含了幾種類別的動物,而並不能直接告訴你這只是貓,那一隻是狗。但是,這裡的類別數量一般都不會太大,你可以手動對類別進行標記,再將數據用於其他用途。上面這個例子中,無監督學習識別出樣本包含幾種類別,就是我們通常所說的「聚類」。如下圖所示,演示了一個無監督的聚類過程。當然,上面所說的聚類只是無監督學習主要面對的問題,實際上無監督學習還包括降維等更多的應用方面。機器學習中,當我們使用到的數據沒有特定標籤時,基本都可以被歸為無監督學習問題。scikit-learn 介紹機器學習常用的算法有很多,例如:線性回歸、支持向量機、k 近鄰、決策樹、樸素貝葉斯、邏輯回歸等。其中的一些算法都有著比較複雜的數學過程,如果每一次都需要自己通過代碼實現這些算法,那麼機器學的門檻就變得很高了。 scikit-learn 是一個十分流行的開源機器學習工具,它基於 Python 的 NumPy 和 SciPy 庫構建,將眾多的機器學習算法封裝起來,往往只需要幾行代碼,通過簡單的方法類調用,就可以實現原本複雜的機器學習模型,在學術界和工業界廣泛使用。scikit-learn 中的數據在 scikit-learn 中實現的大多數機器學習算法都將數據存儲在二維數組或矩陣中。數組可以是 numpy 數組,在某些情況下是 scipy.sparse 矩陣。篇幅有限,後續的課程內容,請在實驗樓邊敲代碼邊學習~

相關焦點

  • 極簡Scikit-Learn入門
    今天繼續偷個懶,寫個短小精悍的入門級文章。Scikit-Learn高清全景圖傳送:http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html在機器學習和數據挖掘的應用中
  • python機器學習之使用scikit-learn庫
    引言數據分析由一連串的步驟組成,對於其中預測模型的創建和驗證這一步,我們使用scikit-learn這個功能強大的庫來完成。scikit-learning庫python庫scikit-learn整合了多種機器學習算法。
  • 【下載】Scikit-learn作者新書《Python機器學習導論》, 教程+代碼手把手帶你實踐機器學習算法
    Müller同時也是著名機器學習Python包scikit-learn的主要貢獻者 Andreas Muller 和 Reonomy 公司數據科學家 Sarah Guido 的新書《Python機器學習導論》(Introduction to machine learning with Python)從實戰角度出髮帶你用Python快速上手機器學習方法。
  • 直答理工:機器學習——scikit-learn入門
    接下來將從具體介紹機器學習的基本概念及其在scikit-learn中實際操作。訓練組和測試組機器學習運用已有數據組的一些性質去預測新的數據。這就是為什麼一般機器學習中要將數據裂分為兩組,即訓練組和測試組,前者用於學習,後者則用於測試預測性質的準確性。
  • scikit-learn機器學習簡介
    在本節中,我們將介紹在scikit-learn中所使用的機器學習的基礎知識點,並且給出一個簡單的代碼示例。
  • 一遍就懂的Scikit-Learn機器學習分類過程
    本文介紹了常見的機器學習問題。我的主要目的不是再次解決同樣的問題,而是使用Python的Scikit-Learn庫闡述教育目的的機器學習分類過程。在深入研究要解決的問題之前,我們首先理解可能涉及到的重要術語。
  • 資料| 連廣場大媽都聽得懂的「機器學習入門」scikit-learn -17頁...
    from=leiphonecolumn_res0604pmScikit-learn 是基於 Python 的開源機器學習庫,它基於 NumPy 和 SciPy 等科學計算庫,並支持支持向量機、隨即森林、梯度提升樹、K 均值聚類等學習算法。Scikit-learn 目前主要由社區成員自發進行維護,且專注於構建機器學習領域內經廣泛驗證的成熟算法。
  • Python粉都應該知道的開源機器學習框架:Scikit-learn入門指南
    和其他眾多的開源項目一樣,Scikit-learn目前主要由社區成員自發進行維護。可能是由於維護成本的限制,Scikit-learn相比其他項目要顯得更為保守。這主要體現在兩個方面:一是Scikit-learn從來不做除機器學習領域之外的其他擴展,二是Scikit-learn從來不採用未經廣泛驗證的算法。
  • 用Python (scikit-learn) 做PCA分析
    Iris數據集是scikit-learn附帶的數據集之一,不需要從外部網站下載任何文件。下面的代碼將加載iris數據集。如果你想看到不縮放數據可能帶來的負面影響,scikit-learn有一節是講關於不標準化數據的影響的(https://scikit-learn.org/stable/auto_examples/preprocessing/plot_scaling_importance.html#sphx-glr-auto-examples-preprocessing-plot-scaling-importance-py
  • Python機器學習系列3:一個通用、強大的Python機器學習函數庫
    如果你對Python機器學習感興趣,正在尋找一個強大的Python機器學習庫,那麼本文將強烈推薦scikit-learn,它可以幫助你把機器學習輕鬆應用到生產環境中。本文將會介紹對scikit-learn庫進行基本介紹,並擴展介紹相關常用機器學習資源。
  • Python 機器學習 Scikit-learn 完全入門指南
    而其中應用最廣,也是機器學習領域最知名的分支版本,就是本文的主角 Scikit-learn。Scikit-learn 是基於 Numpy 與 SciPy 兩大著名工具包,通常與 pandas、Matplotlib 等開源數據處理框架合作,進行數據挖掘任務。
  • Python中的人工智慧入門:在scikit-learn中的建模
    做好準備:在Seaborn中可視化數據  鳶尾花數據集 (The Iris Flower dataset) 是目前仍在使用的最古老的機器學習數據集之一。它由Ronald Fisher在1936年發表,用於說明線性判別分析。問題是根據萼片和花瓣寬度和長度的測量結果對三種鳶尾花中的一種進行分類。
  • 利用 Python,四步掌握機器學習
    4、最後一步,你必需學習機器學習工具,比如 Scikit-Learn,或者在抓取的數據中執行機器學習算法(ML-algorithm)。1.Python入門指南:有一個簡單而快速學習Python的方法,是在 codecademy.com  註冊,然後開始編程,並學習 Python 基礎知識。
  • 機器學習實踐指南
    1、 學習必要的背景知識你可能還記得 DataCamp 網站上的學習數據科學[1]這篇文章裡面的信息圖:數學和統計學是開始機器學習(ML)的關鍵。 基礎可能看起來很容易,因為它只有三個主題。 但不要忘記這些實際上是三個廣泛的話題。在這裡需要記住兩件非常重要的事情:◈ 首先,你一定會需要一些進一步的指導,以了解開始機器學習需要覆蓋哪些知識點。
  • Python機器學習·微教程
    在這個教程裡,你將學會:如何處理數據集,並構建精確的預測模型使用Python完成真實的機器學習項目這是一個非常簡潔且實用的教程,希望你能收藏,以備後面複習!接下來進入正題~這個微課程適合誰學習?如果你不符合以下幾點,也沒關係,只要花點額外時間搞清楚知識盲點就能跟上。所以這個教程既不是python入門,也不是機器學習入門。
  • 2018AI學習清單丨150個最好的機器學習和Python教程
    機器學習的簡易指南 (monkeylearn.com)https://monkeylearn.com/blog/a-gentle-guide-to-machine-learning/ 如何選擇機器學習算法?
  • WePay機器學習反欺詐實踐:Python+scikit-learn+隨機森林
    【編者按】將機器學習算法用於金融領域的一個很好的突破口是反欺詐,在這篇博文中,WePay介紹了支付行業構建機器學習模型應對很難發現的shell selling欺詐的實踐心得。WePay採用了流行的Python、scikit-learn開源學習機器學習工具以及隨機森林算法。以下是文章內容:什麼是shellselling?
  • Scikit-learn估計器分類
    Scikit-learn實現了一系列數據挖掘算法,提供通用編程接口、標準化的測試和調參公局,便於用戶嘗試不同算法對其進行充分測試和查找最優參數值。本次講解數據挖掘通用框架的搭建方法。有了這樣一個框架,後續章節就可以把講解重點放到數據挖掘應用和技術上面。為幫助用戶實現大量分類算法,scikit-learn把相關功能封裝成估計器。估計器用於分類任務,它主要包括兩個函數。
  • 用 Scikit-learn Pipeline 創建機器學習流程
    本文翻譯自:https://medium.com/vickdata/a-simple-guide-to-scikit-learn-pipelines
  • 乾貨| 請收下這份2018學習清單:150個最好的機器學習,NLP和Python...
    >機器學習的簡易指南 (monkeylearn.com)https://monkeylearn.com/blog/a-gentle-guide-to-machine-learning/如何選擇機器學習算法?