3.4.2  分析数据

分析数据的特征:

TV:在电视上投资的广告费用(以千万元为单位);

Radio:在广播媒体上投资的广告费用;

Newspaper:用于报纸媒体的广告费用;

响应:连续的值;

Sales:对应产品的销量。

在这个案例中,通过不同的广告投入,预测产品销量。因为响应变量是一个连续的值,所以这个问题是一个回归问题。数据集一共有200个观测值,每一组观测对应一个市场的情况。

?注意:这里推荐使用的是seaborn包。这个包的数据可视化效果比较好。其实seaborn也属于Matplotlib的内部包,只是需要单独安装。

import seaborn as sns

import matplotlib.pyplot as plt

# 使用散点图可视化特征与响应之间的关系

sns.pairplot(data, x_vars=['TV','Radio','Newspaper'], y_vars='Sales',

size=7, aspect=0.8)

plt.show()                                                               #注意必须加上这一句,否则无法显示

#这里选择TV?Radio?Newspaper 作为特征,Sales作为观测值

seaborn的pairplot函数绘制X的每一维度和对应Y的散点图。通过设置size和aspect参数来调节显示的大小和比例。通过加入一个参数kind='reg',seaborn可以添加一条最佳拟合直线和95%的置信带。

sns.pairplot(data, x_vars=['TV','Radio','Newspaper'], y_vars='Sales',

size=7, aspect=0.8, kind='reg')

plt.show()

如图3-3是运行后的拟合效果图。从图中可以看出,TV特征和销量是有比较强的线性关系的,而Radio和Sales线性关系弱一些,Newspaper和Sales线性关系更弱。

09ba674702b86897a22a6d73a9c358c0.png

图3-3  线性回归结果图

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐