ML.NET中MLContext无CreateStreamingDataView定义问题求助
问题原因
CreateStreamingDataView是ML.NET预览阶段(v1.0之前)的过时API,在正式版中已经被移除,你参考的旧教程用的是预览版接口,和当前安装的新版本ML.NET不兼容。同时你原代码中还存在参数书写错误,把测试集变量testdata加了引号变成了字符串常量。
解决方案
直接替换测试集转换为IDataView的对应代码即可:
- 删除报错行:
IDataView dataView1 = mlContext.CreateStreamingDataView<FeedBackTrainingData>("testdata");
- 替换为正式版支持的
LoadFromEnumerable方法,直接传入已加载完成的testdata变量:
IDataView dataView1 = mlContext.Data.LoadFromEnumerable<FeedBackTrainingData>(testdata);
补充说明
- 所有内存集合转
IDataView的场景,正式版ML.NET统一使用mlContext.Data.LoadFromEnumerable<T>()接口,训练集、测试集都可以用同一个方法处理 - 替换后不需要修改其他逻辑,后续的预测、评估代码可以正常运行
内容的提问来源于stack exchange,提问作者Nebula Developers
相关产品推荐
相关产品推荐

