(1)广义线性模块: sklearn.linear_model
(2)支持向量机模块:sklearn.svm
(3)最临近模块:sklearn.neighbors
(4)高斯过程模块:sklearn.gaussian_process
(5)朴素贝叶斯模块:sklearn.naive_bayes
(6)决策树模块:sklearn.tree
(7)集成模块:sklearn.ensemble
(8)多类多标签模块:sklearn.multiclass
(9)特征选择模块:sklearn.feature_selection
(10)半监督学习模块:sklearn.semi_supervised
(11)线性,二次判别模块:sklearn.lda
(1):广义线性模块: sklearn.linear_model
①LinearRegression与Ridge类见前一条博客,在简单的(准)线性关系中,使用这个方法即可很准确的模拟,后续方法在数据较小或关系较简单的情况下可能产生过拟合
②Lasso():估计稀疏系数的线性模型;在回归系数的绝对值只和<一个常熟的越苏条件下,使残差平方和最小化(后续介绍如何通过正则化避免过拟合)
数学公式:
③ElasticNet():使用L1与L2训练的线性模型,适合在参数很少的情况下(如Lasso)并保持Ridge的性能,既是多种影响因素依赖于另一种因素
数学表达式:,代码用法如上
④:MultiTaskLasso:用于估计y不是一元的回归问题 ,如y是一个2维矩阵(n_samples,n_tasks),MultiTaskElasticNet也可以使用,y的形状可以与X不同
⑤Lars():是一个计算高维数据的回归算法,可用于计算y为多维时,后续介绍
⑥LassoLars():是一个使用Lars算法实现的lasso模型
⑦贝叶斯回归【※】BayesianRidge():适用于手边数据,可以在估计过程中包含正则化参数,用于估计概率回归问题,估计线性回归与分类问题非常准确
⑧【※】LogisticRegression()#逻辑回归:仅能用于线性问题,通过计算真实值与预测值的概率,然后转变成损失函数,求损失函数最小值来计算模型参数从而得出模型,后续重点研究对象
⑨【※】SGDRRegressor()&SGDCClassifier()#随机梯度下降:用于样本数据很大的情况,对于SGDCClassifier(),当loss=“log”时,拟合成逻辑回归模型;当loss=“hinge”时,拟合成线性支撑向量机模型(和逻辑回归一样,不适用于较少系数或简单关系,太容易过拟合,且给出每一组参数而非拟合值)
⑩多项式回归:用于非线性函数,后续重点介绍,在Scipy中是scipy.polyfit()与scipy.polyval()
(二)支撑向量机:sklearn.svm(待续)