zoukankan      html  css  js  c++  java
  • 5.线性回归算法

    1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

    回归算法可以进行房屋价格预测、销售额预测、银行贷款额度的预测

    线性回归算法基于矩阵:

     

    矩阵和数组:

     

    算法与真实值存在误差:

     

    课堂算法部分截图:

     

    2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

    根据现有的天气变化数据,进行未来天气的预测。

    3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

    波士顿房价训练:

    from sklearn.linear_model import LinearRegression
    from sklearn.linear_model.stochastic_gradient import SGDRegressor
    from sklearn.datasets import load_boston
    from sklearn.model_selection import train_test_split
    from sklearn.preprocessing import StandardScaler
    from sklearn.metrics import mean_squared_error
    
    
    def myliner():
        # 获取boston房价数据
        boston = load_boston()
        # 获取特征值目标值数据
        x = boston.data
        y = boston.target
    
        # 分割数据集
        x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)
    
        # 因为牵涉到乘法和平方运算(求损失函数),因此需要对特征进行标准化处理
        sd_x = StandardScaler()
        # 特征值和目标值均要进行标准化,目标值不进行标准化,求得的w权重值就会很大,因为特征值很小
        x_train = sd_x.fit_transform(x_train)
        x_test = sd_x.transform(x_test)
    
        sd_y = StandardScaler()
        y_train = sd_y.fit_transform(y_train.reshape(-1, 1))
        # y_test = sd_y.transform(y_test.reshape(-1, 1))
    
        # 梯度下降
        sgd = SGDRegressor(max_iter=5)
        sgd.fit(x_train, y_train.ravel())
        y_presgd = sgd.predict(x_test)
        print('sgd真实价格:', sd_y.inverse_transform(y_presgd))
        msesgd = mean_squared_error(y_test, sd_y.inverse_transform(y_presgd))
        print('均方误差sgd', msesgd)
    
    
    
    if __name__ == '__main__':
        myliner()

    真实值及其算法误差:

  • 相关阅读:
    Session共享的解决方案
    用IIS配置反向代理
    authorization配置
    git之https或http方式设置记住用户名和密码的方法
    微信分享接口
    为你的Visual Studio单独设置代理服务器
    HTTP错误404.13
    MVC5的AuthorizeAttribute详解
    【MVC5】画面多按钮提交
    PetaPoco dynamic
  • 原文地址:https://www.cnblogs.com/chuichuichui1998/p/12751816.html
Copyright © 2011-2022 走看看