def test_SLFN_AddNeuronsTwice_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     elm.add_neurons(1, "lin")
     self.assertEquals(1, len(elm.nnet.get_neurons()))
     self.assertEquals(2, elm.nnet.get_neurons()[0][0])
Esempio n. 2
0
 def test_2_NonNumpyTargets_RaiseError(self):
     X = np.array([[1, 2], [3, 4], [5, 6]])
     T = np.array([['a'], ['b'], ['c']])
     elm = ELM(2, 1)
     elm.add_neurons(1, "lin")
     self.assertRaises(AssertionError, elm.train, X, T)
Esempio n. 3
0
 def test_4_OneDimensionTargets_RunsCorrectly(self):
     X = np.array([1, 2, 3])
     T = np.array([1, 2, 3])
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     elm.train(X, T)
Esempio n. 4
0
 def test_21_SLFN_AddNeuronsTwice_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     elm.add_neurons(1, "lin")
     self.assertEquals(1, len(elm.neurons))
     self.assertEquals(2, elm.neurons[0][1])
Esempio n. 5
0
 def test_22_AddNeurons_InitBias_BiasInModel(self):
     elm = ELM(1, 1)
     bias = np.array([1, 2, 3])
     elm.add_neurons(3, "sigm", None, bias)
     np.testing.assert_array_almost_equal(bias, elm.neurons[0][3])
Esempio n. 6
0
feature_test = feature_S02
X_train = np.array(feature_train.iloc[:, :-1])
y_train = np.array(feature_train.iloc[:, -1])
X_test = np.array(feature_test.iloc[:, :-1])
y_test = np.array(feature_test.iloc[:, -1])
y_all = y_train
X_all = X_train
X_train_0 = X_train[y_train == 0][:]
X_train_1 = X_train[y_train == 1][:]
X_train_0_down = np.array(random.sample(X_train_0, X_train_1.shape[0]))
X_train = np.vstack([X_train_0_down, X_train_1])
y_train_0 = np.zeros([X_train_0_down.shape[0], 1], dtype=int)
y_train_1 = np.ones([X_train_1.shape[0], 1], dtype=int)
y_train = np.vstack([y_train_0, y_train_1])
y_train = utils.one_hot(y_train)
elm = ELM(X_train.shape[1], y_train.shape[1], classification="c")
elm.add_neurons(10, "sigm")
elm.train(X_train, y_train, "CV", k=10)

Y = elm.predict(X_train)
print(elm.error(y_train, Y))
# y_pred = np.argmax(Y, 1)
# cm = metrics.confusion_matrix(y_true=y_test, y_pred=y_pred)
# print cm
# X_hmm = []
# lengths_hmm = []
# frameNumber = 20
# n_components = 5
# n_mix = 6
# for index in range(0, len(y_all)):
#     if y_all[index] == 0:
Esempio n. 7
0
 def test_18_SLFN_AddRbfLinfNeurons_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "rbf_linf")
     self.assertEquals("rbf_linf", elm.neurons[0][0])
 def test_ProjectELM_WorksCorrectly(self):
     X = np.array([[1], [2], [3]])
     elm = ELM(1, 1)
     elm.add_neurons(1, "tanh", np.array([[1]]), np.array([0]))
     H = elm.project(X)
     np.testing.assert_allclose(H, np.tanh(X))
 def test_InitELM_SetNorm(self):
     nr = 0.03
     elm = ELM(1, 1, norm=nr)
     self.assertEqual(nr, elm.nnet.norm)
 def test_Classification_Works(self):
     elm = ELM(1, 2)
     X = np.array([1, 2, 3, 4, 5, 6])
     T = np.array([[1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1]])
     elm.add_neurons(1, "lin")
     elm.train(X, T, 'c')
 def test_WeightedClassification_DefaultWeightsWork(self):
     elm = ELM(1, 2)
     X = np.array([1, 2, 3, 1, 2, 3])
     T = np.array([[1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1]])
     elm.add_neurons(1, "lin")
     elm.train(X, T, 'wc')
 def test_ELMWithBatch_SetsBatch(self):
     elm = ELM(1, 1, batch=123)
     self.assertEqual(123, elm.batch)
 def test_StrCustomNeurons_DisplaysName(self):
     elm = ELM(1, 1)
     func = np.sin
     elm.add_neurons(1, func)
     s_elm = "%s" % elm
     self.assertIn("sin", s_elm)
 def test_Str_Works(self):
     elm = ELM(1, 1)
     s = "%s" % elm
     self.assertIn("ELM with 1 inputs and 1 output", s)
 def test_LinearNeurons_DefaultMatrix_Identity(self):
     elm = ELM(4, 1)
     elm.add_neurons(3, "lin")
     np.testing.assert_array_almost_equal(np.eye(4, 3),
                                          elm.nnet.get_neurons()[0][2])
 def test_MRSR_Works(self):
     X = np.random.rand(10, 3)
     T = np.random.rand(10, 2)
     elm = ELM(3, 2)
     elm.add_neurons(5, "tanh")
     elm.train(X, T, "LOO", "OP")
 def test_SLFN_AddLinearNeurons_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     self.assertEquals("lin", elm.nnet.get_neurons()[0][1])
 def test_MRSR2_Works(self):
     X = np.random.rand(20, 9)
     T = np.random.rand(20, 12)
     elm = ELM(9, 12)
     elm.add_neurons(5, "tanh")
     elm.train(X, T, "LOO", "OP")
Esempio n. 19
0
 def test_15_SLFN_AddTanhNeurons_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "tanh")
     self.assertEquals("tanh", elm.neurons[0][0])
 def test_ZeroInputs_RunsCorrectly(self):
     X = np.array([[0, 0], [0, 0], [0, 0]])
     T = np.array([1, 2, 3])
     elm = ELM(2, 1)
     elm.add_neurons(1, "lin")
     elm.train(X, T)
Esempio n. 21
0
 def test_19_SLFN_AddUfuncNeurons_GotThem(self):
     elm = ELM(1, 1)
     func = np.frompyfunc(lambda a: a + 1, 1, 1)
     elm.add_neurons(1, func)
     self.assertIs(func, elm.neurons[0][0])
 def test_OneDimensionTargets2_RunsCorrectly(self):
     X = np.array([[1, 2], [3, 4], [5, 6]])
     T = np.array([[0], [0], [0]])
     elm = ELM(2, 1)
     elm.add_neurons(1, "lin")
     elm.train(X, T)
Esempio n. 23
0
 def test_1_NonNumpyInputs_RaiseError(self):
     X = np.array([['1', '2'], ['3', '4'], ['5', '6']])
     T = np.array([[1], [2], [3]])
     elm = ELM(2, 1)
     elm.add_neurons(1, "lin")
     self.assertRaises(AssertionError, elm.train, X, T)
 def test_TrainWithoutNeurons_RaiseError(self):
     X = np.array([1, 2, 3])
     T = np.array([1, 2, 3])
     elm = ELM(1, 1)
     self.assertRaises(AssertionError, elm.train, X, T)
Esempio n. 25
0
 def test_23_AddNeurons_InitW_WInModel(self):
     elm = ELM(2, 1)
     W = np.array([[1, 2, 3], [4, 5, 6]])
     elm.add_neurons(3, "sigm", W, None)
     np.testing.assert_array_almost_equal(W, elm.neurons[0][2])
 def test_DifferentNumberOfSamples_RaiseError(self):
     X = np.array([[1, 2], [3, 4], [5, 6]])
     T = np.array([[1], [2]])
     elm = ELM(2, 1)
     self.assertRaises(AssertionError, elm.train, X, T)
Esempio n. 27
0
 def test_3_OneDimensionInputs_RunsCorrectly(self):
     X = np.array([1, 2, 3])
     T = np.array([[1], [2], [3]])
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     elm.train(X, T)
 def test_LinearNeurons_MoreThanInputs_Truncated(self):
     elm = ELM(2, 1)
     elm.add_neurons(3, "lin")
     self.assertEqual(2, elm.nnet.get_neurons()[0][0])
Esempio n. 29
0
 def test_5_WrongDimensionalityInputs_RaiseError(self):
     X = np.array([[1, 2], [3, 4], [5, 6]])
     T = np.array([[1], [2], [3]])
     elm = ELM(1, 1)
     elm.add_neurons(1, "lin")
     self.assertRaises(AssertionError, elm.train, X, T)
 def test_SLFN_AddRbfL2Neurons_GotThem(self):
     elm = ELM(1, 1)
     elm.add_neurons(1, "rbf_l2")
     self.assertEquals("rbf_l2", elm.nnet.get_neurons()[0][1])