首先,我覺得我要吐槽下,我覺得這篇文章有灌水嫌疑,先來看看文章中的新貢獻:
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