5.线性回归算法

1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

机器学习的分类:

 

回归算法概括:

回归与分类的区别:

线性关系的概念:

一些常用到的方程或函数:

课堂示例的代码:

import random
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(50):
    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.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

(1)机场客流量分布预测

(2)音乐流行趋势预测

(3)需求预测与仓储规划方案

(4)货币基金资金流入流出预测

(5)电影票房预测

(6)农产品价格预测分析

(7)学生成绩排名预测

(8)中国人口增长分析

(9)收入增长预测

(10)股价走势预测

3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

##加载所需函数
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
## 加载boston数据
boston = load_boston()
X = boston['data']
y = boston['target']
names = boston['feature_names']
## 将数据划分为训练集测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2,random_state=125)
## 建立线性回归模型
clf = LinearRegression().fit(X_train,y_train)
print('建立的LinearRegression模型为:','\n',clf)
## 预测训练集结果
y_pred = clf.predict(X_test)
print('预测前20个结果为:','\n',y_pred[:20])
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.sans-serif'] = 'SimHei'
fig = plt.figure(figsize=(10,6)) ##设定空白画布,并制定大小
##用不同的颜色表示不同数据
plt.plot(range(y_test.shape[0]),y_test,color="blue", linewidth=1.5, linestyle="-")
plt.plot(range(y_test.shape[0]),y_pred,color="red", linewidth=1.5, linestyle="-.")
plt.legend(['真实值','预测值'])
plt.show() ##显示图片

posted @ 2020-04-21 20:51  HoioH  阅读(154)  评论(0编辑  收藏  举报