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

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

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

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

    解:

    1.

    回归算法的背景:

     监督学习:回归和分类的区别

    重点:最小二乘法之梯度下降法

    重点理解:课堂代码实现梯度下降法:

    import random
    import time
    import matplotlib.pyplot as plt
    
    _xs=[0.1*x for x in range(0,10)]
    _ys=[12*i+4 for i in _xs]
    print(_xs)
    print(_ys)
    
    w=random.random()
    b=random.random()
    
    a1=[]
    b1=[]
    for i in range(100):
        for x,y in zip(_xs,_ys):
            o=w*x+b
            e=(o-y)
            loss=e**2
            dw=2*e*x
            db=2*e*1
            w=w-0.1*dw
            b=b-0.1*db
            print('loss={0},w={1},b={2}'.format(loss,w,b))
        a1.append(i)
        b1.append(loss)
        plt.plot(a1,b1)
        plt.pause(0.1)
    plt.show()

    2.

    房价预测

    销售额预测

    文章点击率预测

    股票行情预测

    天气预测

    信用度预测

    3.

     数据为爬虫爬到的买房网数据

      

    # 应用线性回归算法预测房屋面积与总价
    from sklearn.datasets import load_boston
    from sklearn.linear_model import LinearRegression
    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    data = pd.read_csv('201706120040 柯尚明(已处理).csv')
    del data['Unnamed: 0']
    x=np.array(data.iloc[:,6:7])
    y=np.array(data.iloc[:,1])
    model_LR=LinearRegression()
    model_LR.fit(x,y)
    print('模型的权值:',model_LR.coef_,'截距项:',model_LR.intercept_)
    pre=model_LR.predict(x)
    # 使用可视化的方式对比房屋面积与总价
    plt.scatter(x,y)    
    plt.plot(x,pre,c='r')   
    plt.show()

  • 相关阅读:
    HTTPS加密越来越流行,为何要加密?
    百度全站 https FAQ:技术宅告诉你如何搜索更安全
    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    理解 Ruby Symbol (Ruby中的冒号)
    ruby on rails Mac 安装
    Homestead PHP7安装phpredis扩展
    CentOS单独编译安装PHP gd库扩展
    centos 6.5 安装composer
    centos 添加用户
    laravel 安装 Laravel 扩展包
  • 原文地址:https://www.cnblogs.com/keshangming/p/12744918.html
Copyright © 2011-2022 走看看