Microsoft ml.net 连接 2 列作为标签
Microsoft ml.net Concatenate 2 columns as a label
我一直在想是否可以将 2 列数据类型字符串连接到标签列中。
我试过的是:
pipeline.Add(new ColumnConcatenator("Label", "string1", "string2"));
但这只是吐出一个 V2(text, 2)。标签必须是 R4-R8 类型。
我需要这个的原因是因为我只有 2 个输入变量,我想使用回归来确定哪个是最好的。
谢谢!
ColumnConcatenator 当前正在获取您的两列并生成一个宽度为 2 的新向量类型列。它采用 a
和 b
并向上转换为矢量 [a, b]
.
我想您是在问如何生成等于 a + b
的新标签,其中 a
和 b
是字符串。例如:var a = "Hello"; var b = "World"; var c = a + c; // c is HelloWorld
.
ML.NET 目前无法完成第二种方法(普通字符串连接)。您可能希望在 ML.NET 代码之前组合您的字符串。这是我们将在 ML.NET 的未来版本中研究的内容,我们邀请您提交请求它的问题:https://github.com/dotnet/machinelearning/issues/new.
更新:
我们添加了可用于连接字符串(以及许多其他内容)的表达式转换。
用法:
pipeline.Append(ML.Transforms.Expression("Label", "(x, y) : concat(x, \"-\", y)", "LabelColOne", "LabelColTwo"))
对于 LabelColOne="Cat"
和 LabelColTwo="Dog"
的输入,它用“-”将它们连接在一起以生成 Label="Cat-Dog"
.
我一直在想是否可以将 2 列数据类型字符串连接到标签列中。
我试过的是:
pipeline.Add(new ColumnConcatenator("Label", "string1", "string2"));
但这只是吐出一个 V2(text, 2)。标签必须是 R4-R8 类型。
我需要这个的原因是因为我只有 2 个输入变量,我想使用回归来确定哪个是最好的。
谢谢!
ColumnConcatenator 当前正在获取您的两列并生成一个宽度为 2 的新向量类型列。它采用 a
和 b
并向上转换为矢量 [a, b]
.
我想您是在问如何生成等于 a + b
的新标签,其中 a
和 b
是字符串。例如:var a = "Hello"; var b = "World"; var c = a + c; // c is HelloWorld
.
ML.NET 目前无法完成第二种方法(普通字符串连接)。您可能希望在 ML.NET 代码之前组合您的字符串。这是我们将在 ML.NET 的未来版本中研究的内容,我们邀请您提交请求它的问题:https://github.com/dotnet/machinelearning/issues/new.
更新:
我们添加了可用于连接字符串(以及许多其他内容)的表达式转换。
用法:
pipeline.Append(ML.Transforms.Expression("Label", "(x, y) : concat(x, \"-\", y)", "LabelColOne", "LabelColTwo"))
对于 LabelColOne="Cat"
和 LabelColTwo="Dog"
的输入,它用“-”将它们连接在一起以生成 Label="Cat-Dog"
.