第五次作业 5.线性回归算法

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

2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

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

1.线性回归的知识总结

(1)机器学习的回归,回归是属于监督学习

(2)回归算法

(3)回归和分类的区别

(3)机器学习回归算法还可以进行房价预测,销售额预测

(4)线性回归,通过一个或者多个和y之间进行建模的回归方法,之前学习过的梯度模型。

(5)机器预测也是有误差的

 

(6)最小二乘法

 课堂代码:

#老师上课的代码
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(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.思考线性回归算法可以用来做什么?

森林火灾预测、电影票房预测等等

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

使用线性回归模型对红酒进行预测

结合真实评分和预测评分,计算均方误差、中值绝对误差、可解释方差值。

 根据得分,对模型的性能优劣进行评价。

from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
data = load_breast_cancer()
x = data['data']
y = data['target']
x_train, x_test,y_train, y_test = train_test_split(x,y, test_size=0.2,random_state=5)
# 构建线性回归模型。
model_LR = LinearRegression().fit(x_train,y_train)#训练
pre = model_LR.predict(x_test)#测试


# c.结合真实评分和预测评分,计算均方误差、中值绝对误差、可解释方差值。
from sklearn.metrics import explained_variance_score,mean_squared_error,median_absolute_error
print("数据集线性回归模型的均方误差为:",mean_squared_error(y_test , pre))
print("数据集线性回归模型中值绝对误差为:",median_absolute_error(y_test,pre))
print("数据集线性回归模型的可解释方差值为:",explained_variance_score(y_test,pre))
# 根据得分,判定模型的性能优劣。
import matplotlib.pyplot as plt
p = plt.figure(figsize=(15,6))
a1 = p.add_subplot(2,1,1)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
plt.plot(range(y_test.size),y_test,color="blue")
plt.plot(range(y_test.size),pre,color="red")
plt.legend(["真实值","预测值"])
plt.title("线性回归模型预测结果")
原文地址:https://www.cnblogs.com/cndl/p/12738443.html