下图是sklearn在GitHub上的源代码,编程语言主要包括:91.4%的Python,6.5%的Cython,1.3%的C++和0.8%的Other。如下所示:
二.模型选择和预处理
1.模型选择
解析:网格搜索,交叉验证
2.预处理
解析:评估指标,数据预处理
三.有监督学习模型
可以将有监督模型分为生成式模型和判别式模型,常见的生成式模型包括朴素贝叶斯、HMM和隐含狄利克雷分配(LDA),其它的基本都是判别式模型。
1.线性模型
解析:线性回归,对数几率回归,LASSO回归,Ridge回归,线性判别分析(LDA)
2.�近邻
3.决策树
解析:ID3,C4.5,CART
4.神经网络
解析:感知机,神经网络
5.支持向量机
解析:线性可分,近似线性可分,线性不可分
6.集成模型
(1)Boosting
解析:AdaBoost,GBDT,XGBoost,LightGBM,CatBoost
(2)Bagging
解析:随机森林
四.无监督学习模型
1.聚类
解析:�均值聚类,层次聚类,谱聚类
2.降维
解析:主成分分析(PCA),奇异值分解(SVD)
五.概率模型
1.最大信息熵模型
2.贝叶斯概率模型
解析:朴素贝叶斯,贝叶斯网络
3.期望最大化(EM)算法
4.概率图模型
解析:隐马尔科夫模型(HMM),条件随机场(CRF)
5.马尔可夫链蒙特卡洛(MCMC)