我实现了一种随机的森林算法来预测某些内容。算法之后的DB表:
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
现在,我想创建某种四倍的表来检查随机森林是否正确。
例如。
yes no
-------------------------------
yes | 4 2
no | 2 1
Correct classified: 5
Wrong classified: 4
Accuracy: 55,55%
Error: 44,44%
是否有任何功能或有任何短暂的方法?正如我说的那样,我正在使用浏览器界面,我不知道我正在使用哪个DBM,但是我发现窗口函数正在起作用。
如果您有表格,则:
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键字。