2

我一直想知道是否可以将数据类型字符串的 2 列连接到标签列中。

我尝试的是:

        pipeline.Add(new ColumnConcatenator("Label", "string1", "string2"));

但这只会吐出一个 V2(text, 2)。并且标签必须是 R4-R8 类型。

我需要这个的原因是因为我只有 2 个输入变量,我想使用回归来确定哪个是最好的。

谢谢 !

4

1 回答 1

2

ColumnConcatenator 当前正在获取您的两列并生成一个宽度为 2 的新向量类型列。它正在接受a并向b上转换为 vector [a, b]

我想你在问如何产生一个新的标签等于a + bwhere a& bare strings。例如: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"

于 2018-06-11T09:44:39.910 回答