def setUpClass(cls): np.random.seed(seed=1234) cls.sklearn_model = DecisionTreeClassifier() cls.classifier = ScikitlearnDecisionTreeClassifier( model=cls.sklearn_model) cls.classifier.fit(x=x_train, y=y_train)
def setUpClass(cls): master_seed(seed=1234) super().setUpClass() cls.sklearn_model = DecisionTreeClassifier() cls.classifier = ScikitlearnDecisionTreeClassifier(model=cls.sklearn_model) cls.classifier.fit(x=cls.x_train_iris, y=cls.y_train_iris)
def setUpClass(cls): np.random.seed(seed=1234) sklearn_model = DecisionTreeClassifier() cls.classifier = ScikitlearnDecisionTreeClassifier(model=sklearn_model) assert (type(cls.classifier) == type( SklearnClassifier(model=sklearn_model))) cls.classifier.fit(x=x_train, y=y_train)
def test_classifier_type_check_fail_gradients(self): # Use a test classifier not providing gradients required by white-box attack classifier = ScikitlearnDecisionTreeClassifier(model=DecisionTreeClassifier()) with self.assertRaises(TypeError) as context: _ = AdversarialPatch(classifier=classifier) self.assertIn('For `AdversarialPatch` classifier must be an instance of ' '`art.classifiers.classifier.ClassifierNeuralNetwork` and ' '`art.classifiers.classifier.ClassifierGradients`, the provided classifier is instance of ' '(<class \'art.classifiers.scikitlearn.ScikitlearnClassifier\'>,).', str(context.exception))
def test_classifier_type_check_fail_gradients(self): # Use a test classifier not providing gradients required by white-box attack from art.classifiers.scikitlearn import ScikitlearnDecisionTreeClassifier from sklearn.tree import DecisionTreeClassifier classifier = ScikitlearnDecisionTreeClassifier(model=DecisionTreeClassifier()) with self.assertRaises(TypeError) as context: _ = ElasticNet(classifier=classifier) self.assertIn('For `ElasticNet` classifier must be an instance of ' '`art.classifiers.classifier.ClassifierGradients`, the provided classifier is instance of ' '(<class \'art.classifiers.scikitlearn.ScikitlearnClassifier\'>,).', str(context.exception))
def backend_test_classifier_type_check_fail(attack, classifier_expected_list=[], classifier=None): # Use a useless test classifier to test basic classifier properties class ClassifierNoAPI: pass noAPIClassifier = ClassifierNoAPI _backend_test_classifier_list_type_check_fail(attack, noAPIClassifier, [Classifier]) if len(classifier_expected_list) > 0: # Testing additional types of classifiers expected if classifier is None: if ClassifierGradients in classifier_expected_list or ClassifierNeuralNetwork in classifier_expected_list: # Use a test classifier not providing gradients required by white-box attack classifier = ScikitlearnDecisionTreeClassifier(model=DecisionTreeClassifier()) else: raise Exception( "a test classifier must be provided if classifiers other than " "ClassifierGradients and ClassifierNeuralNetwork are expected" ) _backend_test_classifier_list_type_check_fail(attack, classifier, classifier_expected_list)