Source code for flexmatcher.classify.classifier

"""
Implement classifier for FlexMatcher.

This module defines an interface for classifiers.

Todo:
    * Implement more relevant classifiers.
    * Implement simple rules (e.g., does data match a phone number?).
    * Shuffle data before k-fold cutting in predict_training.
"""

from __future__ import absolute_import
from __future__ import print_function
from __future__ import division
from abc import ABCMeta, abstractmethod


[docs]class Classifier(object): """Define classifier interface for FlexMatcher.""" __metaclass__ = ABCMeta @abstractmethod def __init__(self, data): """Initialize the class.""" pass
[docs] @abstractmethod def fit(self, data): """Train based on the input training data.""" pass
[docs] @abstractmethod def predict_training(self, folds): """Predict the training data (using k-fold cross validation).""" pass
[docs] @abstractmethod def predict(self, data): """Predict for unseen data.""" pass