Multi Variable Regression with Tensor Flow

Overview


Multiple linear regression is very similary to single variable regression, the only signficant difference is the shape of the inputs.

Example with Multiple Variables


The following demonstrates running a 2 variable regression, using hard coded data.


await $src('https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js');

let  linearModel = tf.sequential();
linearModel.add(tf.layers.dense({units:1, inputShape:[2]}));
linearModel.compile({loss:'meanSquaredError',optimizer:'sgd'});


let xs = tf.tensor([[3.2,1],[4.4,1],[5.5,2],[6.71,0.8],[7.168,1.2],[9.779,5],[6.182,5],[7.59,4.5],[2.16,7]]);
let ys = tf.tensor([[1.6],[2.7],[2.9],[3.19],[1.684],[2.53],[3.366],[2.596],[2.53]]);

await linearModel.fit(xs,ys,{
  epochs:80
});

let output = linearModel.predict(tf.tensor([4,6]));
prediction = Array.from(output.dataSync())[0];
				
Try it!

No Intercept


In order to specify that the model not use a bias (or intercept term), you specify the property useBias as false in the model.add method.


await $src('https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js');

var  linearModel = tf.sequential();
linearModel.add(tf.layers.dense({units:1, inputShape:[2], useBias: false}));
				

Contents