3
$\begingroup$

I am having issues getting started with a multi class problem with multiple features and hoping someone could please point me in the right direction.

I have data that is structured like this for training:

Item State Code1 Code2 Code3 Route
---  ---   ---   ---   ---   ---
item1 MI   A1    33    blue  Route1
item2 TX   A3    35    yellow Route2
item3 NM   A4    36    green  Route3
item4 NM   A4    37    green  Route3

Essentially I am trying to figure out where to even start. The goal is to know where to route the Items based on the features State, Code1,2, and 3. The route is dependent on a mix of the codes and state, and I want to build a model that says when I have code X, Y, Z and Color XX, then it is probably route 1 (some routes of course in the training data might have X, Y as codes and a different Z)

I am assuming I will need to one-hot encode the features like the State and codes? But from there does anyone know of which type of model I should go for? I would assume a Neural Net of some kind, I've explored CNN's and Random Forrest.

$\endgroup$
  • 2
    $\begingroup$ What about Bayesian classifier or Decision Tree classifier? $\endgroup$ – kiner_shah Oct 7 '17 at 11:41
  • $\begingroup$ Thanks, I've went with the Decision Tree Classifier and it seems to give me quite good results! $\endgroup$ – try_automation Dec 3 '17 at 2:42
  • $\begingroup$ Superb man! That's cool! ;-) $\endgroup$ – kiner_shah Dec 3 '17 at 6:47
3
$\begingroup$

My money would be on something much simpler like Naive Bayes.

In my experience for small data NB outperforms the more exotic methods.

Also, if you want to get more value out of your training data, try 10 fold cross validation

$\endgroup$
1
$\begingroup$

You could probably use a simpler model if you do not have that much training data, but if you have a lot of training data, I would recommend taking this approach: you will want to one hot encode the states, and depending upon how many colors you have, you will either want to encode them in a color space such as RGB or one hot encode them if you do not have that many of them. Then, you will want to one hot encode the routes that you have. For code 2, it looks like it is quantitative so you can probably just normalize that row. For code 1, you will probably just have to one hot encode the letter, and normalize it. Once you have all of your training data in a quantitative form, if you have a lot of training data, and the training data is sufficiently complex, you can use a deep neural network. Otherwise, you could use a conventional single layer neural network.

$\endgroup$
1
$\begingroup$

Other answers are good, but kiner-shah comment about Decision Trees worked the best for me due to how the data was structured.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.