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

 

posted @ 2020-04-22 14:21  菠蘿啤  阅读(200)  评论(0编辑  收藏  举报