一.linear_model.LinearRegression
fit_intercept
- 布尔值,可不填,默认为True,是否计算此模型的截距
normalize
- 布尔值,可不填,默认为False,当fit_intercept设置为False时,将忽略此参数
- 如果为True,则特征矩阵X在进入回归之前将会被减去均值(中心化)并除以L2范式(缩放)
- 如果你希望进行标准化,请在fit数据之前使用preprocessing模块中的标准化专用类StandardScaler
copy_X
- 布尔值,可不填,默认为True
- 如果为真,将在X.copy()上进行操作,否则原本的特征矩阵X可能被线性回归影响并覆盖
n_jobs
- 整数或None,可不填,默认为None
- 用于计算的作业数。只在多标签的回归和数据量足够大的时候才生效。除非None在joblib.parallel_backend上下文中,否则None统一表示为1,如果输入-1,则表示使用全部的CPU来进行计算
- sklearn中的线性回归可以处理多标签问题,只需要在fit的时候输入多维度标签就可以了
二.模型评估
1.回归算法指标
回归算法的核心思想是评估预测值和观察值之间的误差,从最原始的残差到基于残差的各种变形,以便后续的数学运算和处理
我们有两种角度看待回归的效果:是否预测到了正确的数值,是否拟合到了足够的信息
- MAE:平均绝对误差,对残差做绝对值处理,避免残差正负导致的相互抵消
- MSE:均方误差,越小越好,为了便于求导,对平均绝对误差进行平方
- RMSE:均方根误差,如果目标变量的量纲保持一致,可以对均方误差进行开放
- Coefficient of determination:决定系数,进一步去除对量纲的依赖
- R Squared:越大拟合效果越好
2.分类算法指标
分类算法更多的是关注分类的精度,即预测正确的样本数量占总预测样本的比例,然后,预计不同的场景,从不同角度来看精度对结果的影响
- Accuracy:精度,每一个分类中预测正确的样本数占总样本的比例
- Confusion Matrix:混淆矩阵
- Precision:准确率,衡量了所有模型预测为正的样本中真实为正例的概率
- Recall:召回率,衡量了在所有正例中模型正确预测的概率
- AUC:Area Under Curve,ROC曲线与坐标轴围成的面积,面积越大表示模型性能越好