首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在从表directly.Write中获取数据时获取RMSE分数

在从表directly.Write中获取数据时获取RMSE分数
EN

Stack Overflow用户
提问于 2019-03-17 15:33:26
回答 1查看 2K关注 0票数 2

我在数据库中有一个表,其中有许多功能,每个功能都有它自己的实际值和预测值,我们有两个更多的列,这是Id_partner和Id_accounts.My的主要目标是获得每个合作伙伴中的每个帐户的每个功能的均方根分数,我已经做了,但它是地狱的时间来完成在PySpark中有一个有效的方法,直接与查询的帮助,同时读取数据,只有这样,我得到了每个帐户在每个合作伙伴的均方根分数。我的桌子是这样的

Actual_Feature_1 = Act_F_1  
Predicted_Feature_1 = Pred_F_1  
Actual_Feature_1 = Act_F_2  
Predicted_Feature_1 = Pred_F_2  

表1:

ID_PARTNER | ID_ACCOUNT | Act_F_1 | Pred_F_1 | Act_F_2 | Pred_F_2 |  
     4     |    24      |   10    |    12    |   22    |    20    |  
     4     |    24      |   11    |    13    |   23    |    21    |  
     4     |    24      |   11    |    12    |   24    |    23    |  
     4     |    25      |   13    |    15    |   22    |    20    |  
     4     |    25      |   15    |    12    |   21    |    20    |  
     4     |    25      |   15    |    14    |   21    |    21    |  
     4     |    27      |   13    |    12    |   35    |    32    |  
     4     |    27      |   12    |    16    |   34    |    31    |  
     4     |    27      |   17    |    14    |   36    |    34    |  
     5     |    301     |   19    |    17    |   56    |    54    |  
     5     |    301     |   21    |    20    |   58    |    54    |  
     5     |    301     |   22    |    19    |   59    |    57    |  
     5     |    301     |   24    |    22    |   46    |    50    |  
     5     |    301     |   25    |    22    |   49    |    54    |  
     5     |    350     |   12    |    10    |   67    |    66    |  
     5     |    350     |   12    |    11    |   65    |    64    |  
     5     |    350     |   14    |    13    |   68    |    67    |  
     5     |    350     |   15    |    12    |   61    |    61    |  
     5     |    350     |   12    |    10    |   63    |    60    |  
     7     |    420     |   51    |    49    |   30    |    29    |  
     7     |    420     |   51    |    48    |   32    |    30    |  
     7     |    410     |   49    |    45    |   81    |    79    |  
     7     |    410     |   48    |    44    |   83    |    80    |  
     7     |    410     |   45    |    43    |   84    |    81    |

我需要此格式中每个合作伙伴的每个帐户的RMSE分数

结果表:

ID_PARTNER | ID_ACCOUNT |  FEATURE_1  |  FEATURE_2  |  
    4      |     24     | rmse_score  | rmse_score  |  
    4      |     25     | rmse_score  | rmse_score  |  
    4      |     27     | rmse_score  | rmse_score  |  
    5      |     301    | rmse_score  | rmse_score  |  
    5      |     350    | rmse_score  | rmse_score  |  
    7      |     420    | rmse_score  | rmse_score  |  
    7      |     410    | rmse_score  | rmse_score  |  

注意:对于这一点,我们需要同时考虑id_account和id_partner,通过查看上表,即我们看到的实际表格,id_accounts可以仅用于获取rmse,但不同的id_partner可以具有与其他合作伙伴相同的帐户。我需要一个SQL查询,它直接提供结果表,同时从数据库中读取表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-18 09:07:30

可以,您可以在SQL中计算均方根误差。

SELECT ID_PARTNER, ID_ACCOUNT
  , SQRT(Avg( POWER(Act_F_1 - Pred_F_1 , 2) ) ) as feature_1_rmse
FROM ...
GROUP BY ID_PARTNER, ID_ACCOUNT
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55204822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档