機器學習(公式推導與程式碼實現)--sklearn機器學習庫

2022-08-03 09:00:20

一.scikit-learn概述

1.sklearn模型

  sklearn全稱是scikit-learn,它是一個基於Python的機器學習類庫,主要建立在NumPy、Pandas、SciPy和Matplotlib等類庫之上,基本上覆蓋了常見了分類、迴歸、聚類、降維、模型選擇和預處理模組。

2.sklearn原始碼

下圖是sklearn在GitHub上的原始碼,程式語言主要包括:91.4%的Python,6.5%的Cython,1.3%的C++和0.8%的Other。如下所示:

二.模型選擇和預處理

1.模型選擇
解析:網格搜尋,交叉驗證
2.預處理
解析:評估指標,資料預處理

三.有監督學習模型

  可以將有監督模型分為生成式模型和判別式模型,常見的生成式模型包括樸素貝葉斯、HMM和隱含狄利克雷分配(LDA),其它的基本都是判別式模型。
1.線性模型
解析:線性迴歸,對數機率迴歸,LASSO迴歸,Ridge迴歸,線性判別分析(LDA)
2.\({k}\)近鄰
3.決策樹
解析:ID3,C4.5,CART
4.神經網路
解析:感知機,神經網路
5.支援向量機
解析:線性可分,近似線性可分,線性不可分
6.整合模型
(1)Boosting
解析:AdaBoost,GBDT,XGBoost,LightGBM,CatBoost
(2)Bagging
解析:隨機森林

四.無監督學習模型

1.聚類
解析:\(k\)均值聚類,層次聚類,譜聚類
2.降維
解析:主成分分析(PCA),奇異值分解(SVD)

五.概率模型

1.最大資訊熵模型
2.貝葉斯概率模型
解析:樸素貝葉斯,貝葉斯網路
3.期望最大化(EM)演演算法
4.概率圖模型
解析:隱馬爾科夫模型(HMM),條件隨機場(CRF)
5.馬爾可夫鏈蒙特卡洛(MCMC)

參考文獻:
[1]scikit-learn:https://scikit-learn.org/stable/
[2]scikit-learn(sklearn)官方檔案中文版:https://sklearn.apachecn.org/#/?id=scikit-learn-sklearn-官方檔案中文版
[3]scikit-learn安裝:https://scikit-learn.org/stable/install.html
[4]scikit-learn使用者指南:https://scikit-learn.org/stable/user_guide.html
[5]scikit-learn API參考:https://scikit-learn.org/stable/modules/classes.html
[6]scikit-learn例子:https://scikit-learn.org/stable/auto_examples/index.html
[7]scikit-learn部落格:https://blog.scikit-learn.org/
[8]scikit-learn教學:https://scikit-learn.org/stable/tutorial/index.html
[9]scikit-learn FAQ:https://scikit-learn.org/stable/faq.html
[10]scikit-learn GitHub:https://github.com/scikit-learn/scikit-learn
[11]scikit-learn不同版本檔案:https://scikit-learn.org/dev/versions.html
[12]scikit-learn wiki:https://github.com/scikit-learn/scikit-learn/wiki
[13]scikit-learn版本更新紀錄檔:https://scikit-learn.org/stable/whats_new/v1.1.html
[14]scikit-learn開發指南:https://scikit-learn.org/dev/developers/index.html
[15]scikit-learn相關類庫:https://scikit-learn.org/stable/related_projects.html
[16]Hugging Face:https://huggingface.co/
[17]《機器學習:公式推導與程式碼實現》