機器學習入門之sklearn介紹
SKlearn簡介
scikit-learn,又寫作sklearn,是一個開源的基於python語言的機器學習工具包。它通過NumPy, SciPy和Matplotlib等python數值計算的庫實現高效的演算法應用,並且涵蓋了幾乎所有主流機器學習演算法。
SKlearn官網:http://scikit-learn.org/stable/index.html
在工程應用中,用python手寫程式碼來從頭實現一個演算法的可能性非常低,這樣不僅耗時耗力,還不一定能夠寫出構架清晰,穩定性強的模型。更多情況下,是分析採集到的資料,根據資料特徵選擇適合的演算法,在工具包中呼叫演算法,調整演算法的引數,獲取需要的資訊,從而實現演算法效率和效果之間的平衡。而sklearn,正是這樣一個可以幫助我們高效實現演算法應用的工具包。
sklearn有一個完整而豐富的官網,裡面講解了基於sklearn對所有演算法的實現和簡單應用。
常用模組
sklearn中常用的模組有分類、迴歸、聚類、降維、模型選擇、預處理。
分類:識別某個物件屬於哪個類別,常用的演算法有:SVM(支援向量機)、nearest neighbors(最近鄰)、random forest(隨機森林),常見的應用有:垃圾郵件識別、影像識別。
迴歸:預測與物件相關聯的連續值屬性,常見的演算法有:SVR(支援向量機)、 ridge regression(嶺迴歸)、Lasso,常見的應用有:藥物反應,預測股價。
聚類:將相似物件自動分組,常用的演算法有:k-Means、 spectral clustering、mean-shift,常見的應用有:客戶細分,分組實驗結果。
降維:減少要考慮的隨機變數的數量,常見的演算法有:PCA(主成分分析)、feature selection(特徵選擇)、non-negative matrix factorization(非負矩陣分解),常見的應用有:視覺化,提高效率。
模型選擇:比較,驗證,選擇引數和模型,常用的模組有:grid search(網格搜尋)、cross validation(交叉驗證)、 metrics(度量)。它的目標是通過引數調整提高精度。
預處理:特徵提取和歸一化,常用的模組有:preprocessing,feature extraction,常見的應用有:把輸入資料(如文字)轉換為機器學習演算法可用的資料。
安裝SKlearn
安裝最新版本
Scikit-learn需要:
•Python(> = 2.7或> = 3.4),
•NumPy(> = 1.8.2),
•SciPy(> = 0.13.3)。
【注意】Scikit-learn 0.20是支援Python 2.7和Python 3.4的最後一個版本。Scikit-learn 0.21將需要Python 3.5或更高版本。
如果你已經安裝了numpy和scipy,那麼安裝scikit-learn的最簡單方法就是使用 pip或者canda
pip install -U scikit-learn
conda install scikit-learn
如果你尚未安裝NumPy或SciPy,你也可以使用conda或pip安裝它們。使用pip時,請確保使用binary wheels,並且不會從源頭重新編譯NumPy和SciPy,這可能在使用特定配置的作業系統和硬體(例如Raspberry Pi上的Linux)時發生。從原始碼構建numpy和scipy可能很複雜(特別是在Windows上),需要仔細配置以確保它們與線性代數例程的優化實現相關聯。為了方便,我們可以使用如下所述的第三方發行版本。
發行版本
如果你還沒有numpy和scipy的python安裝,我們建議你通過包管理器或通過python bundle安裝。它們帶有numpy,scipy,scikit-learn,matplotlib以及許多其他有用的科學和資料處理庫。
可用選項包括:Canopy和Anaconda適用於所有支援的平臺
除了用於Windows,Mac OSX和Linux的大量科學python庫之外,Canopy和Anaconda都提供了最新版本的scikit-learn。
Anaconda提供scikit-learn作為其免費發行的一部分。
【注意】PIP和conda命令不要混用!!!
要升級或解除安裝scikit-learn安裝了python或者conda你不應該使用PIP命令。
升級scikit-learn:conda update scikit-learn
解除安裝scikit-learn:conda remove scikit-learn
使用pip install -U scikit-learn安裝或者使用pip uninstall scikit-learn解除安裝可能都沒有辦法更改有conda命令安裝的sklearn。
演算法選擇
sklearn 實現了很多演算法,面對這麼多的演算法,如何去選擇呢?其實選擇的主要考慮的就是需要解決的問題以及資料量的大小。sklearn官方提供了一個選擇演算法的引導圖。
https://scikit-learn.org/stable/tutorial/machinelearningmap/index.html
這裡提供翻譯好的中文版本,供大家參考:
更多內容可移步:https://www.cda.cn/?seo-CSDN
相關文章
- Scikit-learn 機器學習庫介紹!【Python入門】機器學習Python
- 整合學習入門介紹
- 機器學習之小白入門機器學習
- (一) 機器學習和機器學習介紹機器學習
- webpack 學習筆記:入門介紹Web筆記
- ZipKin原理學習--ZipKin入門介紹
- 機器學習之支援向量機原理和sklearn實踐機器學習
- 機器學習之簡單介紹啟用函式機器學習函式
- 機器學習之使用sklearn構造決策樹模型機器學習模型
- 機器學習之決策樹原理和sklearn實踐機器學習
- 機器學習基本函式介紹機器學習函式
- 最通俗的機器學習介紹機器學習
- Zookeeper入門學習--01介紹及安裝
- [大資料][機器學習]之Model Card(模型卡片)介紹大資料機器學習模型
- Python機器學習筆記:sklearn庫的學習Python機器學習筆記
- 機器學習之決策樹在sklearn中的實現機器學習
- 機器學習01-入門機器學習
- 機器學習入門規劃機器學習
- 機器學習PAI快速入門機器學習AI
- 機器學習入門準備機器學習
- 機器學習和深度學習概念入門機器學習深度學習
- 機器學習|決策樹-sklearn實現機器學習
- 機器學習Sklearn系列:(三)決策樹機器學習
- 機器學習1-sklearn&字典特徵抽取機器學習特徵
- 【機器學習】線性迴歸原理介紹機器學習
- 【機器學習】機器學習簡介機器學習
- 聊聊經典機器學習入門機器學習
- 基於Sklearn機器學習程式碼實戰機器學習
- 機器學習實戰 | SKLearn最全應用指南機器學習
- 【機器學習】線性迴歸sklearn實現機器學習
- 趣解計算機網路(一)之入門概念介紹計算機網路
- 【機器學習】多項式迴歸原理介紹機器學習
- 【乾貨】機器學習和深度學習概念入門機器學習深度學習
- Vue入門到關門之Vue介紹與使用Vue
- Mybatis 入門介紹MyBatis
- Rocketmq 入門介紹MQ
- libevent入門介紹
- Django 入門介紹Django