如何对销售额进行预测?

Excel数据分析案例二——预测销售额 Excel数据分析案例二——预测销售额①算术平均法②加权平均法③移动平均法④加权移动平均法⑤回归预测法⑥业务分析法总结 题目:现有某商场2020年1-9月实际销售额数据,需要预测10月销售额数据,以便制定10月目标,数据如下 ①算术平均法 计算1~9月的算术平均数即可 =AVERAGE(B4:J4) ②加权平均法 距离10月越近的数字是越有价值的,所以要对每个月的销售额进行加权平均计算,先在单元格中加入权重值,再用函数进行计算 =SUM(B6:J6)/SUM(B5:J5) 或者直接使用SUMPROD 阅读详情

来源:DeepHub IMBA

大家经常会遇到一些需要预测的场景,比如预测品牌销售额,预测产品销量。

今天给大家分享一波使用 LSTM 进行端到端时间序列预测的完整代码和详细解释。

我们先来了解两个主题:

  • 什么是时间序列分析?

  • 什么是 LSTM?

时间序列分析:时间序列表示基于时间顺序的一系列数据。它可以是秒、分钟、小时、天、周、月、年。未来的数据将取决于它以前的值。

在现实世界的案例中,我们主要有两种类型的时间序列分析:

  • 单变量时间序列

  • 多元时间序列

对于单变量时间序列数据,我们将使用单列进行预测。

be33951de0dc547cf9246c96089cc816.png

正如我们所见,只有一列,因此即将到来的未来值将仅取决于它之前的值。

但是在多元时间序列数据的情况下,将有不同类型的特征值并且目标数据将依赖于这些特征。

e68efe78c95430d4030f8d2e8e1430f2.png

正如在图片中看到的,在多元变量中将有多个列来对目标值进行预测。(上图中“count”为目标值)

在上面的数据中,count不仅取决于它以前的值,还取决于其他特征。因此,要预测即将到来的count值,我们必须考虑包括目标列在内的所有列来对目标值进行预测。

在执行多元时间序列分析时必须记住一件事,我们需要使用多个特征预测当前的目标,让我们通过一个例子来理解:

在训练时,如果我们使用 5 列 [feature1, feature2, feature3, feature4, target] 来训练模型,我们需要为即将到来的预测日提供 4 列 [feature1, feature2, feature3, feature4]。

LSTM

本文中不打算详细讨论LSTM。所以只提供一些简单的描述,如果你对LSTM没有太多的了解,可以参考我们以前发布的文章。

LSTM基本上是一个循环神经网络,能够处理长期依赖关系。

假设你在看一部电影。所以当电影中发生任何情况时,你都已经知道之前发生了什么,并且可以理解因为过去发生的事情所以才会有新的情况发生。RNN也是以同样的方式工作,它们记住过去的信息并使用它来处理当前的输入。RNN的问题是,由于渐变消失,它们不能记住长期依赖关系。因此为了避免长期依赖问题设计了lstm。

现在我们讨论了时间序列预测和LSTM理论部分。让我们开始编码。

让我们首先导入进行预测所需的库:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM
from tensorflow.keras.layers import Dense, Dropout
from sklearn.preprocessing import MinMaxScaler
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.model_selection import GridSearchCV

加载数据,并检查输出:

df=pd.read_csv("train.csv",parse_dates=["Date"],index_col=[0])
df.head()

b1caa19c38f75246d2bf92a2bb657323.png

df.tail()

现在让我们花点时间看看数据:csv文件中包含了谷歌从2001-01-25到2021-09-29的股票数据,数据是按照天数频率的。

[如果您愿意,您可以将频率转换为“B”[工作日]或“D”,因为我们不会使用日期,我只是保持它的现状。]

这里我们试图预测“Open”列的未来值,因此“Open”是这里的目标列。

让我们看一下数据的形状:

df.shape
(5203,5)

现在让我们进行训练测试拆分。这里我们不能打乱数据,因为在时间序列中必须是顺序的。

test_split=round(len(df)*0.20)
df_for_training=df[:-1041]
df_for_testing=df[-1041:]
print(df_for_training.shape)
print(df_for_testing.shape)


(4162, 5)
(1041, 5)

可以注意到数据范围非常大,并且它们没有在相同的范围内缩放,因此为了避免预测错误,让我们先使用MinMaxScaler缩放数据。(也可以使用StandardScaler)

scaler = MinMaxScaler(feature_range=(0,1))
df_for_training_scaled = scaler.fit_transform(df_for_training)
df_for_testing_scaled=scaler.transform(df_for_testing)
df_for_training_scaled

920e5d83f92d6154d14177e476ec8533.png

将数据拆分为X和Y,这是最重要的部分,正确阅读每一个步骤。

def createXY(dataset,n_past):
  dataX = []
  dataY = []
  for i in range(n_past, len(dataset)):
          dataX.append(dataset[i - n_past:i, 0:dataset.shape[1]])
          dataY.append(dataset[i,0])
  return np.array(dataX),np.array(dataY)


trainX,trainY=createXY(df_for_training_scaled,30)
testX,testY=createXY(df_for_testing_scaled,30)

让我们看看上面的代码中做了什么:

N_past是我们在预测下一个目标值时将在过去查看的步骤数。

这里使用30,意味着将使用过去的30个值(包括目标列在内的所有特性)来预测第31个目标值。

因此,在trainX中我们会有所有的特征值,而在trainY中我们只有目标值。

让我们分解for循环的每一部分:

对于训练,dataset = df_for_training_scaled, n_past=30

当i= 30:

data_X.addend (df_for_training_scaled[i - n_past:i, 0:df_for_training.shape[1]])

从n_past开始的范围是30,所以第一次数据范围将是-[30 - 30,30,0:5] 相当于 [0:30,0:5]

因此在dataX列表中,df_for_training_scaled[0:30,0:5]数组将第一次出现。

现在, dataY.append(df_for_training_scaled[i,0])

i = 30,所以它将只取第30行开始的open(因为在预测中,我们只需要open列,所以列范围仅为0,表示open列)。

第一次在dataY列表中存储df_for_training_scaled[30,0]值。

所以包含5列的前30行存储在dataX中,只有open列的第31行存储在dataY中。然后我们将dataX和dataY列表转换为数组,它们以数组格式在LSTM中进行训练。

我们来看看形状。

print("trainX Shape-- ",trainX.shape)
print("trainY Shape-- ",trainY.shape)


(4132, 30, 5)
(4132,)


print("testX Shape-- ",testX.shape)
print("testY Shape-- ",testY.shape)


(1011, 30, 5)
(1011,)

4132 是 trainX 中可用的数组总数,每个数组共有 30 行和 5 列, 在每个数组的 trainY 中,我们都有下一个目标值来训练模型。

让我们看一下包含来自 trainX 的 (30,5) 数据的数组之一 和 trainX 数组的 trainY 值:

print("trainX[0]-- \n",trainX[0])
print("trainY[0]-- ",trainY[0])

597b42e364c2b8c75f427f98d55df876.png

如果查看 trainX[1] 值,会发现到它与 trainX[0] 中的数据相同(第一列除外),因为我们将看到前 30 个来预测第 31 列,在第一次预测之后它会自动移动 到第 2 列并取下一个 30 值来预测下一个目标值。

让我们用一种简单的格式来解释这一切:

trainX — — →trainY


[0 : 30,0:5] → [30,0]


[1:31, 0:5] → [31,0]


[2:32,0:5] →[32,0]

像这样,每个数据都将保存在 trainX 和 trainY 中。

现在让我们训练模型,我使用 girdsearchCV 进行一些超参数调整以找到基础模型。

def build_model(optimizer):
  grid_model = Sequential()
  grid_model.add(LSTM(50,return_sequences=True,input_shape=(30,5)))
  grid_model.add(LSTM(50))
  grid_model.add(Dropout(0.2))
  grid_model.add(Dense(1))


grid_model.compile(loss = 'mse',optimizer = optimizer)
  return grid_modelgrid_model = KerasRegressor(build_fn=build_model,verbose=1,validation_data=(testX,testY))


parameters = {'batch_size' : [16,20],
            'epochs' : [8,10],
            'optimizer' : ['adam','Adadelta'] }


grid_search = GridSearchCV(estimator = grid_model,
                          param_grid = parameters,
                          cv = 2)

如果你想为你的模型做更多的超参数调整,也可以添加更多的层。但是如果数据集非常大建议增加 LSTM 模型中的时期和单位。

在第一个 LSTM 层中看到输入形状为 (30,5)。它来自 trainX 形状。

(trainX.shape[1],trainX.shape[2]) → (30,5)

现在让我们将模型拟合到 trainX 和 trainY 数据中。

grid_search = grid_search.fit(trainX,trainY)

由于进行了超参数搜索,所以这将需要一些时间来运行。

你可以看到损失会像这样减少:

181c7e37c31f207d90326b95fee3f78b.png

现在让我们检查模型的最佳参数。

grid_search.best_params_


{‘batch_size’: 20, ‘epochs’: 10, ‘optimizer’: ‘adam’}

将最佳模型保存在 my_model 变量中。

my_model=grid_search.best_estimator_.model

现在可以用测试数据集测试模型。

prediction=my_model.predict(testX)
print("prediction\n", prediction)
print("\nPrediction Shape-",prediction.shape)

5686ce4837189dcbc68e35493e5f002f.png

testY 和 prediction 的长度是一样的。现在可以将 testY 与预测进行比较。

但是我们一开始就对数据进行了缩放,所以首先我们必须做一些逆缩放过程。

scaler.inverse_transform(prediction)

报错了,这是因为在缩放数据时,我们每行有 5 列,现在我们只有 1 列是目标列。

所以我们必须改变形状来使用 inverse_transform:

prediction_copies_array = np.repeat(prediction,5, axis=-1)

5 列值是相似的,它只是将单个预测列复制了 4 次。所以现在我们有 5 列相同的值 。

prediction_copies_array.shape
(1011,5)

这样就可以使用 inverse_transform 函数。

pred=scaler.inverse_transform(np.reshape(prediction_copies_array,(len(prediction),5)))[:,0]

但是逆变换后的第一列是我们需要的,所以我们在最后使用了 → [:,0]。

现在将这个 pred 值与 testY 进行比较,但是 testY 也是按比例缩放的,也需要使用与上述相同的代码进行逆变换。

original_copies_array = np.repeat(testY,5, axis=-1)
original=scaler.inverse_transform(np.reshape(original_copies_array,(len(testY),5)))[:,0]

现在让我们看一下预测值和原始值:

print("Pred Values-- " ,pred)
print("\nOriginal Values-- " ,original)

f2e085792f5995f02fc5d6b5b2813c17.png

最后绘制一个图来对比我们的 pred 和原始数据。

plt.plot(original, color = 'red', label = 'Real Stock Price')
plt.plot(pred, color = 'blue', label = 'Predicted Stock Price')
plt.title('Stock Price Prediction')
plt.xlabel('Time')
plt.ylabel('Google Stock Price')
plt.legend()
plt.show()

ac8fb3d1178f056c80c7632d9a19c070.png

看样子还不错,到目前为止,我们训练了模型并用测试值检查了该模型。现在让我们预测一些未来值。

从主 df 数据集中获取我们在开始时加载的最后 30 个值[为什么是 30?因为这是我们想要的过去值的数量,来预测第 31 个值]

df_30_days_past=df.iloc[-30:,:]
df_30_days_past.tail()

bc3567ff4605c81841fba4afc7ce18b1.png

可以看到有包括目标列(“Open”)在内的所有列。现在让我们预测未来的 30 个值。

在多元时间序列预测中,需要通过使用不同的特征来预测单列,所以在进行预测时我们需要使用特征值(目标列除外)来进行即将到来的预测。

这里我们需要“High”、“Low”、“Close”、“Adj Close”列的即将到来的 30 个值来对“Open”列进行预测。

df_30_days_future=pd.read_csv("test.csv",parse_dates=["Date"],index_col=[0])
df_30_days_future

5990895a887c66023bb6d33123e2312a.png

剔除“Open”列后,使用模型进行预测之前还需要做以下的操作:

缩放数据,因为删除了‘Open’列,在缩放它之前,添加一个所有值都为“0”的Open列。

缩放后,将未来数据中的“Open”列值替换为“nan”

现在附加 30 天旧值和 30 天新值(其中最后 30 个“打开”值是 nan)

df_30_days_future["Open"]=0
df_30_days_future=df_30_days_future[["Open","High","Low","Close","Adj Close"]]
old_scaled_array=scaler.transform(df_30_days_past)
new_scaled_array=scaler.transform(df_30_days_future)
new_scaled_df=pd.DataFrame(new_scaled_array)
new_scaled_df.iloc[:,0]=np.nan
full_df=pd.concat([pd.DataFrame(old_scaled_array),new_scaled_df]).reset_index().drop(["index"],axis=1)

full_df  形状是 (60,5),最后第一列有 30 个 nan 值。

要进行预测必须再次使用 for 循环,我们在拆分 trainX 和 trainY 中的数据时所做的。但是这次我们只有 X,没有 Y 值。

full_df_scaled_array=full_df.values
all_data=[]
time_step=30
for i in range(time_step,len(full_df_scaled_array)):
  data_x=[]
  data_x.append(
    full_df_scaled_array[i-time_step :i , 0:full_df_scaled_array.shape[1]])
  data_x=np.array(data_x)
  prediction=my_model.predict(data_x)
  all_data.append(prediction)
  full_df.iloc[i,0]=prediction

对于第一个预测,有之前的 30 个值,当 for 循环第一次运行时它会检查前 30 个值并预测第 31 个“Open”数据。

当第二个 for 循环将尝试运行时,它将跳过第一行并尝试获取下 30 个值 [1:31] 。这里会报错错误因为Open列最后一行是 “nan”,所以需要每次都用预测替换“nan”。

最后还需要对预测进行逆变换:

new_array=np.array(all_data)
new_array=new_array.reshape(-1,1)
prediction_copies_array = np.repeat(new_array,5, axis=-1)
y_pred_future_30_days = scaler.inverse_transform(np.reshape(prediction_copies_array,(len(new_array),5)))[:,0]
print(y_pred_future_30_days)

2eca65d70c559050b881696f14e9a9c9.png

这样一个完整的流程就已经跑通了。

如果你想看完整的代码,可以在这里查看:

https://github.com/sksujan58/Multivariate-time-series-forecasting-using-LSTM

作者:Sksujanislam

觉得还不错就给我一个小小的鼓励吧!
销售预测该怎么做? 产销协调计划(Sales&OperationsPlaning),是供应链的优化的核心,现在大多数企业采用的是S&OP概念创始人OliverWight提出的执行模式以及其升级模式——IBP(IntegratedBusiness Planning),该模式核心在于将需求和供应分别计划然后统一协调,基于需求预测,需求计划与供应计划进行协调指导采购、备料与生产。   按照传统计划模... 阅读详情

相关推荐

基于线性回归的广告投入销售额预测

基于线性回归的广告投入销量预测 前言 学习机器学习算法最好的方法就是实战,因此笔者将利用网上的数据资源进行实践,并将实现过程与结果记录于博客中,积累实战经验,从今天开始更新。 一般学习的第一个算法模型就是经典线性模型了,因此本文将从经典线性模型开始! 基于线性回归的广告投入销量预测 某销售公司为了查找某产品的销售额与电视广告投入、收音机广告投入、报纸广告投入之间的关系,提供了过往历史数据请求进行分...

蓝天翔的博客 1万+

使用 LSTM 进行多变量时间序列预测

使用 LSTM 进行端到端时间序列预测的完整代码和详细解释。 在本文中我们将使用深度学习方法 (LSTM) 执行多元时间序列预测。 我们先来了解两个主题—— 什么是时间序列分析? 什么是 LSTM? 时间序列分析:时间序列表示基于时间顺序的一系列数据。 它可以是秒、分钟、小时、天、周、月、年。 未来的数据将取决于它以前的值。 在现实世界的案例中,我们主要有两种类型的时间序列分析—— 单变量时间序列 多元时间序列 对于单变量时间序列数据,我们将使用单列进行预测。 正如我们所见,只有一列,因此即将到来

deephub 7万+

便宜蜂销售额SPSS预测

背景介绍: 一家新零售连锁便利店“便宜蜂”,凭借其出色的选址分析和精准的算法推荐,通过数据高效驱动门店经营,已经成为近几年营业额增长最快的便利店。便宜蜂为了确定整个集团未来的额增长计划,需要建立一个数据平台,这个平台能够使它可以提前一年预测今后每个月的销售额。 数据分析如下: 1:绘制时间序列图 2:观察过去三年销售额时间序列图,总结销售额变化特点和规律 过去三年销售额呈季节性变化,秋冬季的销售额普遍高于春夏季的销售额,其中1月份销售额最高、9月份销售额最低。

weixin_55759540的博客 2172

预测销售量

前提 #认为天猫销量和年份之间存在一定函数关系 导包 import numpy as np import matplotlib.pyplot as plt %matplotlib inline 对年份进行处理 years = np.arange(2009,2020) years sales = np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135,2684]) sales plt.scatter(years,sales,c = 'red',

weixin_45540546的博客 984

小红书销售额预测模型-线性回归

数据: 数据链接 提取码: j4cd 仅作为自己学习数据分析的过程记录 1.指标解释 revenue :用户的下单购买金额 3rd_party_stores: 用户过往在app中从第三方商家购买的数量,0表示购买的自营产品 gender:男1 女0 空缺unkown age :年龄 空缺unkown engaged_last_30:最近30天在app上有参与重点活动 lifecycle :生命周期A:注册6个月内 B:一年内 C:两年内 days_since_last_order 最近一次下单距今的天数(小

weixin_45925478的博客 4792

预测分析之销售额预测——使用线性回归分析对企业销售额进行预测;

作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网行业的蓬勃发展,电子商务平台的火爆已经到了令人难以置信的程度。网络时代的到来,促使消费者开始以更便捷、更直观的方式获取产品和服务,而电商平台通过提供大量优惠券、满减活动、降价促销等方式吸引了越来越多的顾客进购商品,同时也让销售人员面临着成本节约和

AI天才研究院 2282

销售额预测_机器学习

#ARIMA #销售预测

qq_38782564的博客 3243

LSTM预测未来30天销售额

多特征输入与特征工程:代码在模型输入中不仅使用了销售额历史数据,还引入了温度和周数等辅助特征,并通过创建上周销售额的特征来增强模型的预测能力。这种多特征的方式增强了LSTM模型的表现,有效捕捉到了与销售额波动相关的多重因素。这种做法在处理复杂的时间序列预测任务时,能够更好地挖掘潜在的影响因子,提升预测精度。多步预测与序列化数据生成:项目中采用了多步序列预测,即通过过去30天的数据预测未来30天的销售额,而不仅仅是单步预测。这种多步预测使得模型能够在更长的时间范围内提供预测结果,增加了实际应用的价值。

1642

多元线性回归模型预测销售额

多元线性回归是线性回归的一种扩展形式,它涉及多个自变量(特征)与一个因变量之间的关系。advertising.csv文件是某商品的广告推广费用(单位为元)和销售额数据(单位为千元),其中每行代表每一周。使用 mean_squared_error 模块,计算计算均方误差回归损失,从而评估模型。其中 y 是预期销售额,x1~x4是对应推广费用,b是误差项。(1)淘宝: 200,抖音:100,小红书: 150。(2)淘宝: 300,抖音:150,小红书: 200。最终带入我们要预测的那几个数字,对销量进行预估。

qq_51118755的博客 2507

使用LSTM模型进行产品销售额的预测

通过本文的详细讨论可以看到,在产品销售额预测中应用线性回归和LSTM模型是一个多步骤的复杂过程,需要仔细的数据准备和精确的模型调整。从数据的加载和预处理到模型的训练和预测,每一步都至关重要。线性回归模型提供了一个基础的预测框架,而LSTM模型则以其在处理时间序列数据方面的优势,为预测提供了更深层次的见解。最终,通过将预测结果可视化,我们能够直观地理解模型性能,并将这些洞察应用于实际的商业策略中。这一过程不仅展示了现代数据科学在商业决策中的应用,也强调了数据驱动方法在未来商业环境中的重要性。

Mr数据杨 7287

数据集【LSTM模型预测时间序列】(根据历史销量数据预测商品未来销量)

LSTM模型预测时间序列:根据历史销量数据预测商品未来销量”的数据集 使用链接:https://blog.youkuaiyun.com/MacWx/article/details/134548578

作业——机器学习教你预测商品销售额

(一)作业要求 advertising.csv文件是某商品的广告推广费用(单位为元)和销售额数据(单位为千元),其中每行代表每一周的广告推广费用(包含微信、微博和其他类型三种广告费用)和销售额。若在未来的某两周,将各种广告投放金额按如下分配,请预测对应的商品销售额: (1)微信:100,微博:100,其他类型:100 (2)微信:200,微博:100,其他类型:50 另外,请提交对应的代码。若有对应的说明文档,也请提交。 (二)作业内容 对于这个实验,是机器学习中最常见的一类回归问题,通过已有的

少渊的博客 9727

【运筹学】什么是基变量?对于线性规划问题中“基”概念的理解(3月3日学习笔记)

在学习《线性规划与目标规划》的过程中,课程的主讲老师郭韧给出了对于基概念的定义如下图 图片来源:运筹学(中国大学mooc网) 由此我产生了几个疑惑:1.如何理解B是线性规划问题的一个基?2.为什么说最多有CnmC_n^mCnm​个基呢?     1.如何理解B是线性规划问题的一个基?1.如何理解B是线性规划问题的一个基?1.如何理解B是线性规划问题的一个基? 在回答第一个...

纸羊同学的博客 3万+

使用线性回归预测网店的销售额

已经把故去每周的广告投放金额和销售数据整理成一个Excel表格,并保存为advertising.csv文件(这是以逗号为分隔符的一种文件格式,比较容易被python读取)。基本上每周的各种广告投放金额和商品销售额都记录在案。过去每周的广告投放金额和商品销售额的清单(原始格式)这个重要的数据记录是实现本实验的机器学习项目的基础。微信公众号广告投放金额(下文中用"微信"代指)、微博广告投放金额(下文中用“微博”代指)、其他类型广告投放金额(下文用“其他”代指),这3个字段是特征(也是开店的人可以调整的)。

九灵猴君的博客 3177

PFC胶结模型实战:从线性到平行粘结的力学行为解析

本文深入解析了PFC中线性接触与平行粘结(pb模型)的核心差异与应用。平行粘结模型通过模拟胶结层的力学行为,能够有效传递拉力和抵抗弯矩,是模拟岩石、混凝土等胶结材料的关键。文章详细介绍了其变形与强度参数的设置、法向与切向行为的验证方法,并揭示了全量与增量力计算中易出现的“幽灵力”问题及其解决方案,为复杂模型的构建与调试提供了实用策略。

weixin_29230773的博客 1201

Flink SQL数据血缘实战:如何用Calcite追踪字段级数据流向(附源码示例)

本文深入探讨了如何利用Apache Calcite解析Flink SQL执行计划,实现字段级数据血缘的追踪。通过扩展Calcite的元数据处理器,特别是针对Flink特有的Snapshot等节点,文章提供了从获取优化后的逻辑计划到提取并可视化血缘关系的完整实战方案,并附有核心源码示例,帮助开发者构建实时数仓的数据治理能力。

weixin_29032337的博客 142

机器学习基础线性回归——预测网店的销售额

线性回归 步骤: 明确定义所要解决的问题——网店销售额的预测 在数据的收集与预处理环节,分五个环节完成数据的预处理工作,分别如下 (1)收集数据— 需要提供的网店的相关记录 (2)将收集到的数据可视化,显示出来看一看 (3)做特征工程,使数据更容易被机器处理 (4)拆分数据集为训练集和测试集 (5)做特征缩放,把数据值压缩到比较小的区间 选择机器学习的模型环节 (1)确定机器学习的算法——这里也就是线性回归算法 (2)确定线性回归算法的假设函数 (3)确定线性回归算法的损失函数 通过梯度下降训练机器,确定

sjjsaaaa的博客 9580

伪距单点定位算法原理以及利用最小二乘法计算实例

即该公式:建立下列代价函数满足最佳估值的条件为:即:可解得未知参数 X 的最佳估值由于每个可见卫星观测量的精度可能不一样,这时,需要对不同观测量赋予一个权重系数,称为加权。

qq_43381998的博客 1万+

时间序列预测(二)基于LSTM的销售额预测

基于LSTM的销售额预测

微信知乎搜索HsuHeinrich 1万+

cocos creator接入微信登陆sdk ios篇

cocos creator接入微信登陆sdk ios篇 背景已经在Android篇里面交代过了,有兴趣的朋友可以再看看Android篇 步骤 去微信开放平台下载ios平台所需要的sdk 在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id 在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin 将SDK文件中...

凤小鹿的博客 6362

【实战】LLaMA-Factory 如何做 LLM 的多轮对话微调

LLaMA-Factory 作为一个广受欢迎、易于使用的 LLM 微调框架,为开发者提供了便捷的途径来针对特定任务(包括多轮对话)优化模型。本文将深入探讨 LLaMA-Factory 如何支持多轮对话微调,涵盖其基本概念、数据准备、核心机制、评估方法等。简单来说,多轮对话是指包含两个或更多轮次(Turn)的交互过程,其中每一轮通常包含用户的一个输入和模型的一个输出。后续轮次的回应通常依赖于前面轮次的对话内容。模型需要理解并记忆对话历史。

kakaZhui的博客 1309

Python 多项式预测2019年天猫销售额

双十一刚过,天猫的销售额创新高占领了各大新闻媒体头条。但是,知乎上的一个问题对本次双十一的销售额提出了一个非常有意思的问题:《如何看待双十一销售额完美分布在三次回归曲线上且拟合高达 99.94%?是巧合还是造假?》 本文的重点放在如何用Python实现三次回归曲线的预测功能。 1.数据源 采用cnbeta新闻报道中的数据:《[直击]2019年天猫双11落幕:交易额2684亿元》 有效数字保留三位,其中2009年为0.52亿、2010年为9.36亿、2011年为52.0亿。 2.代码构建 我们将使用scik

Python实用宝典网 2465

结构力学本构模型:复合材料模型:复合材料热力学行为技术教程_2024-08-07_06-54-53.Tex

热塑性复合材料是一种由热塑性树脂基体和增强纤维组成的复合材料。与热固性复合材料不同,热塑性复合材料在加热时可以软化,冷却时硬化,这一过程可以重复进行,因此它们具有可回收和可再加工的特性。热塑性树脂,如聚酰胺(尼龙)、聚碳酸酯、聚醚醚酮(PEEK)等,与碳纤维、玻璃纤维等增强材料结合,可以制备出具有高强度、高刚度和良好耐热性的复合材料。热粘弹性理论是研究材料在温度变化和时间依赖性载荷作用下的变形和应力响应。复合材料,由于其独特的微观结构,展现出复杂的热粘弹性行为。

808

【机器学习】电商销售额预测实战

本文基于电商交易数据,通过矩阵分解方法实现客户-产品销售额预测。研究采用截断SVD和带偏置FunkSVD两种模型,构建了完整的数据分析流程:从数据清洗、特征可视化到模型训练评估。实验结果显示,FunkSVD(RMSE=256.52)相比截断SVD(RMSE=439.94)预测精度显著提升183.42。通过多维度可视化分析,验证了FunkSVD在误差分布和类别预测上的优势,为电商销售预测提供了有效的解决方案。

2401_84149564的博客 1343

js逆向实战:爬取淘宝男装商品

本文介绍了一个淘宝商品数据爬取程序的技术实现方案。该程序通过分析淘宝H5页面接口,实现了商品名称、价格、销量等关键信息的抓取,并支持图片下载功能。核心内容包括:1. 使用Request库发送HTTP请求获取数据;2. 通过逆向分析淘宝的签名算法(MD5加密)生成合法请求;3. 解析JSON数据并提取商品信息;4. 处理分页参数实现多页数据爬取;5. 将数据保存为CSV文件并下载商品图片。程序还实现了反爬虫绕过、错误处理、文件管理等辅助功能,完整展示了从数据采集到存储的全过程。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1572

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

改进广告投入与销售额预测分析

全流程自动化:用Scikit-learn管道实现标准化与建模一体化,流程规范,易于扩展。可解释性强:结合statsmodels输出详细统计量和置信区间,便于业务解读和风险评估。可视化直观:实际值、预测值及置信区间一目了然,便于沟通和决策。易于迁移升级:管道结构支持后续添加更多预处理或特征工程步骤,适应更复杂场景。

Love__Tay的博客 1184

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 深度学习再登Science:万物皆可做神经网络处理器,你甚至可以用锅碗瓢盆
下一篇: 实习生风采 · 贰 | 张倬胜同学:攻关「孟子」轻量化预训练模型
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值