计算数据集的准确性

学习_2_代码:

我有两个表(X和Y),例如将一个足球运动员映射到一个团队。表X中的数据可靠,但我不确定表Y中数据的可靠性。表X有3,000行,表Y有1,000行。通过使用表Y中的数据作为真值集或超集,如何计算表Y中的映射的准确性?

表X

PlayerID   | Name      | Team
007        | Sancho    | Dortmund
010        | Messi     | Barcelona
011        | Werner    | Chelsea
001        | De Gea    | Man Utd
009        | Lewan..ki | Bayern Mun
006        | Pogba     | Man Utd
017        | De Bruyne | Man City
029        | Harvertz  | Chelsea
005        | Upamecano | Leipzig

表Y

PlayerID.   |Name      | Team
010         | Messi    | Man City
007         | Sancho   | Man Utd
006         | Pogba    | Man Utd
017         | De Bruyne| Man City
011         | Werner   | Liverpool
006         | Pogba    | Real Madrid

根据表X,我们可以看到只有玩家ID 006和017是正确的。但是玩家ID 006由于映射到两个不同的团队而部分准确。

专线小巴:

您可以left join并使用条件逻辑来计算精度。

在MySQL中,您可以这样表达:

select avg(y.playerID is not null) as accuracy_ratio
from x
left join y 
    on  y.playerID = x.playerID
    and y.name     = x.name
    and y.team     = x.team

这将为您提供介于0之间的值1,该表示准确率(如果需要百分比,可以将其乘以100)。

请注意,这playerID是以某种方式假定唯一标识两个表中的记录的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章