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()
运行截图及结果: