机器学习(公式推导与代码实现)--sklearn机器学习库
一.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]《机器学习:公式推导与代码实现》