相关疑难解决方法(0)

scikit-learn:如何以百分比计算均方根误差(RMSE)?

我有以下格式的数据集(在此链接中找到:https : //drive.google.com/open?id=0B2Iv8dfU4fTUY2ltNGVkMG05V00)。

 time     X   Y
0.000543  0  10
0.000575  0  10
0.041324  1  10
0.041331  2  10
0.041336  3  10
0.04134   4  10
  ...
9.987735  55 239
9.987739  56 239
9.987744  57 239
9.987749  58 239
9.987938  59 239
Run Code Online (Sandbox Code Playgroud)

数据集中的第三列(Y)是我的真实值-这就是我想要预测(估计)的值。我想做一个预测Y(即Y根据的前100个滚动值来预测的当前值X。为此,我python使用编写以下脚本random forest regression model

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""

@author: deshag
"""

import pandas as pd
import numpy as np
from io import StringIO
from …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas random-forest scikit-learn

4
推荐指数
1
解决办法
3万
查看次数

python中的MAPE计算

我想计算预测值和真值的平均绝对百分比误差(MAPE).我从这里找到了一个解决方案,但是这会给出错误并在行中显示无效的语法mask = a <> 0

    def mape_vectorized_v2(a, b): 
    mask = a <> 0
    return (np.fabs(a - b)/a)[mask].mean() 

   def mape_vectorized_v2(a, b): 
       File "<ipython-input-5-afa5c1162e83>", line 1
         def mape_vectorized_v2(a, b):
                                       ^
     SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud)

我正在使用spyder3.我的预测值是类型np.array,真值是数据帧

type(predicted)
Out[7]: numpy.ndarray
type(y_test)
Out[8]: pandas.core.frame.DataFrame
Run Code Online (Sandbox Code Playgroud)

如何清除此错误并继续进行MAPE计算?

编辑:

predicted.head()
Out[22]: 
   Total_kWh
0   7.163627
1   6.584960
2   6.638057
3   7.785487
4   6.994427

y_test.head()
Out[23]: 
     Total_kWh
79         7.2
148        6.7
143        6.7
189        7.2
17         6.4

np.abs(y_test[['Total_kWh']] - predicted[['Total_kWh']]).head()
Out[24]: 
   Total_kWh
0        NaN
1        NaN …
Run Code Online (Sandbox Code Playgroud)

python numpy python-3.x pandas spyder

4
推荐指数
3
解决办法
2万
查看次数