一、业务需求和背景
业务需求:确定公司店铺的订货级别
业务背景:每个店铺的订货级别会有所区分,用以限制这些店铺的最高订货比例,防止订货过多,导致库存积压
二、需求拆解
利用历史数据,对现有店铺进行聚类,方便业务去划分订货级别
三、特征值确定
通过和业务讨论,确定2个基础特征值:销售业绩和补单率
四、数据导入和探索
1、数据导入
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
import winreg
from sklearn.cluster import KMeans
def filename(x='text'):
return get_desktop()+f'\\{x}.xlsx'
# 桌面获取,边框设计,列自适应等常用函数
def get_desktop():
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
return winreg.QueryValueEx(key, "Desktop")[0]
df=pd.read_excel(filename())
2、数据探索
df1=df.iloc[:,-2:] #取到数据的最后两列,即两个特征值
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
df.hist(figsize=(10,10)) #观测每个特征的分布
df1.plot.scatter(x=df1.columns[0],y=df1.columns[1]) #用散点图观测数据的分布
五、数据预处理
1、数据缺失值处理
df1.isnull().sum()/df1.shape[0]
df1=df1.dropna()
根据结果,发现仅有补单率有缺失,缺失占比在1%一下,和业务沟通后,进行直接删除的处理
未完待续