Hi All,
Thanks for all the responses. I’ll start working through the material provided as I can. I am working in Node. I’m not opposed to using Python but am not as proficient in the language and JS has worked great for rapid prototyping. As for what I’m trying to solve, at the moment, I’m experimenting and working through some conceptual ideas. The problem isn’t necessarily concrete and I’m mostly trying to understand how I can work with different types of data. There’s a couple of possible use cases around postal codes (or location data) as inputs I’m exploring.
I don’t have a data set I’m working with. I wrote code to generate random, five char strings, with digits 0-9, to represent postal codes. I then introduced a pattern in the data that associates groups of codes to four possible output categorizations. The data is a bit (or totally?) contrived but it’s been helpful as I know there is a pattern to train and test against. This is a bit simplified but it basically looks like:
// randomly select our output values
var outputs = [ '1', '2', '3', '4' ];
var [ output1 ] = outputs.splice( Math.floor( Math.random() * outputs.length ), 1 );
var [ output2 ] = outputs.splice( Math.floor( Math.random() * outputs.length ), 1 );
var [ output3 ] = outputs.splice( Math.floor( Math.random() * outputs.length ), 1 );
var [ output4 ] = outputs;

// create the data set
for( var i = 0; i < sampleSize; i++ ){
	
	// generate a pseudo postal code

	// now map the postal code to an output, creating a pattern in the data
	if( postalCodeAsInt < 25000 ){
		output = output1;
	} else if( postalCodeAsInt < 50000 ){
		output = output2;
	} else if( postalCodeAsInt < 75000 ){
		output = output3;
	} else {
		output = output4;
	}

	// push postal code as the input and output as the output value to data set
}

There’s also code that sets every 3rd postal code to 94701 with the same, randomly selected, output every time. So it doesn’t follow the same rule/pattern as the other postal codes. This was me testing to see if the model could pull that out in its predictions (it can no prob).The data comes out looking something like:
[ '10561', '2' ],
[ '68267', '3' ],
[ '94701', '1' ],
[ '55471', '3' ],
[ '32613', '1' ],
[ '94701', '1' ],
[ '73666', '3' ],
...

The data and the outputs are one hot encoded, as seen in my prior post. I’ve been playing with different types of models and currently am running this through an RNN, I think that’s why I currently have these as 3D tensors. I know this isn’t really series data, there’s probably a more appropriate model to use, but, again, experimenting, learning. I assume it’s because of the simplicity of the data but, the model can predict the output with 100% accuracy after training against a relatively small data set. I don’t expect real world data to be as clean (I probably should introduce some noise in my tests).
Anyway, hopefully that’s some helpful context. I’m currently at the point where I would like to add more inputs, hence the thread.