• 5.线性回归算法


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

    ①回归算法分类

    ②回归算法

     ③监督学习的区别

     

    ④线性回归的应用

     

    ⑤定义

     

    矩阵运算

    import matplotlib.pyplot as plt
    import  numpy as np
    import  random
    # plt.figure(figsize=(5,5))
    # plt.scatter([60,72,75,80,83],[126,151.2,157.5,168,174.3])
    # plt.show()
    
    a = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    b = [1,2,3,4]
    c = np.multiply(a,b)
    print(c)
    b = [1],[2],[3],[4]            #权重
    d = np.dot(a,b)
    print(d)

     ⑥梯度下降

     训练一次

     训练10次

     训练100次

     代码

    import random
    import time
    import matplotlib as plt

    _xs = [0.1*x for x in range(0,10)] #定义,x确定一个范围
    _ys = [12*i +4 for i in _xs]
    print(_xs)
    print(_ys)


    w = random.random()
    b = random.random()

    a = []
    b = []

    for i in range(1):
    for x,y in zip(_xs,_ys): #x ,遍历_xs,_ys
    o = w*x + b #o 代表预测值
    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))
    a.append(i)
    b.append(loss)
    plt.plot(a,b)
    plt.pause(0,1)
    plt.show()

    损失值和测试次数变化

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

    ①可以用于预测公司的销售额

    ②依据历史票房数据、影评数据、舆情数据等互联网公众数据,对电影票房进行预测。

    ③通过分析价格历史数据,对要求预测的农产品接下来固定时间的价格进行预测。并尽可能多的使用与价格有影响的其他数据以提高预测的准确率。

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

     代码

    import pandas as pd
    from sklearn.linear_model import LinearRegression
    import matplotlib.pyplot as plt
    
    df = pd.read_csv('二手车数据1.csv')#读取文件
    plt.rcParams['font.sans-serif'] = 'SimHei'# 设置中文显示
    
    #散点图
    plt.figure(figsize=(12,8))  #设置画布
    x = df[['newcarprice']].values
    y = df['price'].values
    plt.xlabel('新车价格(万元)')#X轴
    plt.ylabel('二手价格(万元)')#Y轴
    plt.scatter(x,y,color="green",s=5.0)#散点模型
    plt.title("新车价格对二手价格的关系")
    #构建线性模型模型
    LR_model=LinearRegression()            #使用线性模型
    LR_model.fit(x,y)                      #对xy进行训练
    #绘制线性方程
    plt.plot(x, LR_model.predict(x),color="blue")
    plt.xlabel('新车价格(万元)')
    plt.ylabel('二手价格(万元)')
    plt.title('新车价格对二手价格的关系')
    plt.show()

    结果图

  • 相关阅读:
    BW中变量增强学习
    视频压制参数设置详细说明(转)
    swf文件格式解析(二)
    关于FP10.2的自定义鼠标功能
    swf文件格式解析(一)
    如何判断winform程序已安装过
    flashbuilder4.5 作为eclipse插件
    安装程序无法创建新的系统分区,也无法定位现有系统分区 (转载于百度文库)
    【转】VS2008建造打包法度将安装路径写入注册表
    【高清视频压制教程】使用MeGUI压制视频教程(以PSP视频为例)(转载)
  • 原文地址:https://www.cnblogs.com/SeBr7/p/12747254.html
Copyright © 2020-2023  润新知