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])
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)
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)
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])
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])
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:
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")
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)
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)
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)
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)
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])
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])