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()

    运行截图及结果:

     

  • 相关阅读:
    【2018.05.05 C与C++基础】C++中的自动废料收集:概念与问题引入
    【2018.04.27 C与C++基础】关于switch-case及if-else的效率问题
    【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一
    March 11th, 2018 Week 11th Sunday
    March 10th, 2018 Week 10th Saturday
    March 09th, 2018 Week 10th Friday
    March 08th, 2018 Week 10th Thursday
    March 07th, 2018 Week 10th Wednesday
    ubantu之Git使用
    AMS分析 -- 启动过程
  • 原文地址:https://www.cnblogs.com/HvYan/p/12746286.html
Copyright © 2011-2022 走看看