我实施了一个随机森林算法来预测某些东西。 算法后的我的数据库表:
id order order_forecast
-----------------------------------------------
1 yes yes
2 yes no
3 no yes
4 no no
5 yes yes
6 no yes
7 yes no
8 yes yes
9 yes yes
现在我想创建一种四重表来检查随机森林是否正确。
e.g。
yes no
-------------------------------
yes | 4 2
no | 2 1
Correct classified: 5
Wrong classified: 4
Accuracy: 55,55%
Error: 44,44%
有任何功能或任何简短的方法吗? 正如我所说我正在使用浏览器界面,我不知道我正在使用哪个DBMS,但我发现窗口函数正在运行。
答案 0 :(得分:0)
如果您有桌子,那么:
select order, order_forecast, count(*)
from results r
group by order, order_forecast;
这会产生四行而不是两行。然后,您可以在应用程序中执行其他计算。
要获取特定格式的数据,请使用:
select order,
sum(case when order_forecast = 'yes' then 1 else 0 end) as yes,
sum(case when order_forecast = 'no' then 1 else 0 end) as no
from results
group by order;
或直接获得正确性:
select order,
sum(case when order_forecast = order then 1 else 0 end) as correct,
sum(case when order_forecast = order then 0 else 1 end) as incorrect
from results
group by order;
注意order
是一个非常糟糕的列名,因为它是一个SQL关键字。