中文

从极少数据中学习:关于景观分析在预测软件项目健康度中价值的探讨

软件工程 2023-10-12 v2 机器学习

摘要

当数据稀缺时,软件分析可能会犯许多错误。例如,考虑为开源项目健康度(例如十二个月内的已关闭拉取请求数量)学习预测器。该任务的训练数据可能非常小(例如五年的数据,每月收集一次意味着仅有 60 行训练数据)。从如此微小数据集生成的模型可能会犯许多预测错误。这些错误可以通过一种选择更好学习器控制参数的{\em 景观分析}来抑制。我们的 niSNEAK 工具(a)对数据进行聚类以找到超参数的总体景观;然后(b)探索该景观每个部分的少数代表。niSNEAK 比先前最先进的超参数优化算法(例如 FLASH、HYPEROPT、OPTUNA)更快且更有效。niSNEAK 找到的配置比其他方法的误差小得多。例如,对于项目健康度指标如 CC=提交数;II=已关闭问题数,以及 RR=已关闭拉取请求数,niSNEAK 的 12 个月预测误差为 \{I=0\%, R=33\%\,C=47\%\} 基于上述,我们推荐景观分析(例如 niSNEAK),特别是在从非常小的数据集学习时。本文仅探讨了 niSNEAK 在项目健康度上的应用。也就是说,我们在原理上未看到任何阻止该技术应用于更广泛问题的因素。为了协助其他研究人员重复、改进甚至反驳我们的结果,我们所有的脚本和数据都可在 GitHub 上获取:https://github.com/zxcv123456qwe/niSneak

关键词

引用

@article{arxiv.2301.06577,
  title  = {Learning from Very Little Data: On the Value of Landscape Analysis for Predicting Software Project Health},
  author = {Andre Lustosa and Tim Menzies},
  journal= {arXiv preprint arXiv:2301.06577},
  year   = {2023}
}