基于LSTM模型的商品补货计划和定价策略预测
import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler from keras.models import Sequential from keras.layers import LSTM, Dense import tensorflow.compat.v2 as tf
读取数据
data = pd.read_csv('test.csv')
数据预处理
data['销售日期'] = pd.to_datetime(data['销售日期']) data['销售量(千克)'] = data['销售量(千克)'].astype(float) data = data.groupby(['销售日期', '单品编码']).sum().reset_index()
提取特征
data['年'] = data['销售日期'].dt.year data['月'] = data['销售日期'].dt.month data['日'] = data['销售日期'].dt.day data['星期'] = data['销售日期'].dt.weekday
构建训练集和测试集
train_data = data[data['销售日期'] < '2023-06-24'] test_data = data[data['销售日期'] >= '2023-06-24']
归一化处理
scaler = MinMaxScaler(feature_range=(0, 1)) train_scaled = scaler.fit_transform(train_data['销售量(千克)'].values.reshape(-1, 1))
构建训练数据
train_X, train_y = [], [] for i in range(7, len(train_scaled)): train_X.append(train_scaled[i-7:i, 0]) train_y.append(train_scaled[i, 0]) train_X, train_y = np.array(train_X), np.array(train_y) train_X = np.reshape(train_X, (train_X.shape[0], train_X.shape[1], 1))
构建模型
model = Sequential() model.add(LSTM(units=50, return_sequences=True, input_shape=(train_X.shape[1], 1))) model.add(LSTM(units=50)) model.add(Dense(1)) model.compile(optimizer='adam', loss='mean_squared_error')
模型训练
model.fit(train_X, train_y, epochs=100, batch_size=32)
预测未来一天的销售量
inputs = train_data[len(train_data)-7:]['销售量(千克)'].values inputs = inputs.reshape(-1,1) inputs = scaler.transform(inputs) X_test = [] X_test.append(inputs[-7:]) X_test = np.array(X_test) X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1)) predicted_sales = model.predict(X_test) predicted_sales = scaler.inverse_transform(predicted_sales)
补货计划
replenishment = test_data.groupby('单品编码').sum().reset_index() replenishment['预测销售量(千克)'] = predicted_sales.flatten() replenishment = replenishment[replenishment['预测销售量(千克)'] >= 2.5] replenishment = replenishment.sample(n=np.random.randint(27, 35))
定价策略
replenishment['定价策略'] = replenishment['批发价格'] * 1.2
输出结果
replenishment[['单品编码', '预测销售量(千克)', '定价策略']]
原文地址: https://www.cveoy.top/t/topic/ehf3 著作权归作者所有。请勿转载和采集!