I'm working on a classification task, related with text classification, where texts to be classified are requests for technical support, and the classes are technical guys which issues can be assigned to. I have about 10 different classes. Data, i.e requests for support, are quite noisy (as one should expect), and the overall performance of the classifier I was able to train was poor - about 42% of correct classification. So, I decided to try a different approach. Since I know for sure that each class (i.e, the technician) can possibily belong only to a "superclass" A or to another superclass "B"(i.e there are only two distinct technical teams) I tried to train a first classifier to discriminate between A and B superclasses, and a second classifier to use to predict which class a text belongs, given its predicted superclass. This way, the overall performance reached by combining of two classifiers is reasonably good. Despite the results, I wonder if using one's a priori knowledge of a given domain should be considerate 'cheating' or it's a normal - and accepted - practice in the field of Machine Learning. What's your opinion about ?
$\begingroup$
$\endgroup$
3
-
$\begingroup$ Using prior domain knowledge is absolutely not cheating. One should take advantage of such knowledge as much as possible when solving applied problems. Exceptions can arise in a research setting. For example, if the goal is to design a learning algorithm that works across many domains, it makes sense to avoid relying on assumptions that only work in a narrow set of circumstances. $\endgroup$– user20160Feb 2, 2019 at 11:55
-
$\begingroup$ I don't think using "superclasses" is an issue in your circumstances. This technique sounds similar to a stacked ensemble model. $\endgroup$– amsFeb 2, 2019 at 17:37
-
$\begingroup$ Thanks, both of you. Glad the approach I followed - though maybe far to be optimal - is conceptually valid. $\endgroup$– Scorpio76Feb 3, 2019 at 18:14
Add a comment
|