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

运行截图及结果:

 

原文地址:https://www.cnblogs.com/HvYan/p/12746286.html