@@ -22,13 +22,16 @@ def test_neural_net():
2222 classes = ['setosa' , 'versicolor' , 'virginica' ]
2323 iris .classes_to_numbers (classes )
2424 n_samples , n_features = len (iris .examples ), iris .target
25+
2526 X , y = np .array ([x [:n_features ] for x in iris .examples ]), \
2627 np .array ([x [n_features ] for x in iris .examples ])
28+
2729 nnl_gd = NeuralNetworkLearner (iris , [4 ], l_rate = 0.15 , epochs = 100 , optimizer = stochastic_gradient_descent ).fit (X , y )
2830 assert grade_learner (nnl_gd , iris_tests ) > 0.7
2931 assert err_ratio (nnl_gd , iris ) < 0.15
32+
3033 nnl_adam = NeuralNetworkLearner (iris , [4 ], l_rate = 0.001 , epochs = 200 , optimizer = adam ).fit (X , y )
31- assert grade_learner (nnl_adam , iris_tests ) == 1
34+ assert grade_learner (nnl_adam , iris_tests ) > 0.7
3235 assert err_ratio (nnl_adam , iris ) < 0.15
3336
3437
@@ -37,21 +40,26 @@ def test_perceptron():
3740 classes = ['setosa' , 'versicolor' , 'virginica' ]
3841 iris .classes_to_numbers (classes )
3942 n_samples , n_features = len (iris .examples ), iris .target
43+
4044 X , y = np .array ([x [:n_features ] for x in iris .examples ]), \
4145 np .array ([x [n_features ] for x in iris .examples ])
46+
4247 pl_gd = PerceptronLearner (iris , l_rate = 0.01 , epochs = 100 , optimizer = stochastic_gradient_descent ).fit (X , y )
4348 assert grade_learner (pl_gd , iris_tests ) == 1
4449 assert err_ratio (pl_gd , iris ) < 0.2
50+
4551 pl_adam = PerceptronLearner (iris , l_rate = 0.01 , epochs = 100 , optimizer = adam ).fit (X , y )
4652 assert grade_learner (pl_adam , iris_tests ) == 1
4753 assert err_ratio (pl_adam , iris ) < 0.2
4854
4955
5056def test_rnn ():
5157 data = imdb .load_data (num_words = 5000 )
58+
5259 train , val , test = keras_dataset_loader (data )
5360 train = (train [0 ][:1000 ], train [1 ][:1000 ])
5461 val = (val [0 ][:200 ], val [1 ][:200 ])
62+
5563 rnn = SimpleRNNLearner (train , val )
5664 score = rnn .evaluate (test [0 ][:200 ], test [1 ][:200 ], verbose = False )
5765 assert score [1 ] >= 0.2
@@ -62,6 +70,7 @@ def test_autoencoder():
6270 classes = ['setosa' , 'versicolor' , 'virginica' ]
6371 iris .classes_to_numbers (classes )
6472 inputs = np .asarray (iris .examples )
73+
6574 al = AutoencoderLearner (inputs , 100 )
6675 print (inputs [0 ])
6776 print (al .predict (inputs [:1 ]))
0 commit comments