Py之scikit-learn:机器学习Sklearn库的简介、安装、使用方法(ML算法如何选择)、代码实现之详细攻略
Py之scikit-learn:機器學習Sklearn庫的簡介、安裝、使用方法、代碼實現之詳細攻略
目錄
scikit-learn的簡介
scikit-learn的安裝
scikit-learn的使用方法
scikit-learn的簡介
? ? ?Scikit-learn項目最早由數據科學家 David Cournapeau 在 2007 年發起,需要NumPy和SciPy等其他包的支持,是Python語言中專門針對機器學習應用而發展起來的一款開源框架。
? ? ? Scikit-learn依托于Numpy、Scipy等幾種工具包,封裝大量經典以及最新的機器學習模型。該接口最早由David Cournapeau在2007年Google夏季代碼節中提出并啟動。后來作為Matthieu Brucher博士工作的一部分得以延續和完善。現在已經是相對成熟的機器學習開源項目。近十年來,有超過20位計算機專家參與其代碼的更新和維護工作。作為一款用于機器學習和實踐的Python第只方開源程序庫,Scikit-learn因其出色的接口設計和高效的學習能力,尤其受ML愛好者的歡迎。
? ? ?和其他眾多的開源項目一樣,Scikit-learn目前主要由社區成員自發進行維護。可能是由于維護成本的限制,Scikit-learn相比其他項目要顯得更為保守。這主要體現在兩個方面:一是Scikit-learn從來不做除機器學習領域之外的其他擴展,二是Scikit-learn從來不采用未經廣泛驗證的算法。
Scikit-learn的基本功能主要被分為六大部分:
分類,回歸,聚類,數據降維,模型選擇和數據預處理。 ?
- 1、分類:是指識別給定對象的所屬類別,屬于監督學習的范疇,最常見的應用場景包括垃圾郵件檢測和圖像識別等。目前Scikit-learn已經實現的算法包括:支持向量機(SVM),最近鄰,邏輯回歸,隨機森林,決策樹以及多層感知器(MLP)神經網絡等等。 ?需要指出的是,由于Scikit-learn本身不支持深度學習,也不支持GPU加速,因此這里對于MLP的實現并不適合于處理大規模問題。有相關需求的讀者可以查看同樣對Python有良好支持的Keras和Theano等框架。 ?
- 2、回歸:是指預測與給定對象相關聯的連續值屬性,最常見的應用場景包括預測藥物反應和預測股票價格等。目前Scikit-learn已經實現的算法包括:支持向量回歸(SVR),脊回歸,Lasso回歸,彈性網絡(Elastic Net),最小角回歸(LARS ),貝葉斯回歸,以及各種不同的魯棒回歸算法等。可以看到,這里實現的回歸算法幾乎涵蓋了所有開發者的需求范圍,而且更重要的是,Scikit-learn還針對每種算法都提供了簡單明了的用例參考。 ?
- 3、聚類:是指自動識別具有相似屬性的給定對象,并將其分組為集合,屬于無監督學習的范疇,最常見的應用場景包括顧客細分和試驗結果分組。目前Scikit-learn已經實現的算法包括:K-均值聚類,譜聚類,均值偏移,分層聚類,DBSCAN聚類等。 ?
- 4、數據降維:是指使用主成分分析(PCA)、非負矩陣分解(NMF)或特征選擇等降維技術來減少要考慮的隨機變量的個數,其主要應用場景包括可視化處理和效率提升。 ?
- 5、模型選擇
- 是指對于給定參數和模型的比較、驗證和選擇,其主要目的是通過參數調整來提升精度。目前Scikit-learn實現的模塊包括:格點搜索,交叉驗證和各種針對預測誤差評估的度量函數。 ?
- 6、數據預處理:是指數據的特征提取和歸一化,是機器學習過程中的第一個也是最重要的一個環節。這里歸一化是指將輸入數據轉換為具有零均值和單位權方差的新變量,但因為大多數時候都做不到精確等于零,因此會設置一個可接受的范圍,一般都要求落在0-1之間。而特征提取是指將文本或圖像數據轉換為可用于機器學習的數字變量。 ?需要特別注意的是,這里的特征提取與上文在數據降維中提到的特征選擇非常不同。特征選擇是指通過去除不變、協變或其他統計上不重要的特征量來改進機器學習的一種方法。 ?總結來說,Scikit-learn實現了一整套用于數據降維,模型選擇,特征提取和歸一化的完整算法/模塊,雖然缺少按步驟操作的參考教程,但Scikit-learn針對每個算法和模塊都提供了豐富的參考樣例和詳細的說明文檔。
scikit-learn的安裝
pip install scikit-learn pip install scikit-learn==0.23.1 pip install scikit-learn==0.19.1成功安裝,哈哈!
scikit-learn的使用方法
scikit-learn algorithm cheat-sheet
選擇正確的估計量:解決機器學習問題的最困難的部分通常是為工作找到正確的估計量。不同的估計量更適合于不同類型的數據和不同的問題。下面的流程圖旨在為用戶提供一個關于如何處理問題的粗略指南,這些問題涉及到哪些評估人員要嘗試您的數據。點擊下表中的任何估算器查看其文檔。
地址:Choosing the right estimator — scikit-learn 1.0.1 documentation
相關文章推薦
scikit-learn與機器學習的那些不可告密的七七八八事
scikit-learn與深度學習的那些不可告密的七七八八事
總結
以上是生活随笔為你收集整理的Py之scikit-learn:机器学习Sklearn库的简介、安装、使用方法(ML算法如何选择)、代码实现之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DL框架之Keras:深度学习框架Ker
- 下一篇: Excel:利用Excel内置功能实现对