5.线性回归算法

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

结果图

 

posted @ 2020-04-21 19:28  SeBr7  阅读(215)  评论(0编辑  收藏  举报