首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ML.NET动态InputModel

ML.NET动态InputModel
EN

Stack Overflow用户
提问于 2020-05-17 09:48:11
回答 1查看 213关注 0票数 0

我正在使用ML.NET进行多类分类。我有3个不同输入模型的用例(不同的列数和数据类型),而且还会有更多的用例,所以没有必要为每个新用例的每个输入模型创建一个物理文件。我希望最好只有一个物理文件,如果可能,它可以适应任何模型,如果不能,则在运行时根据从Sql Server DB中的表检索到的json字符串定义的列定义动态创建输入模型。这有可能吗?如果是这样的话,你能分享示例代码吗?

以下是我想要通用的预测代码的一些片段:

代码语言:javascript
复制
    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();
EN

回答 1

Stack Overflow用户

发布于 2020-06-10 04:13:44

我不认为你可以做DynamicInput,但是你可以从一个输入模式创建管道,然后基于标签/特征创建多个不同的模型。我在下面有一个示例,它包含that...two标签列,您可以传入一个数组,其中包含要用于模型的特征列。这种方法的一个缺点是输入模式(CSV/Database)必须是静态的(不能在加载时更改):

https://github.com/bartczernicki/MLDotNet-BaseballClassification

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61845954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档