Skip to main content
QUICK REVIEW

[论文解读] Is "Better Data" Better than "Better Data Miners"? (On the Benefits of Tuning SMOTE for Defect Prediction)

Amritanshu Agrawal, Tim Menzies|arXiv (Cornell University)|May 10, 2017
Software Engineering Research参考文献 67被引用 79
一句话总结

本文提出 SMOTUNED,一种对 SMOTE 的自动调优用于缺陷预测,表明数据预处理的效果可超越分类器选择,且调优后的 SMOTE 在许多数据集上显著提升性能。

ABSTRACT

We report and fix an important systematic error in prior studies that ranked classifiers for software analytics. Those studies did not (a) assess classifiers on multiple criteria and they did not (b) study how variations in the data affect the results. Hence, this paper applies (a) multi-criteria tests while (b) fixing the weaker regions of the training data (using SMOTUNED, which is a self-tuning version of SMOTE). This approach leads to dramatically large increases in software defect predictions. When applied in a 5*5 cross-validation study for 3,681 JAVA classes (containing over a million lines of code) from open source systems, SMOTUNED increased AUC and recall by 60% and 20% respectively. These improvements are independent of the classifier used to predict for quality. Same kind of pattern (improvement) was observed when a comparative analysis of SMOTE and SMOTUNED was done against the most recent class imbalance technique. In conclusion, for software analytic tasks like defect prediction, (1) data pre-processing can be more important than classifier choice, (2) ranking studies are incomplete without such pre-processing, and (3) SMOTUNED is a promising candidate for pre-processing.

研究动机与目标

  • 识别对数据预处理(SMOTE)的调优是否会影响缺陷预测中的分类器排名。
  • 评估 SMOTUNED 作为 SMOTE 的自动参数调优方法在大规模缺陷数据集上的表现。
  • 评估数据预处理是否能在缺陷预测任务中优于分类器选择。

提出的方法

  • 提出 SMOTUNED,这是一个基于差分进化(DE)的 SMOTE 参数(k、m、r)自动调优器,以优化性能指标。
  • 在来自开源系统的 3,681 个 Java 类上进行5×5交叉验证,以比较 SMOTE、SMOTUNED 和 MAHAKIL(一个近期的不平衡技术)。
  • 使用多种评估指标(AUC、召回率、精确度、误报率)并评估同一指标内与跨指标的性能。
  • 应用 DE(差分进化)搜索以演化 SMOTE 参数配置,并选择表现最好的设置。
  • 仅对训练数据使用 SMOTE/SMOTUNED 进行过滤,同时保持测试数据不变,以衡量预测收益。

实验结果

研究问题

  • RQ1RQ1:默认的 SMOTE 参数对所有数据集是否都合适?
  • RQ2RQ2:对每个数据集调整 SMOTE 是否带来性能提升?
  • RQ3RQ3:考虑性能提升,SMOTUNED 的运行时是否可接受?
  • RQ4RQ4:在报道的比较中,SMOTUNED 与 Bennin 等人的最近不平衡技术(MAHAKIL)相比如何?

主要发现

  • SMOTUNED 为每个数据集学习了不同的 SMOTE 参数,与默认 SMOTE 显著不同。
  • SMOTUNED 产生显著的性能提升,相对于 SMOTE,AUC 提升高达 60%,召回率提升高达 20%。
  • SMOTUNED 运行时间不到两分钟,使其在广泛应用中具有实用性。
  • 在报道的比较中,SMOTUNED 的表现优于最近的不平衡技术 MAHAKIL。
  • 总体而言,使用 SMOTUNED 的数据预处理在缺陷预测中可能比分类器选择更具影响力。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。