现代机器学习技术中的许多算法和方法都包含随机性,因此,多次运行相同的 ML 脚本可能会导致不同的输出,从而导致准确性结果。例如,运行随机森林可以产生 0.78 的准确度,然后在数据、设置、代码没有变化的情况下再次运行时,可以得到 0.79。当我测试输入的一些变化及其对输出的影响时,这带来了无法执行受控实验的挑战。
因此,为了能够执行完美控制的实验以实现最佳模型输出,我应该修复哪些广泛的随机参数集?我希望整个过程是完全确定的。
PS:我正在使用 Sci-kit Learn 环境和其他算法,例如 XGBoost、CatBoost、LightGBM。
我假设有一些参数 random_state(s) 我也应该在 NumPy 中修复。