【发布时间】:2020-09-02 20:32:53
【问题描述】:
我正在使用 ML.NET 进行多类分类。我有 3 个具有不同输入模型(不同数量的列和数据类型)的用例,并且还会有更多用例,因此必须为每个新用例的每个输入模型创建一个物理文件是没有意义的。如果可能的话,我希望只有一个可以适应任何模型的物理文件,如果没有,则在运行时根据从 Sql Server DB 中的表中检索到的 json 字符串定义的列定义动态创建输入模型.这甚至可能吗?如果可以,能否分享示例代码?
这里有一些我想通用的预测代码的 sn-ps:-
public class DynamicInputModel
{
[ColumnName("ColumnA"), LoadColumn(0)]
public string ColumnA { get; set; }
[ColumnName("ColumnB"), LoadColumn(1)]
public string ColumnB { get; set; }
}
PredictionEngine<DynamicInputModel, MulticlassClassificationPrediction> predEngine = _predEnginePool.GetPredictionEngine(modelName: modelName);
IDataView dataView = _mlContext.Data.LoadFromTextFile<DynamicInputModel>(
path: testDataPath,
hasHeader: true,
separatorChar: ',',
allowQuoting: true,
allowSparse: false);
var testDataList = _mlContext.Data.CreateEnumerable<DynamicInputModel>(dataView, false).ToList();
【问题讨论】:
标签: ml.net