Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
class Balancing(AutoSklearnPreprocessingAlgorithm):
def __init__(self, strategy='none', random_state=None):
self.strategy = strategy
self.random_state = random_state

def fit(self, X, y=None):
return self
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,15 @@ def __init__(self, config=None, pipeline=None, dataset_properties=None, include=
if categorical_features.dtype != 'bool':
raise ValueError('Parameter categorical_features must'
' only contain booleans.')
self.config = config
self.pipeline = pipeline
self.dataset_properties = dataset_properties
self.include = include
self.exclude = exclude
self.random_state = random_state
self.init_params = init_params
self.categorical_features = categorical_features
self.force_sparse_output = force_sparse_output

# The pipeline that will be applied to the categorical features (i.e. columns)
# of the dataset
Expand All @@ -48,7 +56,6 @@ def __init__(self, config=None, pipeline=None, dataset_properties=None, include=
["categorical_transformer", self.categ_ppl],
["numerical_transformer", self.numer_ppl],
]
self.force_sparse = force_sparse_output

def fit(self, X, y=None):
n_feats = X.shape[1]
Expand All @@ -73,7 +80,7 @@ def fit(self, X, y=None):
["numerical_transformer", self.numer_ppl, num_feats]
]

self.sparse_ = sparse.issparse(X) or self.force_sparse
self.sparse_ = sparse.issparse(X) or self.force_sparse_output
self.column_transformer = sklearn.compose.ColumnTransformer(
transformers=sklearn_transf_spec,
sparse_threshold=float(self.sparse_),
Expand Down
25 changes: 25 additions & 0 deletions test/test_pipeline/test_classification.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from joblib import Memory
import numpy as np

from sklearn.base import clone
import sklearn.datasets
import sklearn.decomposition
import sklearn.model_selection
Expand Down Expand Up @@ -578,6 +579,30 @@ def test_predict_proba_batched_sparse(self):
self.assertEqual(84, cls_predict.call_count)
np.testing.assert_array_almost_equal(prediction_, prediction)

def test_pipeline_clonability(self):
X_train, Y_train, X_test, Y_test = get_dataset(dataset='iris')
auto = SimpleClassificationPipeline()
auto = auto.fit(X_train, Y_train)
auto_clone = clone(auto)
auto_clone_params = auto_clone.get_params()

# Make sure all keys are copied properly
for k, v in auto.get_params().items():
self.assertIn(k, auto_clone_params)

# Make sure the params getter of estimator are honored
klass = auto.__class__
new_object_params = auto.get_params(deep=False)
for name, param in new_object_params.items():
new_object_params[name] = clone(param, safe=False)
new_object = klass(**new_object_params)
params_set = new_object.get_params(deep=False)

for name in new_object_params:
param1 = new_object_params[name]
param2 = params_set[name]
self.assertEqual(param1, param2)

def test_set_params(self):
pass

Expand Down