zoukankan      html  css  js  c++  java
  • 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()

    结果图

  • 相关阅读:
    CentOS下Apache开启Rewrite功能
    CentOS下Apache配置多域名或者多端口映射
    CentOS配置SVN服务器
    Windows下Apache配置域名
    PHP 返回13位时间戳
    主成分分析(PCA)特征选择算法详解
    均值、方差、标准差及协方差、协方差矩阵详解
    Jackson序列化日期类型的属性
    监控JVM内存使用情况,剩余空间小于2M时报警
    java 7中新增的CPU和负载的监控
  • 原文地址:https://www.cnblogs.com/SeBr7/p/12747254.html
Copyright © 2011-2022 走看看