如何在张量中将字符串类别用作要素? (如果可能在tensorflow js中使用)

时间:2019-07-24 19:23:24

标签: tensorflow tensorflow.js

我在数据集中具有以下类别,其中“地区”和“年份”将用于预测薪金

Regions: ['Europe', 'North America', 'South America', 'Asia', 'Africa'] 

Data sample:
{region: 'Asia', years: 5, salary: 1000}
{region: 'Asia', years: 3, salary: 700}
{region: 'Asia', years: 1, salary: 300}
{region: 'Europe', years: 5, salary: 3000}

我想将地区和年份用作Xs,将薪水用作Ys。

我试图将区域转换为tf.oneHot,但是由于oneHot返回值是另一个张量,因此无法弄清楚如何将它们与“ years”一起使用。

indices = tf.tensor1d([0, 1, 2, 3, 4], 'int32');
oneHot = tf.oneHot(indices, 5);
oneHot result -> [[1, 0, 0, 0, 0],...]


xs = tf.tensor2d([[?, 5], [?, 3], [?, 1], [?, 5]]); //[region, years]
ys = tf.tensor1d([1000, 700, 300, 3000]); //[salary]

1 个答案:

答案 0 :(得分:0)

tf.concat可以使用

indices = tf.tensor1d([0, 1, 2, 3, 4], 'int32');
const oneHot = tf.oneHot(indices, 5);

const xs_add = tf.tensor([5, 3, 1, 5, 4]).reshape([5, 1])

xs = tf.concat([oneHot, xs_add], 1)
xs.print()