All data scientist usually face an issue of building a two class or a multi-class classifier due to highly imbalance class i.e. when the training data has reasonable level of imbalance between the classes.
Usually when a Data Scientist comes across such a problem where only one class information is available and he/she needs to predict similar class outcomes from a group of unsupervised deck, the alternative solution remains is to build an artificial class different from the one whose information is available & train models using
Supervised Neural Networks.
Support Vector Machines
Nearest Neighbor Algorithms
.. And the list goes on……
The alternative solution is to modify the existing classification algorithm to learn on the data from only one class. These algorithms are called “one-class classification algorithms” as they include:
One-Class K-Nearest Neighbor and
One-class algorithms are based on recognition since their aim is to recognize data from a particular class, and reject data from all other classes. One Class algorithms accepts the sample set to be a part of the learnt class or reject the sample set based on the distance of the data point from the boundary of the one class studied by any of the above models. So when a new sample arrives the algorithm only has to check whether it lies within the boundary or outside and accordingly classify the sample as belonging to the target class or the outlier.