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

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

    (1)监督学习的分类:回归算法与分类算法

    回归算法的简介:

    回归算法与分类算法的区别:

    (2)回归算法的具体应用:房价预测、销售额预测、

    (3)回归算法的定义:

     

     (4)预测值与真实值存在一定误差:

     (5)误差计算方法与优化:

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

    根据历史气象记录预测明天的温度、根据历史行情预测明天股票的走势、房价信息、根据历史记录预测某篇文章的点击率等等

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

    取"国家外汇管理局"中的"人民币汇率中间价"(整理成csv),选取的日期为2018到2019年的人民币兑港元与美元的汇率信息,查看人民币兑港元与人民币兑换美元的线性关系。

    数据一览(部分展示):

     首先进行库的导入与数据的读取

    import matplotlib.pyplot as plt
    import random
    import pandas as pd
    import numpy as np
    
    #读取数据
    data=pd.read_csv("./data/线性回归.csv")

    计算平均值并使用随机数生成0-1的权重和截距

    #计算平均值
    x_mean=np.mean(data['港元'])
    y_mean=np.mean(data['美元'])
    #随机生成0-1的权重和截距
    w = random.random()
    b = random.random()

    进行迭代计算

    #迭代计算
    for i in range(20):
        for x,y in zip(data['港元'],data['美元']):
            w +=(x-x_mean)*(y-y_mean)
            b +=(x-x_mean)**2
        w_=w/b
        b_=y_mean-w_*x_mean
        print('w1={0},b1={1}'.format(w_, b_))  # 输出w1和b1的变化过程

    进行预测并作图以便直接观看

    #预测值
    pre=w_*data['港元']+b_
    print("线性回归函数为:", "y=%.2f*x+(%.2f)" % (w_, b_))
    #作图
    plt.scatter(data.iloc[:,0],data.iloc[:,1],color='red',s=5)
    plt.plot(data.iloc[:,0],pre)
    plt.show()

    运行截图及结果:

     

  • 相关阅读:
    bootloader
    Arm中的c和汇编混合编程
    Linux学习笔记(一)
    java按所需格式获取当前时间
    java 串口通信 rxtx的使用
    Tomcat数据库连接池
    面试
    复习 模拟call apply
    复习 js闭包
    复习js中的原型及原型链
  • 原文地址:https://www.cnblogs.com/HvYan/p/12746286.html
Copyright © 2011-2022 走看看