当前位置: 首页 > news >正文

九台市做网站的公司如何改wordpress文章模板

九台市做网站的公司,如何改wordpress文章模板,邹平做网站公司,电子商务电商网站饿建设经常会遇到一些需要预测的场景#xff0c;比如预测品牌销售额#xff0c;预测产品销量。 时间序列 今天分享一波使用 LSTM 进行端到端时间序列预测的完整代码和详细解释。 我们先来了解两个主题#xff1a; 什么是时间序列分析#xff1f; 什么是 LSTM#xff1f; 时…经常会遇到一些需要预测的场景比如预测品牌销售额预测产品销量。 时间序列 今天分享一波使用 LSTM 进行端到端时间序列预测的完整代码和详细解释。 我们先来了解两个主题 什么是时间序列分析 什么是 LSTM 时间序列分析时间序列表示基于时间顺序的一系列数据。它可以是秒、分钟、小时、天、周、月、年。未来的数据将取决于它以前的值。 在现实世界的案例中我们主要有两种类型的时间序列分析 单变量时间序列只有一列因此即将到来的未来值将仅取决于它之前的值。如仅依据历史销量数据预测未来数据 多元时间序列不同类型的特征值并且目标数据将依赖于这些特征。如除历史销量数据外还有促销活动、节假日等特征 对于单变量时间序列数据我们将使用单列进行预测。 LSTM 其他前置LSTMLSTM基本上是一个循环神经网络能够处理长期依赖关系。 假设你在看一部电影。所以当电影中发生任何情况时你都已经知道之前发生了什么并且可以理解因为过去发生的事情所以才会有新的情况发生。RNN也是以同样的方式工作它们记住过去的信息并使用它来处理当前的输入。RNN的问题是由于渐变消失它们不能记住长期依赖关系。因此为了避免长期依赖问题设计了lstm。 LSTM 是一个神经网络更具体是RNN Recurrent 所以我们需要用keras 基于tensorflow库LSTM 相比于一般的神经网络NN增加了长时记忆与短时记忆。 LSTM 相比于一般的RNN有效解决了梯度消失的问题。梯度消失通俗的影响就是“长期记忆的丢失”。LSTM 相比于一般的RNN从设计的角度来看核心是多了一个cell。次核心是因为多了一个cell每一步的迭代中重新设计了遗忘门输入门和输出门以及cell状态的更新。 下面开始编码实现 代码实现 数据集格式调整 为了便于方便取出所需要的列格式如下图所示Date表示日期列Product表示产品列nums表示销售数量列。下面开始训练模型进行预测。 1、导入需要用到的库 请确保你已经安装了所需的库可以使用以下命令进行安装 pip install pandas numpy scikit-learn tensorflow导入模型训练所需要的库 import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense读取CSV文件 df pd.read_csv(weekly_product.csv)将日期转换为Datetime对象 df[Date] pd.to_datetime(df[Date], format%Y/%m/%d)按照日期升序排序 df.sort_values(byDate, inplaceTrue)确保数据按日期升序排列 df.reset_index(dropTrue, inplaceTrue)提取唯一的商品名称 products df[Product].unique()创建一个空的DataFrame用于存储预测结果 predicted_df pd.DataFrame(columns[Date, Product, nums])针对每种商品进行预测 for product in products:product_df df[df[Product] product].copy()# 提取销售数量并进行归一化sales product_df[nums].values.reshape(-1, 1)scaler MinMaxScaler(feature_range(0, 1))sales_scaled scaler.fit_transform(sales)# 将数据拆分为输入序列和目标值X, y [], []for i in range(len(sales_scaled) - 10):X.append(sales_scaled[i:i10, 0])y.append(sales_scaled[i10, 0])X, y np.array(X), np.array(y)# 将数据重塑为LSTM模型所需的形状 (samples, time steps, features)X np.reshape(X, (X.shape[0], X.shape[1], 1))# 构建LSTM模型model Sequential()model.add(LSTM(units50, return_sequencesTrue, input_shape(X.shape[1], 1)))model.add(LSTM(units50))model.add(Dense(units1))# 编译模型model.compile(optimizeradam, lossmean_squared_error)# 训练模型model.fit(X, y, epochs50, batch_size32)# 预测未来10周的销售数据future_dates pd.date_range(start2023-10-02, periods10, freqW)future_sales []for i in range(10):input_data sales_scaled[-10:].reshape(1, 10, 1)predicted_sales model.predict(input_data)future_sales.append(predicted_sales[0, 0])# 更新输入数据加入新的预测值sales_scaled np.concatenate([sales_scaled, predicted_sales], axis0)# 反归一化future_sales scaler.inverse_transform(np.array(future_sales).reshape(-1, 1))# 计算模型的性能指标true_sales product_df[nums].values[-10:]mse mean_squared_error(true_sales, future_sales)mae mean_absolute_error(true_sales, future_sales)print(fProduct: {product})print(fMean Squared Error: {mse})print(fMean Absolute Error: {mae})# 创建预测数据的DataFramefuture_df pd.DataFrame({Date: future_dates, Product: product, nums: future_sales.flatten()})# 将预测数据追加到原始数据框中predicted_df pd.concat([predicted_df, future_df], ignore_indexTrue) 最后保存最终的预测数据框到CSV文件 predicted_df.to_csv(predicted_sales_MAE.csv, indexFalse)模型的性能指标 在时间序列预测任务中精确率precision和召回率recall等常用的分类模型评价指标通常不直接适用。取而代之的是可以使用回归模型的评价指标例如均方根误差RMSE或平均绝对误差MAE来评估模型的性能。 在回归任务中常用的评价指标包括均方根误差Root Mean Squared ErrorRMSE和平均绝对误差Mean Absolute ErrorMAE。这些指标用于衡量模型的预测值与实际值之间的差异。 这些指标的解释如下 RMSE解释 如果RMSE等于0表示模型的预测完全准确没有任何误差。RMSE的值越小越好因为它表示预测值与实际值之间的差异越小。 MAE解释 MAE的值越小越好它表示模型的平均预测误差有多大。与RMSE不同MAE不会受到异常值的影响因为它使用的是绝对值。 在使用这些指标时通常会选择适合问题特点的一个或多个指标进行评估。 完整代码 为了使模型更加复用性将上面代码拆分成两个文件一个用于模型的训练和保存另一个用于加载模型并进行预测。请确保你有 pandas, numpy, scikit-learn, 和 tensorflow 安装在你的环境中。 File 1: train_and_save_model.py import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense from sklearn.metrics import mean_squared_error, mean_absolute_error# Read the CSV file df pd.read_csv(weekly_product.csv)# Convert the Date column to datetime df[Date] pd.to_datetime(df[Date], format%Y/%m/%d)# Sort the dataframe by date df.sort_values(byDate, inplaceTrue) df.reset_index(dropTrue, inplaceTrue)# Extract unique product names products df[Product].unique()# Train and save a model for each product for product in products:product_df df[df[Product] product].copy()# Extract and normalize sales datasales product_df[nums].values.reshape(-1, 1)scaler MinMaxScaler(feature_range(0, 1))sales_scaled scaler.fit_transform(sales)# Prepare the input sequences and target valuesX, y [], []for i in range(len(sales_scaled) - 10):X.append(sales_scaled[i:i 10, 0])y.append(sales_scaled[i 10, 0])X, y np.array(X), np.array(y)# Reshape the data for LSTM modelX np.reshape(X, (X.shape[0], X.shape[1], 1))# Build the LSTM modelmodel Sequential()model.add(LSTM(units50, return_sequencesTrue, input_shape(X.shape[1], 1)))model.add(LSTM(units50))model.add(Dense(units1))model.compile(optimizeradam, lossmean_squared_error)model.fit(X, y, epochs50, batch_size32)# Save the modelmodel.save(fmodel_{product}.h5)# Evaluate the model on the training datatrain_predictions model.predict(X)train_predictions scaler.inverse_transform(train_predictions)true_sales product_df[nums].values[10:]mse mean_squared_error(true_sales, train_predictions)mae mean_absolute_error(true_sales, train_predictions)print(fProduct: {product})print(fMean Squared Error on Training Data: {mse})print(fMean Absolute Error on Training Data: {mae}) File 2: load_and_predict_model.py import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import load_model import datetime# Function to load the trained model and make predictions def predict_sales(product, date_str):# Load the saved modelmodel load_model(fmodel_{product}.h5)# Read the CSV filedf pd.read_csv(weekly_product.csv)# Convert the input date string to datetimeinput_date datetime.datetime.strptime(date_str, %Y/%m/%d)# Filter data for the given product and dateproduct_df df[(df[Product] product) (df[Date] input_date)].copy()# Extract and normalize sales datasales product_df[nums].values.reshape(-1, 1)scaler MinMaxScaler(feature_range(0, 1))sales_scaled scaler.fit_transform(sales)# Prepare the input sequence for predictioninput_sequence sales_scaled[-10:].reshape(1, 10, 1)# Make predictionspredicted_sales_scaled model.predict(input_sequence)# Inverse transform to get the actual sales valuespredicted_sales scaler.inverse_transform(predicted_sales_scaled)return predicted_sales[0, 0]# Example usage product_name example_product prediction_date 2023/11/20 predicted_sales predict_sales(product_name, prediction_date) print(fPredicted Sales for {product_name} on {prediction_date}: {predicted_sales}) 在上述代码中train_and_save_model.py 文件用于训练模型并保存而 load_and_predict_model.py 文件用于加载保存的模型并进行预测。在 load_and_predict_model.py 中可以通过调用 predict_sales 函数来得到指定商品在指定日期的销售预测。
http://wiki.neutronadmin.com/news/134561/

相关文章:

  • 移动通信网站建设wordpress侧栏弹窗登录
  • 企业网站代码中国互联网协会官方网站
  • icp备案在哪里查询图片类网站 怎么做优化
  • 深圳做微商网站设计免费软件看电视剧
  • 做网站用别人的模板是侵权吗新手学做网站电子版
  • 番禺人才网上seo优化工具的种类
  • 深色网站如何防止网站被盗
  • 做什么网站比较简单中企动力百度百科
  • 人事处网站开发文献综述做跨境电商需要多少钱
  • 响应式网站开发现状松江微网站建设
  • we建站公众号开发收费价目表
  • 网站页面布局图片网站的权限设置
  • 网站建设中招聘页面源码成都全网推广哪家专业
  • 辽宁建设工程信息网站有哪些网站用mysql
  • 廊坊网站排名优化报价咖啡网站设计建设
  • 科讯cms制作网站完整教程国内网站建设需要多少钱
  • 宁波网站建设网站杭州滨江网站开发
  • 七台河做网站网站建设公司代理商
  • 什么网站做h5做得好济南公司网站推广优化最大的
  • 广州模板建站哪家好深圳就会制作
  • 广州产品网站设计网站中文名
  • 永州市住房和城乡建设局网站如何注册一个免费域名
  • 描述建设网站的一个具体步骤建筑材料采购网站
  • 网站域名做链接怎么做官方网站想反应问题不弄应该怎么做
  • 丹东淘宝做网站北京南站地铁几号线
  • 株洲做网站公司wordpress 含演示数据库
  • 涪陵网站制作goland 网站开发
  • 网站的交互性google网站登陆模板
  • 电商网站的好处企业官网模板站
  • 手机网站html代码怎么做淘宝客网站