欠拟合和过拟合

过拟合

        定义:具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。
具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型过于复杂。

过拟合的原因

  1. 训练数据中噪音干扰过大,使得学习器认为部分噪音是特征从而扰乱学习规则。
  2. 建模样本选取有误,例如训练数据太少,抽样方法错误,样本label错误等,导致样本不能代表整体。
  3. 模型不合理,或假设成立的条件与实际不符。
  4. 特征维度/参数太多,导致模型复杂度太高。

解决办法

正则化

欠拟合

        定义:欠拟合是指对训练样本的一般性质尚未学好。在训练集及测试集上的表现都不好。

 

 欠拟合的原因

1 模型复杂度过低
2 特征量过少

解决办法

增加数据的特征数量

4.3.1 带有L2正则化的线性回归——岭回归

岭回归也是一种线性回归,不过在算法建立回归方程的时候,加上正则化的限制,从而达到解决过拟合的效果

1 API 

sklearn.linear_model.Ridge(alpha=1.0, fit_intercept = True, solve="auto",normalize=False)

  • 具有L2正则化的线性回归
  • alpha 正则化力度,也叫入  取值0~1  1~10
  • solver 会根据数值自动选择优化方法,sag如果数据集特征值都比较大,选择该随机梯度下降优化
  • normalize  数据是否进行标准化  normalize=False,可以在fit之前调用preprocseeing.StandardScalse标准化数据
  • Ridge.coef_ 回归权重
  • Ridge.intercept_ 回归偏置

Ridge方法相当于SGDRegressor(penalty='l2',loss="squared_loss")只不过SGDRegressor实现了一个普通的随机梯度下降学习,推荐使用Ridge(实现了SAG)

sklearn.linear_model.RidgeCV(_BaseRidgeCV,RegressorMixin) 具有l2正则化的线性回归,可以进行交叉验证  coef_:回归系数

def linea3():
    """
    岭回归对波士顿房价进行预测
    :return:
    """
    # 1)获取数据
    boston = load_boston()
    print("特征数量:\n", boston.data.shape)

    # 2)划分数据集
    x_train, x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=22)

    # 3)标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.transform(x_test)

    # 4)预估器
    estimator = Ridge()
    estimator.fit(x_train, y_train)

    # 5)得出模型
    print("岭回归的权重系数:\n", estimator.coef_)
    print("岭回归的偏置为:\n", estimator.intercept_)

    # 6)模型评估
    y_predict = estimator.predict(x_test)
    print("预测房价:\n", y_predict)
    error = mean_squared_error(y_test, y_predict)
    print("岭回归-均方误差为:\n", error)

    return None

if __name__ == "__main__":
    # 代码1:正规方程的优化方法对波士顿房价进行预测
    linea1()
    # 代码2:梯度下降的优化方法对波士顿房价进行预测
    linea2()
    # 代码3:岭回归对波士顿房价进行预测
    linea3()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值