从极少数据中学习:关于景观分析在预测软件项目健康度中价值的探讨
软件工程
2023-10-12 v2 机器学习
摘要
当数据稀缺时,软件分析可能会犯许多错误。例如,考虑为开源项目健康度(例如十二个月内的已关闭拉取请求数量)学习预测器。该任务的训练数据可能非常小(例如五年的数据,每月收集一次意味着仅有 60 行训练数据)。从如此微小数据集生成的模型可能会犯许多预测错误。这些错误可以通过一种选择更好学习器控制参数的{\em 景观分析}来抑制。我们的 niSNEAK 工具(a)对数据进行聚类以找到超参数的总体景观;然后(b)探索该景观每个部分的少数代表。niSNEAK 比先前最先进的超参数优化算法(例如 FLASH、HYPEROPT、OPTUNA)更快且更有效。niSNEAK 找到的配置比其他方法的误差小得多。例如,对于项目健康度指标如 =提交数;=已关闭问题数,以及 =已关闭拉取请求数,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}
}