Repository: automl/auto-sklearn

Issue:
to turn pre-processing off use no_preprocessing
AutoSklearnClassifier( include_preprocessors=('no_preprocessing',))

It would be great to have an explicit list of preprocessors and estimators that could be used in  include_preprocessors and include_estimators parameters of AutoSklearnClassifier.



Discussion:
candidate for the list of estimators classifier:choice, Type: Categorical, Choices: {adaboost, bernoulli_nb, decision_tree, extra_trees, gaussian_nb, gradient_boosting, k_nearest_neighbors, lda, liblinear_svc, libsvm_svc, multinomial_nb, passive_aggressive, proj_logit, qda, random_forest, sgd}


Resolving patch:
diff --git a/autosklearn/estimators.py b/autosklearn/estimators.py
--- a/autosklearn/estimators.py
+++ b/autosklearn/estimators.py
@@ -53,15 +53,7 @@ def refit(self, X, y):
     def fit_ensemble(self, y, task=None, metric=None, precision='32',
                      dataset_name=None, ensemble_nbest=None,
                      ensemble_size=None):
-        """Build the ensemble.
 
-        This method only needs to be called in the parallel mode.
-
-        Returns
-        -------
-        self
-
-        """
         return self._automl.fit_ensemble(y, task, metric, precision,
                                          dataset_name, ensemble_nbest,
                                          ensemble_size)
@@ -225,6 +217,16 @@ def __init__(self,
               an ensemble.
             * ``'model'`` : do not save any model files
 
+        configuration_mode : ``SMAC`` or ``ROAR``
+            Defines the configuration mode as described in the paper
+            `Sequential Model-Based Optimization for General Algorithm
+            Configuration <http://aad.informatik.uni-freiburg.de/papers/11-LION5-SMAC.pdf>`_:
+
+            * ``SMAC`` (default): Sequential Model-based Algorithm
+              Configuration, which is a Bayesian optimization algorithm
+            * ``ROAR``: Random Online Aggressive Racing, which is basically
+              random search
+
         Attributes
         ----------
 
@@ -305,6 +307,46 @@ def fit(self, *args, **kwargs):
     def fit_ensemble(self, y, task=None, metric=None, precision='32',
                      dataset_name=None, ensemble_nbest=None,
                      ensemble_size=None):
+        """Fit an ensemble to models trained during an optimization process.
+
+        All parameters are ``None`` by default. If no other value is given,
+        the default values which were set in a call to ``fit()`` are used.
+
+        Parameters
+        ----------
+        y : array-like
+            Target values.
+
+        task : int
+            A constant from the module ``autosklearn.constants``. Determines
+            the task type (binary classification, multiclass classification,
+            multilabel classification or regression).
+
+        metric : callable, optional (default='acc_metric')
+            An instance of :class:`autosklearn.metrics.Scorer` as created by
+            :meth:`autosklearn.metrics.make_scorer`. These are the `Built-in
+            Metrics`_.
+
+        precision : str
+            Numeric precision used when loading ensemble data. Can be either
+            ``'16'``, ``'32'`` or ``'64'``.
+
+        dataset_name : str
+            Name of the current data set.
+
+        ensemble_nbest : int
+            Determines how many models should be considered from the ensemble
+            building. This is inspired by a concept called library pruning
+            introduced in `Getting Most out of Ensemble Selection`.
+
+        ensemble_size : int
+            Size of the ensemble built by `Ensomble Selection`.
+
+        Returns
+        -------
+        self
+
+        """
         if self._automl is None:
             self._automl = self.build_automl()
         return self._automl.fit_ensemble(y, task, metric, precision,
@@ -338,12 +380,17 @@ def fit(self, X, y,
             The target classes.
 
         metric : callable, optional (default='acc_metric')
-            An instance of ``autosklearn.metrics.Scorer``.
+            An instance of :class:`autosklearn.metrics.Scorer` as created by
+            :meth:`autosklearn.metrics.make_scorer`. These are the `Built-in
+            Metrics`_.
 
         feat_type : list, optional (default=None)
             List of str of `len(X.shape[1])` describing the attribute type.
             Possible types are `Categorical` and `Numerical`. `Categorical`
-            attributes will be automatically One-Hot encoded.
+            attributes will be automatically One-Hot encoded. The values
+            used for a categorical attribute must be integers, obtainde for
+            example by `sklearn.preprocessing.LabelEncoder
+            <http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html>`_.
 
         dataset_name : str, optional (default=None)
             Create nicer output. If None, a string will be determined by the
diff --git a/autosklearn/metrics/__init__.py b/autosklearn/metrics/__init__.py
--- a/autosklearn/metrics/__init__.py
+++ b/autosklearn/metrics/__init__.py
@@ -137,12 +137,10 @@ def make_scorer(name, score_func, greater_is_better=True, needs_proba=False,
                 needs_threshold=False, **kwargs):
     """Make a scorer from a performance metric or loss function.
 
-    Factory inspired by scikit-learn which wraps scoring functions to be used in
-    auto-sklearn. In difference to scikit-learn, auto-sklearn always needs to
-    call ``predict_proba`` in order to have predictions on a seperate validation
-    set to build ensembles with.
+    Factory inspired by scikit-learn which wraps scikit-learn scoring functions
+    to be used in auto-sklearn.
 
-    Paramaters
+    Parameters
     ----------
     score_func : callable
         Score function (or loss function) with signature
diff --git a/doc/conf.py b/doc/conf.py
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -131,9 +131,11 @@
     # be in the form [(name, page), ..]
     'navbar_links': [
         ('Start', 'index'),
+        ('Releases', 'releases'),
+        ('Installation', 'installation'),
+        ('Manual', 'manual'),
         ('API', 'api'),
         ('Extending', 'extending'),
-        ('Manual', 'manual'),
     ],
 
     # Render the next and previous page links in navbar. (Default: true)


Test patch:
diff --git a/test/test_automl/test_estimators.py b/test/test_automl/test_estimators.py
--- a/test/test_automl/test_estimators.py
+++ b/test/test_automl/test_estimators.py
@@ -141,8 +141,7 @@ def test_fit_pSMAC(self):
                                        seed=2,
                                        initial_configurations_via_metalearning=0,
                                        ensemble_size=0)
-        automl.fit_ensemble(Y_train,
-                            task=MULTICLASS_CLASSIFICATION,
+        automl.fit_ensemble(Y_train, task=MULTICLASS_CLASSIFICATION,
                             metric=accuracy,
                             precision='32',
                             dataset_name='iris',