数据分析小案例(五):销量预测(python)

2017-09-19  本文已影响1066人  三猫后端

微信公众号:机器学习养成记             搜索添加微信公众号:chenchenwings

原文链接:小案例(五):销量预测(python)

《菜鸟侦探挑战数学分析》小案例,python实现第五弹~~

第一弹戳这里:数据分析小案例(一):商业街抽奖(python)

第二弹戳这里:数据分析小案例(二):面包是不是变轻了(python)

第三弹戳这里:数据分析小案例(三):调查问卷(python)

第四弹戳这里:数据分析小案例(四):销售额下滑(python)

案件回顾

1,现有冰激凌店一年的历史销售数据

2,数据包括单日的销售量、气温、周几(问题:如何用这些数据预测冰激凌的销量?)

模拟实验与分析

将数据存储为csv格式,导入python。并画出散点图,观察气温和销售量的关系。

import pandas as pd

icecream = pd.read_csv("icecream.csv")

import matplotlib.pyplot as plt

import pylab

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.scatter(icecream.iloc[:,1],icecream.iloc[:,0])

plt.xlabel("气温")

plt.ylabel("销售量")

pylab.show()

计算两者间的相关系数。

icecream.iloc[:,0:2].corr()

结果为:

              销售量       气温

销售量 1.000000   0.844211

气温     0.844211   1.000000

销售量和气温的相关系数为0.84,结合散点图,认为两者相关。下面用回归分析的方法,通过气温来预测冰激凌销量。

from sklearn.linear_model import LinearRegression

model = LinearRegression()

feature_cols = ['气温']

X = icecream[feature_cols]

y = icecream.销售量

model.fit(X,y)

plt.scatter(icecream.气温, icecream.销售量)

plt.plot(icecream.气温, model.predict(X) , color='blue')

plt.xlabel('气温')

plt.ylabel('销售量')

plt.show()

print("截距与斜率:",model.intercept_,model.coef_)

截距与斜率: 57.1673282152 [ 5.21607823]

于是,散点图中的线函数式为y=5.2X+57.2。所以,当气温为25度时,预测的销售量为5.2*25+57.2=187.52,约188个。

几个小概念

回归分析:预测数据时的简便手法。在此例中,销售量为反应变量,也叫因变量,气温为解释变量,也叫自变量。虽然影响销售量的因素除了气温外还有很多,但回归分析中我们要把现实情况简化并公式化,这个过程叫做建模。本例中只用1个解释变量进行模型化称为一元线性回归,如果反应变量同时受到多个解释变量的影响,称为多元线性回归。

微信公众号:机器学习养成记

搜索添加微信公众号:chenchenwings

扫描二维码,关注我们。

如需转载,请在开篇显著位置注明作者和出处,并在文末放置机器学习养成记二维码和添加原文链接。

快来关注我们吧!

上一篇下一篇

猜你喜欢

热点阅读