I have a multi-class classification task with 4 levels of classes (Level 1 is the highest level with the fewest classes and Level 4 is the deepest level with the most classes). I have already built a classifier using TF-IDF and multinational Naive-Bayes for Level 1, but I need to do the same for Levels 2, 3 and 4. The caveat is that the levels are interdependent. So only certain level 2 classes are valid for the given level 1 classification of a line, and only certain level 3 classes are valid given a certain level 2 classification, and so on...
Basically, the classifier past level 1 needs to take into account the previous classification(s) for that given line to ensure only valid 4 level classifications are outputted.
So for example, say you two level 1 classes ("Food" and "Drinks"). A level 2 version of the food class might be "Burgers" and a level 2 version of the drinks class might be "Wine", but "Wine" would not be an option if the line was previously classified as "Food" during level 1 since "Wine" is not a subset of "Food". The valid classification paths are given in a taxonomy file.
This should be a fairly quick project as I've already attached the first (Level 1) model. All you would need to do is create 3 more identical models and interlink them, ensuring only valid classifications are outputted based on the classifications from the previous level(s).
I also need this done in Python/Scikit-Learn. A .py file or Jupyter Notebook would be fine as a deliverable. Let me know if you have any questions.
March 14, 2018
I am willing to pay higher rates for the most experienced freelancers