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