首先,我觉得我要吐槽下,我觉得这篇文章有灌水嫌疑,先来看看文章中的新贡献:
1)首次使用了一个商业软件 ,based on Cisco project。并发现其他6个open source project的prediction performance更低,原因作者说是buggy rate too low,这就是imbalanced data的一个很好的点了。
2)另一个创新是change-leve classification,这里说change leve是code committed to a single file,我就有点疑问,难道一次commit不会可能涉及到多个files么?
3)验证了下,cross-validation是会有higher false precision的,因为其没有考虑到time sensitive的问题,即我们不能用future knowledge来预测过去的change是否buggy。
4)对于imbalanced data,提出一个解决方案用resampling或者updatable来处理,当然最后结果也不是太好,我想知道,这个好像只是对dataset进行扰动的过程,具体的分类方法用的啥来着?没仔细看,没发现作者说的。
5)最后,作者们搞出了几个lessons learned,其中有一些,可能让我觉得这不是是个人都觉得是根本不用在文中写出来的么的结论。几个lessons就是:
classification的results需要actionable,让developer convinced后然后去use它。然后一些模型的输出结果,往往explanation的能力太差,即对结果进行解释,有的完全没有说服力,比如这个code commit是Friday提交的所以是buggy的,这个虽然是model训练中重要的影响因素,但对developer理解相信结果毫无用处。最后就是要有新的技术来提高model prediction的precision无论是对balanced还是imbalanced。。
好吧。有的东西还是有点用,不过我还是觉得它有点灌水的嫌疑。。。
以上!
zou @ NanChang
2015-07-16