文章目錄
- 1 前言
- 2 開始分析
- 2.1 資料特征
- 2.2 各項投入與銷售額之間的關系
- 2.3 建立銷售額的預測模型
- 3 最后-畢設幫助
1 前言
Hi,大家好,這里是丹成學長,今天做一個電商銷售預測分析,這只是一個demo,嘗試在現有資料集上對銷售資料進行預測
畢設幫助,開題指導,技術解答
🇶746876041
2 開始分析
2.1 資料特征
# 匯入包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set(style='whitegrid',palette="Set2")
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
from warnings import filterwarnings
filterwarnings('ignore')
df = pd.read_csv('/home/kesci/input/data_baojie1642/baojie.csv')

查看缺失值
df.isnull().sum()/df.shape[0]

洗掉空值
df.dropna(inplace=True)
df.isnull().sum()

查看資料分布
df.hist(bins=40,figsize=(12,8))
plt.show()

資料相對符合正太分布
2.2 各項投入與銷售額之間的關系
該時間段內不同活動期間所投入的費用占比
plt.figure(figsize=(8,6))
size = df.groupby('event').total_input.sum()
plt.pie(size.values,labels = size.index,wedgeprops={'width':0.35,'edgecolor':'w'},
autopct='%.2f%%',pctdistance=0.85,startangle = 90)
plt.axis('equal')
plt.show()

推送次數
sns.jointplot(x='reach',y='revenue',data=df)

電視廣告

線上廣告投入
sns.jointplot(x='online',y='revenue',data=df)

門店宣傳投入
sns.jointplot(x='instore',y='revenue',data=df)

相關系數


2.3 建立銷售額的預測模型
選擇最小二乘回歸試試
# 部分代碼
y = df['revenue']
x = df.drop(['revenue','event'],axis = 1)
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=20)
from sklearn.linear_model import LinearRegression
lr_model = LinearRegression()
lr_model.fit(x_train,y_train)
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
print('預測測驗集前5個結果為:\n',lr_model.predict(x_test)[:5])
print('測驗集R^2值為:',lr_model.score(x_test,y_test))
from matplotlib import rcParams
fig = plt.figure(figsize = (10,6))
y_pred = lr_model.predict(x_test)
plt.plot(range(y_test.shape[0]),y_test,color='blue',linewidth = 1.5,linestyle = '-')
plt.plot(range(y_test.shape[0]),y_pred,color='red',linewidth = 1.5,linestyle = '-.')
plt.legend(['真實值','預測值'])
plt.show()

3 最后-畢設幫助
畢設幫助,開題指導,技術解答
🇶746876041

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/325510.html
標籤:其他
