兩步幫你快速選擇SKlearn機器學習模型

Scikit-learn,簡稱Sklearn,是使用最廣泛的開源Python機器學習庫。它基於NumpyScipy,提供了大量用於數據挖掘和機器學習分析、預測的工具,包括數據預處理、可視化、交叉驗證和多種機器學習算法。其中提供的模型能夠實現分類,迴歸,聚類,數據降維等功能。


Sklearn是解決實際問題的一種工具,但面對機器學習問題時,最難的部分其實並不是缺乏工具,而是如何爲具體項目找到合適的模型。


此處舉2個案例。


  • 案例1:老闆丟給你20萬個客戶的淘寶網店購物記錄,讓你預測其中客戶未來的一年內的生命週期價值LTVLife TimeValue),用Scikit-learn中的哪個模型?

  • 案例2:老闆丟給你1000個客戶的下載、註冊、使用和卸載App的行爲記錄,讓你預測其中一些客戶未來3個月內流失的可能性,用Scikit-learn中的哪個模型?

Sklearn中的機器學習模型這麼多,怎麼知道哪個模型適合處理什麼類型的數據,解決什麼樣的問題呢?


步驟1:找到Sklearn官網提供的“工具選擇流程圖”。只要帶着問題,跟着圖往下走,就能夠找到答案。


此處整理了中文版本,便於大家閱讀。


              

步驟2:跟着圖分解自己的案例。


案例1爲例:

  1. 從上圖的“開始”往下走,進入“大於50個樣本”環節;

  2. 然後判斷爲“Yes”,進入“預測類別”環節;

  3. 這裏是預測價值,明顯不是類別,跟着No進入“預測數值”環節;

  4. 然後進入“小於10萬個樣本”環節,

  5. 我們這裏有20萬個樣本,因此跟着No進入SGD(小批量梯度下降)迴歸”模型——找到合適的模型啦!!


如果你是程序員,有時候會希望用程序化的方法進行模型的選擇,可以參考如下僞代碼:


IF數據量少於50
  
數據樣本太少了,先獲取更多數據吧!!
ELSE
數據量多於過50
  IF
是分類問題
    IF
數據有標籤
        IF
數據量大於10萬,
         
選擇SGD分類器
        ELSE
數據量大於10萬,
         
先嚐試線性SVM分類器,如果不好用,再繼續嘗試其他算法
         IF
特徵爲文本,
           
選擇樸素貝葉斯SVM
         ELSE

           
先嚐試kNN,如果不好用,嘗試SVM加集成方法
    ELSE
數據沒有標籤,
     
選擇各種聚類算法
  ELSE
不是分類問題,
   IF
需要預測數量,就是迴歸問題
      IF
數據量大於10萬,
       
就選擇SGD線性迴歸
      ELSE

       
根據數據集特徵的特點,有Lasso迴歸和Ridge迴歸、集成方法、SVM等幾種選擇。
    ELSE
如果是要把數據可視化,
     
則考慮等幾種降維方法
    ELSE
如果是要輸出數據的結構
     
對不起,Sklearn幫不了你


——上面的內容節選並整理自《零基礎學機器學習》


如果SKlearn中的模型都幫不到你的話,那麼就需要考慮深度學習庫了,這一方法以後的文章會講到。


此外,選取多種算法模型去解決同一個問題,然後將各種算法的效率進行比較,也不失爲一個好的方案。

 

那麼,最後的問題來了,對於案例2,應該選擇哪個Sklearn模型呢?請你試一試,並在文末留言說明你的模型選擇流程,我們會抽一位答對的讀者贈送一本剛出版的熱門機器學習新書《零基礎學機器學習》呦。

 

《零基礎學機器學習》,通過AI“小白”小冰拜師程序員咖哥學習機器學習的對話展開,內容輕鬆,實戰性強,主要包括機器學習快速上手路徑、數學和Python基礎知識、機器學習基礎算法(線性迴歸和邏輯迴歸)、深度神經網絡、卷積神經網絡、循環神經網絡、經典算法、集成學習、無監督和半監督等非監督學習類型、強化學習實戰等內容,以及相關實戰案例。本書所有案例均通過PythonScikit-learn機器學習庫和Keras 深度學習框架實現,同時還包含豐富的數據分析和數據可視化內容。

本書適合對AI 感興趣的程序員、項目經理、在校大學生以及任何想以零基礎學機器學習的人,用以入門機器學習領域,建立從理論到實戰的知識通道。


 
    
    
    
也可以加一下老胡的微信
圍觀朋友圈~~~


推薦閱讀

(點擊標題可跳轉閱讀)

幹掉 LaTeX !用BookDown寫本書
101道Numpy、Pandas練習題
【資源乾貨】香港中文大學《深度學習導論》2021課件
機器學習深度研究:特徵選擇中幾個重要的統計學概念

老鐵,三連支持一下,好嗎?↓↓↓

本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章