@@ -23,6 +23,7 @@ def __init__(self, parent):
2323 QWidget .__init__ (self , parent )
2424 gui .OWComponent .__init__ (self , parent )
2525 self .parameters = {}
26+ self .parameters_name = {}
2627 self .parent_callback = parent .settings_changed
2728
2829 layout = QFormLayout ()
@@ -65,6 +66,7 @@ def __combo_parameter_update(self, name):
6566 index = getattr (self , name + "_index" )
6667 values = getattr (self , name + "_values" )
6768 self .parameters [name ] = values [index ][0 ]
69+ self .parameters_name [name ] = values [index ][1 ]
6870
6971 def _create_radio_parameter (self , name , label ):
7072 self .__radio_parameter_update (name )
@@ -85,12 +87,14 @@ def __radio_parameter_update(self, name):
8587 index = getattr (self , name + "_index" )
8688 values = getattr (self , name + "_values" )
8789 self .parameters [name ] = values [index ][0 ]
90+ self .parameters_name [name ] = values [index ][1 ]
8891
8992
9093class TSNEParametersEditor (ManifoldParametersEditor ):
9194 _metrics = ("euclidean" , "manhattan" , "chebyshev" , "jaccard" )
9295 metric_index = Setting (0 )
93- metric_values = [(x , x .capitalize ()) for x in _metrics ]
96+ metric_values = [("euclidean" , "Euclidean" ), ("manhattan" , "Manhattan" ),
97+ ("chebyshev" , "Chebyshev" ), ("jaccard" , "Jaccard" )]
9498
9599 perplexity = Setting (30 )
96100 early_exaggeration = Setting (12 )
@@ -110,6 +114,13 @@ def __init__(self, parent):
110114 self ._create_spin_parameter ("n_iter" , 250 , 10000 , "Max iterations:" )
111115 self ._create_radio_parameter ("initialization" , "Initialization:" )
112116
117+ def get_report_parameters (self ):
118+ return {"Metric" : self .parameters_name ["metric" ],
119+ "Perplexity" : self .parameters ["perplexity" ],
120+ "Early exaggeration" : self .parameters ["early_exaggeration" ],
121+ "Learning rate" : self .parameters ["learning_rate" ],
122+ "Max iterations" : self .parameters ["n_iter" ],
123+ "Initialization" : self .parameters_name ["initialization" ]}
113124
114125class MDSParametersEditor (ManifoldParametersEditor ):
115126 max_iter = Setting (300 )
@@ -128,13 +139,19 @@ def get_parameters(self):
128139 par = {"n_init" : 1 , ** par }
129140 return par
130141
142+ def get_report_parameters (self ):
143+ return {"Max iterations" : self .parameters ["max_iter" ],
144+ "Initialization" : self .parameters_name ["init_type" ]}
145+
131146class IsomapParametersEditor (ManifoldParametersEditor ):
132147 n_neighbors = Setting (5 )
133148
134149 def __init__ (self , parent ):
135150 super ().__init__ (parent )
136151 self ._create_spin_parameter ("n_neighbors" , 1 , 10 ** 2 , "Neighbors:" )
137152
153+ def get_report_parameters (self ):
154+ return {"Neighbors" : self .parameters ["n_neighbors" ]}
138155
139156class LocallyLinearEmbeddingParametersEditor (ManifoldParametersEditor ):
140157 n_neighbors = Setting (5 )
@@ -151,6 +168,10 @@ def __init__(self, parent):
151168 self ._create_spin_parameter ("n_neighbors" , 1 , 10 ** 2 , "Neighbors:" )
152169 self ._create_spin_parameter ("max_iter" , 10 , 10 ** 4 , "Max iterations:" )
153170
171+ def get_report_parameters (self ):
172+ return {"Method" : self .parameters_name ["method" ],
173+ "Neighbors" : self .parameters ["n_neighbors" ],
174+ "Max iterations" : self .parameters ["max_iter" ]}
154175
155176class SpectralEmbeddingParametersEditor (ManifoldParametersEditor ):
156177 affinity_index = Setting (0 )
@@ -161,6 +182,8 @@ def __init__(self, parent):
161182 super ().__init__ (parent )
162183 self ._create_combo_parameter ("affinity" , "Affinity:" )
163184
185+ def get_report_parameters (self ):
186+ return {"Affinity" : self .parameters_name ["affinity" ]}
164187
165188class OWManifoldLearning (OWWidget ):
166189 name = "Manifold Learning"
@@ -331,8 +354,9 @@ def get_method_parameters(self, data, method):
331354 def send_report (self ):
332355 method = self .MANIFOLD_METHODS [self .manifold_method_index ]
333356 self .report_items ((("Method" , method .name ),))
334- parameters = self .get_method_parameters (self .data , method )
335- self .report_items ("Method parameters" , tuple (parameters .items ()))
357+ parameters = {"Number of components" : self .n_components }
358+ parameters .update (self .params_widget .get_report_parameters ())
359+ self .report_items ("Method parameters" , parameters )
336360 if self .data :
337361 self .report_data ("Data" , self .data )
338362
0 commit comments