【问题标题】:How can following function implemented in order to caluclate accuracy?如何实现以下功能以计算准确性?
【发布时间】:2020-05-26 15:59:42
【问题描述】:

我有一个数据集,我需要使用以下公式评估我的模型-

For each symbol calculate:
X = Median of  (predicted_price-close_price)/close_price

Final_accuracy = Average of X

数据集中的符号特征由 785 个唯一的分类值组成,我已使用 LabelEncoder 将其转换为数字值。我已经建立了一个模型并对测试集进行了预测,我需要评估我的模型的性能。如何编写一个函数来评估我的模型性能? 数据集 -

   symbol   date_txn  close_price  predicted_price  txn_year  txn_month  \
0       0 2014-12-02        47.55            47.93      2014         12   
1       0 2014-12-03        47.93            49.33      2014         12   
2       0 2014-12-04        49.33            50.68      2014         12   
3       0 2014-12-05        50.68            50.50      2014         12   
4       0 2014-12-08        50.50            48.00      2014         12   

   txn_week  txn_day  txn_dayofweek  
0        49        2              1  
1        49        3              2  
2        49        4              3  
3        49        5              4  
4        50        8              0 

符号特征-

0            0
1            0
2            0
3            0
4            0

1048570    784
1048571    784
1048572    784
1048573    784
1048574    784
Name: symbol, Length: 1048575, dtype: int64

【问题讨论】:

    标签: python


    【解决方案1】:

    样本df:

        symbol  date_txn    close_price predicted_price  txn_year    txn_month
    0   1       2014-12-02  47.55       47.93            2014        12
    1   0       2014-12-03  47.93       49.33            2014        12
    2   1       2014-12-04  49.33       50.68            2014        12
    3   2       2014-12-05  50.68       50.50            2014        12
    4   2       2014-12-08  50.50       48.00            2014        12
    

    您可以像这样应用您的公式:

    def formula(x):
        return np.median((x.predicted_price - x.close_price)/x.close_price)
    
    x = df.groupby(['symbol']).apply(formula)
    print(np.mean(x))
    

    x:

    symbol
    0    0.029209
    1    0.017679
    2   -0.026528
    dtype: float64
    

    输出:

    0.006786696895188317
    

    【讨论】:

      猜你喜欢
      • 2016-02-22
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2016-03-09
      • 1970-01-01
      • 2019-02-14
      相关资源
      最近更新 更多