教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python當(dāng)中的實(shí)用小案例源代碼分享:銷量預(yù)測

更新時間:2018年12月13日13時27分 來源:傳智播客 瀏覽次數(shù):

案件
1,現(xiàn)有冰激凌店一年的歷史銷售數(shù)據(jù)
2,數(shù)據(jù)包括單日的銷售量、氣溫、周幾(問題:如何用這些數(shù)據(jù)預(yù)測冰激凌的銷量?)
模擬實(shí)驗(yàn)與分析
將數(shù)據(jù)存儲為csv格式,導(dǎo)入python。并畫出散點(diǎn)圖,觀察氣溫和銷售量的關(guān)系。
[Python] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
8
9
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()

計(jì)算兩者間的相關(guān)系數(shù)。
[Python] 純文本查看 復(fù)制代碼
1
icecream.iloc[:,0:2].corr()
結(jié)果為:
[Python] 純文本查看 復(fù)制代碼
1
2
3
4
銷售量       氣溫[/align]
銷售量 1.000000   0.844211
氣溫     0.844211   1.000000
銷售量和氣溫的相關(guān)系數(shù)為0.84,結(jié)合散點(diǎn)圖,認(rèn)為兩者相關(guān)。下面用回歸分析的方法,通過氣溫來預(yù)測冰激凌銷量。
[Python] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
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_)

[Python] 純文本查看 復(fù)制代碼
1
截距與斜率: 57.1673282152 [ 5.21607823]
于是,散點(diǎn)圖中的線函數(shù)式為y=5.2X+57.2。所以,當(dāng)氣溫為25度時,預(yù)測的銷售量為5.2*25+57.2=187.52,約188個。
幾個小概念回歸分析:預(yù)測數(shù)據(jù)時的簡便手法。在此例中,銷售量為反應(yīng)變量,也叫因變量,氣溫為解釋變量,也叫自變量。雖然影響銷售量的因素除了氣溫外還有很多,但回歸分析中我們要把現(xiàn)實(shí)情況簡化并公式化,這個過程叫做建模。本例中只用1個解釋變量進(jìn)行模型化稱為一元線性回歸,如果反應(yīng)變量同時受到多個解釋變量的影響,稱為多元線性回歸。
作者:傳智播客人工智能+Python培訓(xùn)學(xué)院
首發(fā):http://python.itcast.cn/
0 分享到:
和我們在線交談!