- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我实际上完成了 ML.NET 的所有 Microsoft 教程,现在想构建自己的模型。我想将 string[][] 数据
转换为 IDataView-Object
,因为我想在 ML.NET 模型中使用它进行二进制分类。
到目前为止,我一直使用外部文本或 CSV 文件中的数据进行训练。现在我想使用存储在 string[][] data
中的数据。 data[0][]
中是文本值,data[1][]
中是boolean
值。
我无法将现有的嵌套数组转换为 IDataView 对象
。我已经尝试使用以下代码:
public class BinaryData
{
public string Text { get; set; }
public bool Label { get; set; }
}
// The data is collected from an Excel-Table with some functions and saved in this nested array:
string[][] data = form.GetDataSelection().GetDataContainer().textCols;
BinaryData[] inMemoryCollection = new BinaryData[data[0].Length];
for (int i = 0; i < data[0].Length-1; i++)
{
inMemoryCollection[i] = new BinaryData
{
Text = data[0][i],
Label = Convert.ToBoolean(Convert.ToInt64(data[1][i]))
};
}
IDataView dataView = mlContext.Data.LoadFromEnumerable<BinaryData>(inMemoryCollection);
我的实现基于 tutorial from Microsoft .
它一直有效,直到我想使用 Fit()-Method
。我收到以下错误消息:
System.InvalidOperationException: 'Splitter/consolidator worker encountered exception while consuming source data'
我希望有人能帮我解决这个问题。非常感谢!
最佳答案
它使用二维数组[,]
。我用了Method from this post 将 锯齿状数组 [][]
转换为二维数组并稍微更改我的代码:
string[][] data_jagged = form.GetDataSelection().GetDataContainer().textCols;
string[,] data = To2D(data_jagged);
BinaryData[] inMemoryCollection = new BinaryData[data_jagged[0].Length];
for (int i = 0; i < data_jagged[0].Length; i++)
{
inMemoryCollection[i] = new BinaryData
{
Text = data[0,i],
Label = Convert.ToBoolean(Convert.ToInt64(data[1,i]))
};
}
IDataView dataView = mlContext.Data.LoadFromEnumerable<BinaryData>(inMemoryCollection);
感谢 Eric 的帮助。
关于c# - 如何将带有数据的字符串 [][] 转换为 IDataView 对象? (ML.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57810354/
在ML.net中,我想查看IDataView中的数据来验证是否加载了正确的数据。我看不到任何可视化工具/调试工具来查看它们,就像我们在 System.Data.DataTable 作为表格查看一样 v
我实际上完成了 ML.NET 的所有 Microsoft 教程,现在想构建自己的模型。我想将 string[][] 数据 转换为 IDataView-Object,因为我想在 ML.NET 模型中使用
我正在尝试使用新的 Microsoft.ML 0.6.0 进行预测功能 当我调用“model.AsDynamic.MakePredictionFunction”时,我收到了 "System.Argum
我是一名优秀的程序员,十分优秀!