from sklearn.linear_model import Ridge, Lasso from utils import seqs_to_onehot, seqs_to_georgiev from predictors.base_predictors import BaseRegressionPredictor, BaseGPPredictor class OnehotRidgePredictor(BaseRegressionPredictor): """Simple one hot encoding + ridge regression.""" def __init__(self, dataset_name, reg_coef=1.0, **kwargs): super(OnehotRidgePredictor, self).__init__( dataset_name, reg_coef, Ridge, **kwargs) def seq2feat(self, seqs): return seqs_to_onehot(seqs) class OnehotLassoPredictor(BaseRegressionPredictor): """Simple one hot encoding + lasso regression.""" def __init__(self, dataset_name, reg_coef=1.0, **kwargs): super(OnehotLassoPredictor, self).__init__( dataset_name, reg_coef, Lasso, **kwargs) def seq2feat(self, seqs): return seqs_to_onehot(seqs) class OnehotGPPredictor(BaseGPPredictor): def seq2feat(self, seqs): return seqs_to_onehot(seqs) class GeorgievRidgePredictor(BaseRegressionPredictor): """Georgiev encoding + ridge regression.""" def __init__(self, dataset_name, reg_coef=1.0, **kwargs): super(GeorgievRidgePredictor, self).__init__( dataset_name, reg_coef, Ridge, **kwargs) def seq2feat(self, seqs): return seqs_to_georgiev(seqs)