最近在做算法研发工作,要测试算法的实际效果。得到一点经验,在此分享给算法“新人”。
通常的做法是,针对一个项目,设定条件,调用数据库里面该项目的数据,跑一下算法,看下这个项目的效果怎样。如果这个项目效果好,那就稍微兴奋一下。下一次又碰到一个效果不好的,就又失落一下。如此反复的工作,不仅耗时令人厌倦,而且很难从整体上把握算法。
这时候,可以考虑将测试条件代码化,用while或for循环,一次性测试一个数据库中所有项目,将每个项目的结果打印到Excel或txt中。可以在另一台机器上,或者很多机器上去跑。这样,不仅节约出人力,而且能够得出统计结果,从统计意义上说明算法究竟是不是真的达到了期望的效果。而且很多时候,可以意外地得出其他统计意义上的结论。
结论:对于追求效率的人来讲, “重复性”的工作很多都是可以避免的,只是缺乏一个有效的工具。