def test_Classifier_PartialFit(self): X, T = self.data_class elm0 = ELMClassifier(n_neurons=4, alpha=1, random_state=0) elm1 = ELMClassifier(n_neurons=4, alpha=1, random_state=0) elm0.fit(X, T) elm1.partial_fit(X[::2], T[::2]) elm1.partial_fit(X[1::2], T[1::2]) assert_allclose(elm0.solver_.coef_, elm1.solver_.coef_)
def test_Classifier_PartialFit(data_class): X, T = data_class elm0 = ELMClassifier(n_neurons=4, alpha=1, random_state=0) elm1 = ELMClassifier(n_neurons=4, alpha=1, random_state=0) elm0.fit(X, T) elm1.partial_fit(X[::2], T[::2]) elm1.partial_fit(X[1::2], T[1::2]) assert elm0.solver_.coef_ == approx(elm1.solver_.coef_)
def test_IterativeSolver_SkipIntermediateSolution(self): X, T = self.data_class elm = ELMClassifier(classes=[0, 1, 2], n_neurons=10, alpha=1) X0 = X[T == 0] Y0 = T[T == 0] elm.partial_fit(X0, Y0, compute_output_weights=False) X1 = X[T == 1] Y1 = T[T == 1] elm.partial_fit(X1, Y1, compute_output_weights=False) X2 = X[T == 2] Y2 = T[T == 2] elm.partial_fit(X2, Y2) Yh = elm.predict(X) self.assertEqual(set(Yh), {0, 1, 2})
def test_IterativeClassification_FeedClassesOneByOne(self): X, T = self.data_class elm = ELMClassifier(classes=[0, -1, -2], n_neurons=10, alpha=1) X0 = X[T == 0] Y0 = T[T == 0] elm.partial_fit(X0, Y0) X1 = X[T == 1] Y1 = T[T == 1] elm.partial_fit(X1, Y1, update_classes=True) X2 = X[T == 2] Y2 = T[T == 2] elm.partial_fit(X2, Y2, update_classes=True) Yh = elm.predict(X) self.assertEqual(set(Yh), {0, 1, 2})