5.线性回归算法
1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性
2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)
3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)
解:
1.
回归算法的背景:
监督学习:回归和分类的区别
重点:最小二乘法之梯度下降法
重点理解:课堂代码实现梯度下降法:
import random import time import matplotlib.pyplot as plt _xs=[0.1*x for x in range(0,10)] _ys=[12*i+4 for i in _xs] print(_xs) print(_ys) w=random.random() b=random.random() a1=[] b1=[] for i in range(100): for x,y in zip(_xs,_ys): o=w*x+b 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)) a1.append(i) b1.append(loss) plt.plot(a1,b1) plt.pause(0.1) plt.show()
2.
房价预测
销售额预测
文章点击率预测
股票行情预测
天气预测
信用度预测
3.
数据为爬虫爬到的买房网数据
# 应用线性回归算法预测房屋面积与总价 from sklearn.datasets import load_boston from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import pandas as pd import numpy as np data = pd.read_csv('201706120040 柯尚明(已处理).csv') del data['Unnamed: 0'] x=np.array(data.iloc[:,6:7]) y=np.array(data.iloc[:,1]) model_LR=LinearRegression() model_LR.fit(x,y) print('模型的权值:',model_LR.coef_,'截距项:',model_LR.intercept_) pre=model_LR.predict(x) # 使用可视化的方式对比房屋面积与总价 plt.scatter(x,y) plt.plot(x,pre,c='r') plt.show()