现有数据集Advertising.csv。数据集包含了200个不同市场的产品销售额,每个销售额对应3种广告媒体投入成本,分别是:TV, radio, 和 newspaper。如果我们能分析出广告媒体投入与销售额之间的关系,我们就可以更好地分配广告开支并且使销售额最大化。

现需要进行如下实验:

1、使用pandas库读取数据集,得到相应矩阵。使用matplotlib库画出:TV、Radio、Newspaper与产品销售额的数据散点图。

具体要求:

  1. 结果为一张图,TV, radio, 和 newspaper需要用不同形状的点表示。
  2. 图的X轴为广告花费、Y轴为销售额的值。
  3. 需要画出虚线形式的网格参考线。
def graph1( data ):TV = data.TVRadio = data.RadioNewspaper = data.NewspaperSales = data.Salesplt.scatter(TV, Sales,  c='r',marker='o',label='TV')plt.scatter(Radio, Sales,  c='b', marker='x', label='Radio')plt.scatter(Newspaper, Sales,  c='y', marker='d', label='Newspaper')plt.legend()plt.ylabel("销售额",fontproperties=zhfont1)plt.xlabel('广告花费',fontproperties=zhfont1)plt.grid(linestyle='-.')plt.savefig('D://Ml_lab_result/ProblemA_1.png')plt.show()

2、 再次使用matplotlib库分别画出:TV与产品销售额、 Radio与产品销售额、Newspaper与产品销售额的数据散点图。

具体要求:

  1. 结果为三张子图组成的一个大图,分为三行。从上到下的顺序依次为:TV与产品销售额、 Radio与产品销售额、Newspaper与产品销售额的数据散点图。
  2. 图的X轴为广告花费、Y轴为销售额的值。
  3. 需要画出虚线形式的网格参考线。
def graph2(data):TV = data.TVRadio = data.RadioNewspaper = data.NewspaperSales = data.Salesplt.ylabel("销售额", fontproperties=zhfont1)plt.figure()plt.subplot(311)plt.scatter(TV, Sales,  c='r',marker='o')plt.grid(linestyle='-.')plt.subplot(312)plt.scatter(Radio, Sales,  c='b', marker='x')plt.grid(linestyle='-.')plt.subplot(313)plt.scatter(Newspaper, Sales,  c='y', marker='d')plt.xlabel('广告花费', fontproperties=zhfont1)plt.grid(linestyle='-.')plt.savefig('D://Ml_lab_result/ProblemA_2.png')plt.show()

从图表可看出Newspaper的投入与产品销售额最无关系。

3、先对数据进行标准化后,建立线性回归中的多项式拟合模型,分别采用多项式的次数为1-9进行训练。最后根据预测结果与真实结果绘图。

具体要求:

  1. 测试集取20%,训练集取80%。因为数据特征有三个(TV,Radio,NewsPaper),无法绘制特征与预测结果的二维图形。因此X轴换为测试样本下标,Y轴为产品销售额。
  2. 分别画出9个图,在图中使用绿色线条代表模型针对测试集得出的预测销售额,使用红色线条代表测试集对应的实际产品销售额。图的标题表明线性模型多项式次数。
def mlr(data):X = data[['TV','Radio','Newspaper']]y = data['Sales']X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,random_state=1)for degree in range(1,10) :model = make_pipeline(PolynomialFeatures(degree), LinearRegression())model.fit(X_train, y_train)y_pred = model.predict(X_test)plt.grid()plt.plot(range(len(y_pred)),y_pred, c='g',label="predict")plt.plot(range(len(y_pred)),y_test, c='r', label="true")plt.title("degree %d" % degree)plt.legend()path_img = 'D://Ml_lab_result/degree_%d.png' % degreeplt.savefig(path_img)plt.show()

数据集Advertising.csv——分析出广告媒体投入与销售额之间的关系相关推荐

  1. R语言data.table进行滚动数据连接,滚动连接通常用于分析涉及时间的数据(例如商业销售活动和对应的广告投放的安排之之间的关系)实战:实战和动画说明滚动数据连接的形式及方法

    R语言data.table进行滚动数据连接,滚动连接通常用于分析涉及时间的数据(例如商业销售活动和对应的广告投放的安排之之间的关系)实战:实战和动画说明滚动数据连接的形式及方法 目录

  2. R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析:拟合连续性自变量和事件风险之间的关系并绘制直方图、平滑曲线、双Y轴于同一个图像中

    R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析:拟合连续性自变量和事件风险之间的关系并绘制直方图.平滑曲线.双Y轴于同一个图像中 目录

  3. 效用分析 ( 效能分析、Power analysis)是什么?效用分析在线计算器介绍(分析样本量、效用和效应量之间的关系时,需要把其中一个因素固定,计算另外两个因素间的关系、或者给定两个因素计算第三个

    效用分析 ( 效能分析.Power analysis)是什么?效用分析在线计算器介绍(分析样本量.效用和效应量之间的关系时,需要把其中一个因素固定,计算另外两个因素间的关系.或者给定两个因素计算第三个 ...

  4. 零极点判别系统稳定性和通过平衡点找出矩阵特征值来判定稳定性之间的关系

    第一个是输入输出稳定,就是BIBO Stability. 第二个是内部稳定,internal stability,指所有的状态稳定.第二个可以保证第一个,反之则不行 第一个稳定实际上在数学上对应的是算 ...

  5. 声音以模拟信号的形式存储在计算机中,2021年4月自考《广告媒体分析》模拟试题(三)...

    2021年4月自考<广告媒体分析>模拟试题(三) 一.单项选择题(本大题共20小题,每小题1分,共20分) 1.在计算机中以二进制信息形式存储和传输的媒体属于() A.感觉媒体 B.表示媒 ...

  6. Python线性回归:加载共享自行车租赁数据集 BikeSharing.csv。 1. 按以下要求处理数据集 (1)分离出仅含特征列的部分作为 X 和仅含目标列的部分作为 Y。

    加载共享自行车租赁数据集 BikeSharing.csv. 按以下要求处理数据集 (1)分离出仅含特征列的部分作为 X 和仅含目标列的部分作为 Y. (2)将数据集拆分成训练集和测试集(70%和 30 ...

  7. 各大媒体优劣对比_户外广告媒体类型与优缺点对比分析

    凡是能在露天或公共场合通过广告表现形式同时向无以计量的消费者进行广告传播的,都可以定义为户外广告,户外广告是一种媒体类型丰富.表现形式多样.发展速度较快的广告模式,那么户外广告具体有哪些类型呢?户外广 ...

  8. 酒店数据集退订分析与预测

    酒店数据集退订分析与预测 1.背景 2.提出问题 3.理解数据 3.1数据清洗 4.可视化分析 4.1 两家酒店总体退订率情况 4.2 退订用户特征 4.2.1用户需求属性 4.2.2 用户行为属性 ...

  9. 行代码实现数据集可视化、分析与比较

    GitHub上一位博主告诉你:不用学,用sweetviz就行. 这是一个基于Python编写的数据分析软件,只要掌握3种函数用法,一行Python代码就能实现数据集可视化.分析与比较. 我们以Tita ...

最新文章

  1. DP UVALive 6506 Padovan Sequence
  2. 数据结构二:排序(冒泡排序和选择排序)
  3. K8S水平伸缩器 - 自动伸缩微服务实例数量
  4. hapi 获取 请求地址 url
  5. 为什么年事已高的我还在编程?
  6. 大势所趋与各具特色 超融合市场玩家大盘点
  7. UVALive - 6436
  8. VS2008+SQL2005 ASP.NET2.0数据库连接总结 (vs2005也可)----转载+说明
  9. 女人让男人感到自卑的九个经典(摘于网络)
  10. ip地址配置 mongodb_MongoDB 3.6版本中bind_ip设置详解
  11. busybox inittab
  12. python做数据分析的包_Python数据分析包的学习
  13. matlab读写xlsx文件
  14. 波束赋形beamforming
  15. Vue单文件组件TypeScript写法
  16. python doc2 —— MPI多线程并行计算工具mpi4py
  17. 万兆网络传输速度测试_用万兆网卡测试超五类网线传输速度,颠覆你的认知
  18. 联发科技:LinkIt™ RTOS
  19. 主板下有螺母垫板的拧螺丝的CPU散热器,螺母垫板的固定一法
  20. ORA-04091:表XX发生了变化,触发器/函数不能读它

热门文章

  1. simulator和emulator区别
  2. Linux的安全扫描Nikto安装
  3. android调用网络打印机,Android下通过wifi调用打印机打印
  4. 需要更多的 “教练式的领导” 1
  5. android开发 searchview和listview实现搜索,Android SearchView和ListView的结合使用
  6. 深圳社会保险费征收基本政策
  7. nodejs+vue婚纱摄影选片影楼管理系统
  8. Backup Retention Policies
  9. 江西省2021年普通高校专升本考试招生实施方案
  10. 四种Linux系统版本号的查看方式