zoukankan      html  css  js  c++  java
  • sklearn正规方程和梯度下降 岭回归

    一。sklearnAPI 正规方程和梯度下降

     1 from sklearn.datasets import load_boston
     2 from sklearn.model_selection import train_test_split
     3 from sklearn.preprocessing import StandardScaler
     4 from sklearn.linear_model import LinearRegression,SGDRegressor #正规方程,梯度下降
     5 from sklearn.metrics import mean_squared_error #均方误差
     6 def linear1():
     7     """
     8     正规方程对波士顿房价进行预测
     9     :return:
    10     """
    11     #1.导入数据
    12     boston=load_boston()
    13     #print(boston)
    14     #2.划分数据集
    15     x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22)
    16     #3.特征工程:标准化
    17     transfer=StandardScaler()
    18     x_train=transfer.fit_transform(x_train)
    19     x_test=transfer.transform(x_test)
    20     #4.预估器
    21     estimator=LinearRegression()
    22     estimator.fit(x_train,y_train)
    23     #5.得出模型
    24     print("正规方程权重系数:
    ",estimator.coef_)
    25     print("正规方程偏置:
    ",estimator.intercept_)
    26     #6.模型评估
    27     y_predict=estimator.predict(x_test)
    28     error = mean_squared_error(y_test,y_predict)
    29     print("正规方程均方误差:
    :",error)
    30 
    31 def linear2():
    32     """
    33     梯度下降对波士顿房价进行预测
    34     :return:
    35     """
    36     #1.导入数据
    37     boston=load_boston()
    38     #print(boston)
    39     #2.划分数据集
    40     x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22)
    41     #3.特征工程:标准化
    42     transfer=StandardScaler()
    43     x_train=transfer.fit_transform(x_train)
    44     x_test=transfer.transform(x_test)
    45     #4.预估器
    46     estimator=SGDRegressor(learning_rate="constant",eta0=0.001,max_iter=10000)
    47     estimator.fit(x_train,y_train)
    48     #5.得出模型
    49     print("梯度下降权重系数:
    ",estimator.coef_)
    50     print("梯度下降偏置:
    ",estimator.intercept_)
    51     #6.模型评估
    52     y_predict=estimator.predict(x_test)
    53     error = mean_squared_error(y_test,y_predict)
    54     print("梯度下降均方误差:
    :",error)
    55 if __name__ == "__main__":
    56     linear1()
    57     linear2()

    二。 岭回归-带L2正则化的线性回归 

    在建立回归方程时加上正则化,解决过拟合问题。

    from sklearn.linear_model import LinearRegression,SGDRegressor,Ridge #正规方程,梯度下降、
     1 def linear3():
     2     """
     3     岭回归对波士顿房价进行预测
     4     :return:
     5     """
     6     #1.导入数据
     7     boston=load_boston()
     8     #print(boston)
     9     #2.划分数据集
    10     x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22)
    11     #3.特征工程:标准化
    12     transfer=StandardScaler()
    13     x_train=transfer.fit_transform(x_train)
    14     x_test=transfer.transform(x_test)
    15     #4.预估器
    16     estimator=Ridge()
    17     estimator.fit(x_train,y_train)
    18     #5.得出模型
    19     print("岭回归权重系数:
    ",estimator.coef_)
    20     print("岭回归偏置:
    ",estimator.intercept_)
    21     #6.模型评估
    22     y_predict=estimator.predict(x_test)
    23     error = mean_squared_error(y_test,y_predict)
    24     print("岭回归均方误差:
    :",error)
  • 相关阅读:
    @ExceptionHandler
    使用Vue.extend实现iview Upload在单文件上传时,拖拽多个文件给出错误提示
    spring 常用的注入方式
    SpringMVC框架
    Redis
    事务的隔离性以及隔离级别
    Qt的获取和安装
    C++ 指针delete 及 指针delete后赋值为NULL
    图形流水线
    freeglut的安装步骤
  • 原文地址:https://www.cnblogs.com/sclu/p/11766610.html
Copyright © 2011-2022 走看看