1414from time import time
1515from sklearn .cluster import k_means
1616from elm import ELMClassifier , ELMRegressor , SimpleELMClassifier , SimpleELMRegressor
17- from random_hidden_layer import SimpleRandomHiddenLayer , RBFRandomHiddenLayer
17+ from random_layer import SimpleRandomLayer , RBFRandomLayer
1818
1919# <codecell>
2020
@@ -64,11 +64,10 @@ def res_dist(x, y, e, n_runs=100, random_state=None):
6464dgx_train , dgx_test , dgy_train , dgy_test = train_test_split (dgx , dgy , test_size = 0.2 )
6565
6666diabetes = load_diabetes ()
67- #dbx, dby = stdsc.fit_transform(diabetes.data), stdsc.fit_transform(diabetes.target)
6867dbx , dby = stdsc .fit_transform (diabetes .data ), diabetes .target
6968dbx_train , dbx_test , dby_train , dby_test = train_test_split (dbx , dby , test_size = 0.2 )
7069
71- mrx , mry = make_regression (n_samples = 2000 )
70+ mrx , mry = make_regression (n_samples = 2000 , n_targets = 2 )
7271mrx_train , mrx_test , mry_train , mry_test = train_test_split (mrx , mry , test_size = 0.2 )
7372
7473xtoy , ytoy = make_toy ()
@@ -78,50 +77,63 @@ def res_dist(x, y, e, n_runs=100, random_state=None):
7877
7978# <codecell>
8079
80+ # SimpleELMClassifier test
81+ elmc = SimpleELMClassifier (n_hidden = 500 )
82+ elmc .fit (dgx_train , dgy_train )
83+ print elmc .score (dgx_train , dgy_train ), elmc .score (dgx_test , dgy_test )
84+
85+ # <codecell>
86+
87+ # SimpleELMRegressor test
88+ elmr = SimpleELMRegressor ()
89+ elmr .fit (xtoy_train , ytoy_train )
90+ print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
91+ plot (xtoy , ytoy , xtoy , elmr .predict (xtoy ))
92+
93+ # <codecell>
94+
8195# RBF tests
82- elmc = ELMClassifier (RBFRandomHiddenLayer (activation_func = 'gaussian' ))
96+ elmc = ELMClassifier (RBFRandomLayer (activation_func = 'gaussian' ))
8397tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
8498
85- elmc = ELMClassifier (RBFRandomHiddenLayer (activation_func = 'poly_spline' , gamma = 2 ))
99+ elmc = ELMClassifier (RBFRandomLayer (activation_func = 'poly_spline' , gamma = 2 ))
86100tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
87101
88- elmc = ELMClassifier (RBFRandomHiddenLayer (activation_func = 'multiquadric' ))
102+ elmc = ELMClassifier (RBFRandomLayer (activation_func = 'multiquadric' ))
89103tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
90104
91105# Simple tests
92- elmc = ELMClassifier (SimpleRandomHiddenLayer (activation_func = 'sine' ))
106+ elmc = ELMClassifier (SimpleRandomLayer (activation_func = 'sine' ))
93107tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
94108
95- elmc = ELMClassifier (SimpleRandomHiddenLayer (activation_func = 'tanh' ))
109+ elmc = ELMClassifier (SimpleRandomLayer (activation_func = 'tanh' ))
96110tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
97111
98- elmc = ELMClassifier (SimpleRandomHiddenLayer (activation_func = 'tribas' ))
112+ elmc = ELMClassifier (SimpleRandomLayer (activation_func = 'tribas' ))
99113tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
100114
101- elmc = ELMClassifier (SimpleRandomHiddenLayer (activation_func = 'sigmoid' ))
115+ elmc = ELMClassifier (SimpleRandomLayer (activation_func = 'sigmoid' ))
102116tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
103117
104- elmc = ELMClassifier (SimpleRandomHiddenLayer (activation_func = 'hardlim' ))
118+ elmc = ELMClassifier (SimpleRandomLayer (activation_func = 'hardlim' ))
105119tr ,ts = res_dist (irx , iry , elmc , n_runs = 100 , random_state = 0 )
106120
107121# <codecell>
108122
109- hardlim = (lambda a : np .array (a > 0.0 , dtype = float ))
110- tribas = (lambda a : np .clip (1.0 - np .fabs (a ), 0.0 , 1.0 ))
111- elmr = ELMRegressor (SimpleRandomHiddenLayer (random_state = 0 , activation_func = tribas ))
123+ elmr = ELMRegressor (SimpleRandomLayer (random_state = 0 , activation_func = 'tribas' ))
112124elmr .fit (xtoy_train , ytoy_train )
113125print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
114126plot (xtoy , ytoy , xtoy , elmr .predict (xtoy ))
115127
116128# <codecell>
117129
118- rhl = SimpleRandomHiddenLayer (n_hidden = 200 )
130+ rhl = SimpleRandomLayer (n_hidden = 200 )
119131elmr = ELMRegressor (hidden_layer = rhl )
120132tr , ts = res_dist (mrx , mry , elmr , n_runs = 20 , random_state = 0 )
121133
122134# <codecell>
123135
124- rhl = RBFRandomHiddenLayer (n_hidden = 15 , gamma = 0.25 )
136+ rhl = RBFRandomLayer (n_hidden = 15 , gamma = 0.25 )
125137elmr = ELMRegressor (hidden_layer = rhl )
126138elmr .fit (xtoy_train , ytoy_train )
127139print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
@@ -132,33 +144,33 @@ def res_dist(x, y, e, n_runs=100, random_state=None):
132144nh = 10
133145(ctrs , _ , _ ) = k_means (xtoy_train , nh )
134146unit_rs = np .ones (nh )
135- rhl = RBFRandomHiddenLayer (n_hidden = nh , activation_func = 'poly_spline' , gamma = 3 )
136- #rhl = RBFRandomHiddenLayer (n_hidden=nh, activation_func='multiquadric', gamma=1)
137- # rhl = RBFRandomHiddenLayer (n_hidden=nh, centers=ctrs, radii=unit_rs, gamma=4 )
147+ # rhl = RBFRandomLayer (n_hidden=nh, activation_func='poly_spline', gamma=3)
148+ #rhl = RBFRandomLayer (n_hidden=nh, activation_func='multiquadric', gamma=1)
149+ rhl = RBFRandomLayer (n_hidden = nh , centers = ctrs , radii = unit_rs )
138150elmr = ELMRegressor (hidden_layer = rhl )
139151elmr .fit (xtoy_train , ytoy_train )
140152print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
141153plot (xtoy , ytoy , xtoy , elmr .predict (xtoy ))
142154
143155# <codecell>
144156
145- rbf_rhl = RBFRandomHiddenLayer (n_hidden = 100 , random_state = 0 , gamma = 0.1 )
157+ rbf_rhl = RBFRandomLayer (n_hidden = 100 , random_state = 0 , gamma = 0.1 )
146158elmc_rbf = ELMClassifier (hidden_layer = rbf_rhl )
147159elmc_rbf .fit (dgx_train , dgy_train )
148160print elmc_rbf .score (dgx_train , dgy_train ), elmc_rbf .score (dgx_test , dgy_test )
149161
150162def powtanh_xfer (activations , power = 1.0 ):
151163 return pow (np .tanh (activations ), power )
152164
153- #tanh_rhl = SimpleRandomHiddenLayer (n_hidden=5000, random_state=0)
154- tanh_rhl = SimpleRandomHiddenLayer (n_hidden = 5000 , activation_func = powtanh_xfer , activation_args = {'power' :2.0 })
165+ #tanh_rhl = SimpleRandomLayer (n_hidden=5000, random_state=0)
166+ tanh_rhl = SimpleRandomLayer (n_hidden = 5000 , activation_func = powtanh_xfer , activation_args = {'power' :2.0 })
155167elmc_tanh = ELMClassifier (hidden_layer = tanh_rhl )
156168elmc_tanh .fit (dgx_train , dgy_train )
157169print elmc_tanh .score (dgx_train , dgy_train ), elmc_tanh .score (dgx_test , dgy_test )
158170
159171# <codecell>
160172
161- rbf_rhl = RBFRandomHiddenLayer (n_hidden = 100 , gamma = 0.1 )
173+ rbf_rhl = RBFRandomLayer (n_hidden = 100 , gamma = 0.1 )
162174tr , ts = res_dist (dgx , dgy , ELMClassifier (hidden_layer = rbf_rhl ), n_runs = 100 , random_state = 0 )
163175
164176# <codecell>
@@ -168,13 +180,12 @@ def powtanh_xfer(activations, power=1.0):
168180
169181# <codecell>
170182
171- from sklearn .svm import SVR
172183from sklearn .ensemble import RandomForestRegressor
173184tr , ts = res_dist (dbx , dby , RandomForestRegressor (n_estimators = 15 ), n_runs = 100 , random_state = 0 )
174185hist (tr ), hist (ts )
175186print
176187
177- rhl = RBFRandomHiddenLayer (n_hidden = 15 , gamma = 0.01 )
188+ rhl = RBFRandomLayer (n_hidden = 15 , gamma = 0.01 )
178189tr ,ts = res_dist (dbx , dby , ELMRegressor (rhl ), n_runs = 100 , random_state = 0 )
179190hist (tr ), hist (ts )
180191print
@@ -192,19 +203,6 @@ def powtanh_xfer(activations, power=1.0):
192203
193204# <codecell>
194205
195- elmc = SimpleELMClassifier (n_hidden = 500 , activation_func = 'hardlim' )
196- elmc .fit (dgx_train , dgy_train )
197- print elmc .score (dgx_train , dgy_train ), elmc .score (dgx_test , dgy_test )
198-
199- # <codecell>
200-
201- elmr = SimpleELMRegressor ()
202- elmr .fit (xtoy_train , ytoy_train )
203- print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
204- plot (xtoy , ytoy , xtoy , elmr .predict (xtoy ))
205-
206- # <codecell>
207-
208206elmr = SimpleELMRegressor (activation_func = 'tribas' )
209207elmr .fit (xtoy_train , ytoy_train )
210208print elmr .score (xtoy_train , ytoy_train ), elmr .score (xtoy_test , ytoy_test )
0 commit comments