ml.net - ML.net 将新数据添加到现有生成的模型
问题描述
我使用 ML.Net V 0.7.0 最新版本生成了一个 ML 模型
我需要在现有模型中添加新的学习数据,而不用新旧数据重新生成它
因为我有一个超过 1 亿条记录的大型数据集
我需要添加 100 条记录而不重新加载所有最后一个数据集来生成新模型
请有任何想法
这对我来说很重要
此致
解决方案
ML.NET 中的一些培训师支持使用初始预测器进行培训,这意味着您可以使用现有预测器作为使用新数据进行培训的起点。
可以在此处找到显示这一点的测试,相关代码为:
// Train the first predictor.
var trainer = ml.BinaryClassification.Trainers.StochasticDualCoordinateAscent("Label", "Features",advancedSettings: s => s.NumThreads = 1);
var firstModel = trainer.Fit(trainData);
// Train the second predictor on the same data.
var secondTrainer = ml.BinaryClassification.Trainers.AveragedPerceptron("Label","Features");
var trainRoles = new RoleMappedData(trainData, label: "Label", feature: "Features");
var finalModel = secondTrainer.Train(new TrainContext(trainRoles, initialPredictor: firstModel.Model));
推荐阅读
- android - Android 12 Canvas drawPoint() - 油漆包含无法删除的 alpha
- eclipse - 无法调试本地 CLI 项目
- ios - Xcode 13 - 无法解决分段错误:11 错误。需要帮助
- amazon-ec2 - 如何创建从两个单独 EC2 实例上的源到单个 EFS 目录的符号链接?
- spring - Spring Boot webSocket 关闭生产
- mongodb - Mongoose 查找与字段匹配的所有元素以及列表中的任何对象(MongoDB)
- r - `geom_abline()` 如何不影响 x 和 y 比例?
- android - 如何使用 Jetpack Compose Text(如 Telegram 或 WhatsApp)将多个子字符串的粗体字符包裹在一个模式中
- node.js - 如何解密由 mongoose-encryption 加密的 MongoDB 数据库字段?
- node.js - React/Nodejs 中的一个 Drive 连接器