开发者学堂课程【高校精品课-华东师范大学-人工智能基础:一元线性回归-预测电影票房】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/920/detail/15589
一元线性回归-预测电影票房
内容介绍:
一、线性回归
二、线性回归假设
三、实验一:一元线性回归预测电影的票房收入
一、线性回归
回归分析是重要的统计分析方法,是分析数据寻求变量之间关系的有利工具。
本次来介绍一种常见的回归分析——线性回归。利用回归分析来确定多个变量间的依赖关系,这种方程称为回归方程。如果回归方程呈现的图形为一根直线,则称为线性回归方程。线性回归算法的核心是线性回归方程,通过在输入数据和输出数据之间建立一种线性的相关关系完成预测的任务。即将输入数据乘以一些常量经过一些基本的处理就可以得到输出数据。
线性回归方程的参数可以有一个或者多个,经常用于实际的预测问题,例如预测机票价和股票市场走势等,是一个广受关注的算法。
二、线性回归假设
假设输入的数据 X,线性回归的最简单模型是输入变量的线性组合,y=wx+b,其中 x 表示输入数据,W是模型的参数。
如果x只是一个数值,则线性回归为 Y=WX+B 称为一元线性回归的直线方程,就是数学里面的线性方程,w为斜率,b是 y 轴的偏移。从数学解读一元线性回归方程比较容易求解,下面通过例子介绍一元线性回归问题和解决过程。
三、实验一:一元线性回归预测电影的票房收入
大明电影公司投资拍摄了五部电影,并且整理了各影片的投资金额(百万元)和票房收入(百万元)。电影的投入和票房收入的数据见下面表格。接下来要拍一部投资2千万的电影,使用一元线性回归预测一下新电影的票房收入。
把 X 数据进行输入,电影的投资单位是百万,把 Y=92 29 35 59进行输入,这是票房收入单位也是百万。生成的图如下所示
从结果可以看出横轴的数据在5~20之间,纵轴的数据是10~60之间,5部电影呈现出比较明显的分布规律,接下来通过一元线性回归预测电影的票房收入。
前面绘制了电影的数据分布图,如果要预测某部电影的票房收入,可以使用Sklearn.linear_model.LinearRegression,
其中
LinearRegression
能够实现线性回归。
格式: class sklearn.linear_model.LinearRegression
(fit_intercept = True,normalize = False,copy_x = True,n_jobs = None )
主要参数:
normalize :布尔值,可选,默认为False。如果为 True,则回归向量X将在回归之前进行归一化处理。
属性:coef_ : 线性回归问题的估计系数。intercept_: 回归方程的截距。
下面来完成程序的填空,首先先将下面的程序注释,查看预测的结果值,输入 print(a),得到的结果是69.95百万元,接下来依次进行填空。
print("投资2千万的电影预计票房收入为:{:.2f}百万元".format(mode1.predict([[20]])[0][0])
这里由于是从数组中
中把数据读取出来,
数组仅有一个数据,所以下标是00。
print("回归模型的系数是:"",w)print("回归模型的截距是:",b)
print("最佳拟合线:y= ",int(b),"+", int(w),"×x”)
drawplto
plt. plot(X, y. ”k.”)
plt.plot([0,25],[b,25+w+b])
p
lt.show
()
在0-25之间把直线显示出来。
运行后得到的结果为投资2,000万的电影,预计票房收入为69.9 百万,回归模型的系数是4,模型的截距是-25.75,最佳的拟合曲线是 Y=-25+4X
绘制出了闪点图以及拟合出的直线如下
根据直线就可以预测到投资2,000万的电影,票房收入大约是69.95百万元。
本次介绍了一元线性回归分析问题,对电影的票房收入进行了预测,有时电影的票房收入不仅仅与投资有关,还有其他因素,比如广告投入等等。