Design patterns 需要通用培训数据类的设计建议吗

Design patterns 需要通用培训数据类的设计建议吗,design-patterns,machine-learning,Design Patterns,Machine Learning,我想清理并推广我的机器学习“框架”。 我有不同的学习算法,比如boosting或ANN,它们使用不同的学习数据表示。例如,我的ANN实现只是使用由单个实值(以及表示其类的值)组成的数据样本。另一方面,我的boosting实现使用在图像上计算的类似Haar的特征。因此,我的训练数据可以由图像、积分图像或单个实值组成 我希望在一个类中聚合(训练)数据的所有可能表现形式,但我并没有找到一个好的解决方案 有一个很好的设计模板来完成这样的任务吗?或者你知道一个“智能”解决方案吗?我不熟悉机器学习算法,但从

我想清理并推广我的机器学习“框架”。 我有不同的学习算法,比如boosting或ANN,它们使用不同的学习数据表示。例如,我的ANN实现只是使用由单个实值(以及表示其类的值)组成的数据样本。另一方面,我的boosting实现使用在图像上计算的类似Haar的特征。因此,我的训练数据可以由图像、积分图像或单个实值组成

我希望在一个类中聚合(训练)数据的所有可能表现形式,但我并没有找到一个好的解决方案


有一个很好的设计模板来完成这样的任务吗?或者你知道一个“智能”解决方案吗?

我不熟悉机器学习算法,但从你描述的情况来看,听起来好像有几个类执行相同的操作(“学习”或“分析”),但它们以不同的方式执行(ANN、Boosting等)

我建议看看设计模式。您可以使用所有各种学习算法实现的单个操作构建一个抽象类(或接口)。让我们调用这个类BaseLearningAlgorithm

然后为每个算法创建一个子类,如ANNLearningAlogrithm、boostinglarningalgorithm等

您最不需要的是(或依赖项注入,或任何其他解决方案)根据您决定的任何参数创建您想要的子类

这种设计允许您轻松添加新的学习算法,而无需更改您已经编写的任何代码行()