Esempio n. 1
0
    def test_n_estimators(self):
        clf = ForestClassifier()
        assert clf.n_estimators == 10
        clf = ForestClassifier(n_estimators=17)
        assert clf.n_estimators == 17
        clf.n_estimators = 42
        assert clf.n_estimators == 42
        with pytest.raises(ValueError,
                           match="n_estimators must be an integer number"):
            clf.n_estimators = 0.42
        with pytest.raises(ValueError,
                           match="n_estimators must be an integer number"):
            clf.n_estimators = None
        with pytest.raises(ValueError,
                           match="n_estimators must be an integer number"):
            clf.n_estimators = "4"
        with pytest.raises(ValueError, match="n_estimators must be >= 1"):
            clf.n_estimators = 0
        with pytest.raises(ValueError, match="n_estimators must be >= 1"):
            clf.n_estimators = -3

        clf = ForestClassifier()
        # Check that  the properties checks the _fitted flag
        clf._fitted = True
        with pytest.raises(
                ValueError,
                match="You cannot change n_estimators after calling fit"):
            clf.n_estimators = 0.42
Esempio n. 2
0
    def test_n_samples_in_(self):
        clf = ForestClassifier()
        with pytest.raises(
                ValueError,
                match="You must call fit before asking for n_samples_in_"):
            _ = clf.n_samples_in_

        clf.n_samples_in_ = 42
        with pytest.raises(
                ValueError,
                match="You must call fit before asking for n_samples_in_"):
            _ = clf.n_samples_in_

        clf._fitted = True
        assert clf.n_samples_in_ == 42
        assert clf.n_samples_in_ == 42

        np.random.seed(42)
        X = np.random.randn(10, 3)
        y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])
        clf = ForestClassifier().fit(X, y)
        assert clf.n_samples_in_ == 10