def gpc_classifier(params): clf = GaussianProcessClassifier() clf.set_params(**params) return clf
class GaussianProcess(Classifier): r"""Implementation of gaussian process classifier. Date: 2020 Author: Luka Pečnik License: MIT Reference: Rasmussen, Carl Edward, and Hannes Nickisch. "Gaussian processes for machine learning (GPML) toolbox." The Journal of Machine Learning Research 11 (2010): 3011-3015. Documentation: https://scikit-learn.org/stable/modules/generated/sklearn.gaussian_process.GaussianProcessClassifier.html See Also: * :class:`niaaml.classifiers.Classifier` """ Name = 'Gaussian Process Classifier' def __init__(self, **kwargs): r"""Initialize GaussianProcess instance. """ warnings.filterwarnings(action='ignore', category=ChangedBehaviorWarning) warnings.filterwarnings(action='ignore', category=ConvergenceWarning) warnings.filterwarnings(action='ignore', category=DataConversionWarning) warnings.filterwarnings(action='ignore', category=DataDimensionalityWarning) warnings.filterwarnings(action='ignore', category=EfficiencyWarning) warnings.filterwarnings(action='ignore', category=FitFailedWarning) warnings.filterwarnings(action='ignore', category=NonBLASDotWarning) warnings.filterwarnings(action='ignore', category=UndefinedMetricWarning) self._params = dict( max_iter_predict=ParameterDefinition(MinMax(50, 200), np.uint), warm_start=ParameterDefinition([True, False]), multi_class=ParameterDefinition(['one_vs_rest', 'one_vs_one'])) self.__gaussian_process = GPC() def set_parameters(self, **kwargs): r"""Set the parameters/arguments of the algorithm. """ self.__gaussian_process.set_params(**kwargs) def fit(self, x, y, **kwargs): r"""Fit GaussianProcess. Arguments: x (pandas.core.frame.DataFrame): n samples to classify. y (pandas.core.series.Series): n classes of the samples in the x array. Returns: None """ self.__gaussian_process.fit(x, y) def predict(self, x, **kwargs): r"""Predict class for each sample (row) in x. Arguments: x (pandas.core.frame.DataFrame): n samples to classify. Returns: pandas.core.series.Series: n predicted classes. """ return self.__gaussian_process.predict(x) def to_string(self): r"""User friendly representation of the object. Returns: str: User friendly representation of the object. """ return Classifier.to_string(self).format( name=self.Name, args=self._parameters_to_string( self.__gaussian_process.get_params()))