Beispiel #1
0
 def setUp(self):
     super(InnerFoldTests, self).setUp()
     self.pipe = PhotonPipeline([
         ("StandardScaler", PipelineElement("StandardScaler")),
         ("PCA", PipelineElement("PCA")),
         ("RidgeClassifier", PipelineElement("RidgeClassifier")),
     ])
     self.config = {
         "PCA__n_components": 5,
         "RidgeClassifier__solver": "svd",
         "RidgeClassifier__random_state": 42,
     }
     self.outer_fold_id = "TestID"
     self.inner_cv = KFold(n_splits=4)
     self.X, self.y = load_breast_cancer(True)
     self.cross_validation = Hyperpipe.CrossValidation(
         self.inner_cv, None, True, 0.2, True, False)
     self.cross_validation.inner_folds = {
         self.outer_fold_id: {
             i: FoldInfo(i, i + 1, train, test)
             for i, (train,
                     test) in enumerate(self.inner_cv.split(self.X, self.y))
         }
     }
     self.optimization = Hyperpipe.Optimization(
         "grid_search", {}, ["accuracy", "recall", "specificity"],
         "accuracy", None)
Beispiel #2
0
 def setUp(self):
     super(InnerFoldTests, self).setUp()
     self.pipe = PhotonPipeline([
         ('StandardScaler', PipelineElement('StandardScaler')),
         ('PCA', PipelineElement('PCA')),
         ('RidgeClassifier', PipelineElement('RidgeClassifier'))
     ])
     self.config = {
         'PCA__n_components': 5,
         'RidgeClassifier__solver': 'svd',
         'RidgeClassifier__random_state': 42
     }
     self.outer_fold_id = 'TestID'
     self.inner_cv = KFold(n_splits=4)
     self.X, self.y = load_breast_cancer(return_X_y=True)
     self.cross_validation = Hyperpipe.CrossValidation(
         self.inner_cv, None, True, 0.2, True, False, False, None)
     self.cross_validation.inner_folds = {
         self.outer_fold_id: {
             i: FoldInfo(i, i + 1, train, test)
             for i, (train,
                     test) in enumerate(self.inner_cv.split(self.X, self.y))
         }
     }
     self.optimization = Hyperpipe.Optimization(
         'grid_search', {}, ['accuracy', 'recall', 'specificity'],
         'accuracy', None)
Beispiel #3
0
    def setUp(self):

        super(OuterFoldTests, self).setUp()
        self.fold_nr_inner_cv = 5
        self.inner_cv = ShuffleSplit(n_splits=self.fold_nr_inner_cv,
                                     random_state=42)
        self.outer_cv = ShuffleSplit(n_splits=1,
                                     test_size=0.2,
                                     random_state=42)
        self.cv_info = Hyperpipe.CrossValidation(
            inner_cv=self.inner_cv,
            outer_cv=self.outer_cv,
            eval_final_performance=True,
            test_size=0.2,
            calculate_metrics_per_fold=True,
            calculate_metrics_across_folds=False,
            learning_curves=False,
            learning_curves_cut=None)

        self.X, self.y = load_boston(return_X_y=True)
        self.outer_fold_id = "TestFoldOuter1"
        self.cv_info.outer_folds = {
            self.outer_fold_id: FoldInfo(0, 1, train, test)
            for train, test in self.outer_cv.split(self.X, self.y)
        }

        self.config_num = 2
        self.optimization_info = Hyperpipe.Optimization(
            metrics=['mean_absolute_error', 'mean_squared_error'],
            best_config_metric='mean_absolute_error',
            optimizer_input='grid_search',
            optimizer_params={},
            performance_constraints=None)
        self.elements = [
            PipelineElement('StandardScaler'),
            PipelineElement('PCA', {'n_components': [4, 7]}),
            PipelineElement('DecisionTreeRegressor', random_state=42)
        ]
        self.pipe = PhotonPipeline([(p.name, p) for p in self.elements])
Beispiel #4
0
def test_CrossValidation_outer_folds():
    test_value = None
    assert (Hyperpipe.CrossValidation(
        3, 1, True, 0.3, 4,
        test_value).calculate_metrics_across_folds == test_value)
Beispiel #5
0
def test_CrossValidation_calculate_metrics_per_fold():
    test_value = 3
    assert (Hyperpipe.CrossValidation(
        test_value, 1, True, 0.3, test_value,
        True).calculate_metrics_per_fold == test_value)
Beispiel #6
0
def test_CrossValidation_test_size():
    test_value = 0.37
    assert (Hyperpipe.CrossValidation(test_value, 1, True, test_value, 4,
                                      True).test_size == test_value)
Beispiel #7
0
def test_CrossValidation_eval_final_performance():
    test_value = True
    assert (Hyperpipe.CrossValidation(
        test_value, 1, test_value, 0.3, 4,
        True).eval_final_performance == test_value)
Beispiel #8
0
def test_CrossValidation_outer_cv():
    test_value = 3
    assert (Hyperpipe.CrossValidation(test_value, test_value, True, 0.3, 4,
                                      True).outer_cv == test_value)
Beispiel #9
0
def test_CrossValidation_inner_cv():
    test_value = 3
    assert (Hyperpipe.CrossValidation(test_value, 1, True, 0.3, 4,
                                      True).inner_cv == test_value)
Beispiel #10
0
def test_CrossValidation_inner_folds():
    test_value = dict()
    assert (Hyperpipe.CrossValidation(3, 1, True, 0.3, 4,
                                      test_value).inner_folds == test_value)