我一直想知道是否可以将数据类型字符串的 2 列连接到标签列中。
我尝试的是:
pipeline.Add(new ColumnConcatenator("Label", "string1", "string2"));
但这只会吐出一个 V2(text, 2)。并且标签必须是 R4-R8 类型。
我需要这个的原因是因为我只有 2 个输入变量,我想使用回归来确定哪个是最好的。
谢谢 !
我一直想知道是否可以将数据类型字符串的 2 列连接到标签列中。
我尝试的是:
pipeline.Add(new ColumnConcatenator("Label", "string1", "string2"));
但这只会吐出一个 V2(text, 2)。并且标签必须是 R4-R8 类型。
我需要这个的原因是因为我只有 2 个输入变量,我想使用回归来确定哪个是最好的。
谢谢 !
ColumnConcatenator 当前正在获取您的两列并生成一个宽度为 2 的新向量类型列。它正在接受a
并向b
上转换为 vector [a, b]
。
我想你在问如何产生一个新的标签等于a + b
where a
& b
are 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"
。