我有一个像这样的数据集。
ID BRAND_NAME PRICE COLOR ACTUAL PREDICTED MAPE ACCURACY
1 mjjk 657 Black 0 1 0 1
1 mjjk 657 Black 1 1 0 1
我希望按数据集按ID分组,并使其如下所示:
ID BRAND_NAME PRICE COLOR ACTUAL PREDICTED MAPE ACCURACY
1 mjjk 657 Black 1 2 1 0
我正在尝试计算我在python中预测的MAPE (https://en.wikipedia.org/wiki/Mean_absolute_percentage_error ),我遇到了一个问题。基本上,我想比较不同月份的MAPE。为了更好地理解,我在excel表格中建立了我想要做什么的想法(见截图)。 我写了两个循环,可以做到这一点: #Mape0
for i in range(0,100000):
ent = {}
n = 0
for bv,dv in zip(b[i-6:i], d[i-6:i]):
n+=abs(1-bv/dv)
我需要一个MAPE函数,但是我在标准包中找不到它……下面是我对这个函数的实现。
def mape(actual, predict):
tmp, n = 0.0, 0
for i in range(0, len(actual)):
if actual[i] <> 0:
tmp += math.fabs(actual[i]-predict[i])/actual[i]
n += 1
return (tmp/n)
我不喜欢它,它在速度上并不是最优的。如何重写代码,使其更具Pythonic风格,并提高速
我刚开始在R中编程,但我正在努力学习并行计算和foreach的使用。
尽管如此,在我的例子中,我需要循环各种可能性的组合,以找到最佳的MAPE和与其相关的最佳变量。
我开始做嵌套的for循环,但是对于180 k行,并试图找到3个变量的最佳组合,它连续运行了2天,但没有停止。
这只是两个变量的代码,但我认为您可以理解逻辑。
for (i in names(df3)) {
for (j in names(df3)) {
name4 = names(df3["DiasAusencia"])
if (i != name4 && j != name4 &am
我有两个时间序列。一个是预测的,另一个是原创的。为了计算预测精度,我想计算MAPE(平均绝对百分比误差)。
平均绝对百分比误差(MAPE),也称为平均绝对百分比偏差(MAPD),是统计学中预测方法预测精度的度量,例如在趋势估计中。它通常以百分比表示准确率,并由公式定义:
我在MATLAB中这样做如下所示:
function m = mape(testY, pred)
% Compute mean absolute percent error
%
% m = mape(actual, pred)
%
% actual is a column vector of actual value
我被困在一个问题上,我认为这应该是直截了当的。问题是,我有一个函数,我想要应用到我的数据文件的两个列。但我收到一个错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
让你知道我想做什么:
# Calculate the accuracy
def mape(actual,pred):
if actual == 0:
if pred == 0:
return 0
else:
retur
我正在尝试同时循环几个列表。但是,我使用了几个for循环来达到预期的结果。我想知道是否有更好、更有效的方法来做到这一点。
这是我的代码
for (i in list(3,6)){
for (n in list("rmse.","mape.", "mpe.")){
for (b in list("base.", "rev.")){
a <- paste0(b, "fcst")
c <- paste0(n, a)
x <- paste0(
我在一个列表中有两个数据帧,我的意思是'Intraday_Mape‘和'Day_Ahead_Mape’都是数据帧。这些数据帧包含每小时的数据,但我想将它们更改为每月的数据。当我这样做的时候,我想使用for循环,因为我将来会处理更多的数据帧。 report_dfs = [Intraday_Mape, Day_Ahead_Mape]
for i, _ in enumerate(report_dfs):
report_dfs[i]=report_dfs[i].index.name = 'Date'
report_dfs[i]=report_dfs[
我准备了一份数据文件,看起来如下:
+------------+--------+-----------+
| Date | Actual | Predicted |
+------------+--------+-----------+
| 2020-01-01 | XX | XX |
+------------+--------+-----------+
| 2020-01-02 | XX | XX |
+------------+--------+-----------+
| 2020-01-03 | XX | XX