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()
结果图