def test_predict_different_inputs(self): ojanet = algorithms.Oja(minimized_data_size=1, verbose=False, step=0.01) data = np.array([[1, 2, 3]]).T target = np.array([[1, 2, 3]]).T ojanet.train(data, epsilon=0.01, epochs=100) self.assertInvalidVectorPred(ojanet, data.ravel(), target, decimal=2)
def test_oja_minimization(self): ojanet = algorithms.Oja(minimized_data_size=1, step=0.01, weights=np.ones((2, 1)) * 0.1, verbose=False) ojanet.train(self.data, epsilon=1e-5) minimized_data = ojanet.predict(self.data) self.assertTrue(np.all(np.round(minimized_data, 2) == self.result)) reconstructed = ojanet.reconstruct(minimized_data) self.assertTrue(np.allclose(reconstructed, self.data))
def test_reconstruct_different_inputs(self): ojanet = algorithms.Oja(minimized_data_size=1, verbose=False, step=0.01) data = np.array([[1, 2, 3]]).T target = np.array([[1, 2, 3]]).T input_vector = data.ravel() ojanet.train(data, epsilon=0.01, epochs=100) test_vectors = vectors_for_testing(input_vector) for i, test_vector in enumerate(test_vectors, start=1): np.testing.assert_array_almost_equal( ojanet.reconstruct(test_vector), target, decimal=1)
def test_oja_minimization(self): ojanet = algorithms.Oja(minimized_data_size=1, step=0.01, weights=np.ones((2, 1)) * 0.1, verbose=False) ojanet.train(self.data, epsilon=1e-5, epochs=100) minimized_data = ojanet.predict(self.data) np.testing.assert_array_almost_equal(minimized_data, self.result, decimal=2) reconstructed = ojanet.reconstruct(minimized_data) np.testing.assert_array_almost_equal(reconstructed, self.data, decimal=3)
def test_oja_exceptions(self): ojanet = algorithms.Oja(minimized_data_size=1, step=0.01, verbose=False) with self.assertRaises(ValueError): # Can't reconstruct without training ojanet.reconstruct(np.random.random((4, 1))) with self.assertRaises(ValueError): # Can't predict without training ojanet.predict(np.random.random((4, 1))) ojanet.train(self.data, epsilon=1e-5) with self.assertRaises(ValueError): # Invalid #feature for reconstruct ojanet.reconstruct(np.random.random((3, 3))) with self.assertRaises(ValueError): # Invalid #feature for train ojanet.train(np.random.random((4, 10)))
def test_train_different_inputs(self): self.assertInvalidVectorTrain( algorithms.Oja(minimized_data_size=1, verbose=False, step=0.01), np.array([1, 2, 3]))
a = oya(w_start, y_start1, iris_data, 4) a = np.array(a) check = matrixmult(np.array(a[0]), np.array(a[1])) check = np.array(check) iris_data = np.array(iris_data) check_t = trans(check) print('final results(iris)') print(check_t) print('iris data') print(iris_data) print('decompressing(iris)') print(check_t - iris_data) iris_data = np.array(iris_data) ojanet = algorithms.Oja(minimized_data_size=1, step=0.01, verbose=False) ojanet.train(iris_data, epochs=100) minimized = ojanet.predict(iris_data) print('Minimized(iris, neupy)', minimized) print('Reconstruct(iris)', ojanet.reconstruct(minimized)) wine_data = np.array(wine_data) ojanet = algorithms.Oja(minimized_data_size=1, step=0.01, verbose=False) ojanet.train(wine_data, epochs=100) minimized = ojanet.predict(wine_data) print('Minimized(wine, neupy)', minimized) print('Reconstruct(wine)', ojanet.reconstruct(minimized))