问题
我尝试阅读这个资源,了解常见Python设计模式的命名约定,但我找不到与我正在创建的类匹配的模式。
我能找到的最接近的是组合模式,但我觉得它并不符合我的用例。
关于这个类
我正在开发一个机器学习可解释性包。解释模型的一种方法是构建一个简单的替代
模型,模仿复杂模型的行为。
实现这种方法的常见方式是使用SHAP算法,该算法需要对用于创建原始复杂模型的数据集进行采样。
如何采样取决于您构建surrogate
模型的单行特征。因此,拥有一个Sampler
对象非常有用,它存储背景数据集并将单行作为输入。
这给我带来了三个强相关的复杂对象和一个数据集。将它们存储在同一位置并通过简单的接口混淆它们之间的联系对我来说是有意义的。
然而,我认为这不是一个接口,因为方法不会随着对象的变化而改变。该类不会是抽象的,并且将保存所有重要数据。
我想在这个类中包含构建surrogate
模型和Sampler
的功能。因此,它部分地是一个工厂设计模式。
问题
是否存在一个预定义的名称来描述这样的类?也许是BORG设计模式?或者在创建这样的东西之前,我应该重新考虑一下?