线性模型
-
LinearRegression线性回归
-
Lasso回归:L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。由此发现power与userd_time特征非常重要。
-
Ridge回归:L2正则化在拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型,因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。
非线性模型
- SVM:通过寻求结构化风险最小来提高学习机泛化能力,基本模型定义为特征空间上的间隔最大的线性分类器支持向量机的学习策略便是间隔最大化。
- SVR:用于标签连续值的回归问题
- SVC:用于分类标签的分类问题
- Boosting:一堆弱分类器的组合就可以成为一个强分类器;不断地在错误中学习,迭代来降低犯错概率通过一系列的迭代来优化分类结果,每迭代一次引入一个弱分类器,来克服现在已经存在的弱分类器组合的短板。
- Adaboost:整个训练集上维护一个分布权值向量W,用赋予权重的训练集通过弱分类算法产生分类假设(基学习器)y(x), 然后计算错误率,用得到的错误率去更新分布权值向量w,对错误分类的样本分配更大的权值,正确分类的样本赋予更小的权值,每次更新后用相同的弱分类算法产生新的分类假设,这些分类假设的序列构成多分类器,对这些多分类器用加权的方法进行联合,最后得到决策结果
- Gradient Boosting:迭代的时候选择梯度下降的方向来保证最后的结果最好。损失函数用来描述模型的’靠谱’程度,假设模型没有过拟合,损失函数越大,模型的错误率越高。如果我们的模型能够让损失函数持续的下降,最好的方式就是让损失函数在其梯度方向下降。
- GradientBoostingRegressor()
loss - 选择损失函数,默认值为ls(least squres),即最小二乘法,对函数拟合
learning_rate - 学习率
n_estimators - 弱学习器的数目,默认值100
max_dep