@@ -195,7 +195,7 @@ def metrics(self) -> list[str]:
195195 Returns:
196196 A list of metric names.
197197 """
198- return list ( self ._metrics )
198+ return self ._metrics
199199
200200 def compute (
201201 self ,
@@ -220,24 +220,16 @@ def compute(
220220 if array is None :
221221 array = "original"
222222
223- if features is not None :
224- try :
225- indices = [self .features .index (f ) for f in features ]
226- except ValueError as e :
227- errorMessage = "Feature not found in 'compute()'."
228- log .exception (errorMessage )
229- raise RuntimeError (errorMessage ) from e
230223 for name , function in metric .items ():
231224 self ._metrics [name ] = Metric (
232225 dataset = self ,
233226 name = name ,
234227 function = function ,
235228 array = array ,
236229 params = params ,
237- indices = indices
230+ features = features
238231 )
239232
240-
241233 def scale (
242234 self ,
243235 interval : tuple [float , float ] | None = None ,
@@ -248,8 +240,7 @@ def scale(
248240
249241 Args:
250242 interval: The interval to scale the data to.
251- features: The features to scale. All features will be scaled if
252- unspecified.
243+ features: The features to scale. All will scale if unspecified
253244
254245 Raises:
255246 ValueError: if features are not found
@@ -283,8 +274,7 @@ def discretize(
283274
284275 Args:
285276 bins: Number of bins to use, bins in each feature, or bin edges.
286- features: List of features to use for the binning. All features will
287- be encoded if unspecified.
277+ features: List of features to bin. All will bin if unspecified.
288278 strategy: sklearn KBinsDiscretizer strategy to use.
289279
290280 Raises:
@@ -315,8 +305,7 @@ def encode(
315305 assuming they are discrete.
316306
317307 Args:
318- features: The features to use for the binning. All features will be
319- encoded if unspecified.
308+ features: The features to encode. All will encode if unspecified.
320309 dimensions: The number of dimensions to take the encoding in
321310
322311 Raises:
@@ -373,34 +362,34 @@ def save(
373362 log .info ("Data successfully saved at '%s'." , filePath )
374363
375364 def __repr__ (self ) -> str :
376- transformString = (
365+ transformStr = (
377366 f", transforms=original→{ '→' .join (self ._transforms .queued [1 :])} "
378367 if len (self ._transforms ) > 1
379368 else ""
380369 )
381370 return (
382371 f"Dataset(name='{ self .name } ', size={ self .size } , "
383- f"features={ self .features } { transformString } )"
372+ f"features={ self .features } { transformStr } )"
384373 )
385374
386375 def __str__ (self ) -> str :
387376 transforms = self ._transforms .queued [1 :]
388377 if len (transforms ) == 0 :
389- transformString = ""
378+ transformStr = ""
390379 elif len (transforms ) == 1 :
391- transformString = f"{ transforms [0 ]} "
380+ transformStr = f"{ transforms [0 ]} "
392381 elif len (transforms ) == 2 :
393- transformString = f"{ transforms [0 ]} and { transforms [1 ]} "
382+ transformStr = f"{ transforms [0 ]} and { transforms [1 ]} "
394383 else :
395- transformString = f"{ ', ' .join (transforms [:- 1 ])} and { transforms [- 1 ]} "
384+ transformStr = f"{ ', ' .join (transforms [:- 1 ])} and { transforms [- 1 ]} "
396385
397- featureString = (
386+ featureStr = (
398387 f"[{ ', ' .join (map (str , self .features [:3 ]))} "
399388 f"{ ', ...' if len (self .features ) > 3 else '' } ]"
400389 )
401390 return (
402391 f"Dataset { self .name } : { self .size [0 ]} rows x "
403- f"{ self .size [1 ]} features { featureString } { transformString } "
392+ f"{ self .size [1 ]} features { featureStr } { transformStr } "
404393 )
405394
406395 def __len__ (self ) -> int :
@@ -411,13 +400,15 @@ def __len__(self) -> int:
411400
412401 def __getattr__ (self , attr : str ) -> np .ndarray :
413402 """
414- Returns the specified transformed version of the dataset.
403+ Returns paramters of the dataset.
415404
416405 Args:
417- attr: Specify the name of a transform function
406+ attr: Specify the parameter to get
418407 """
419408 if attr in self ._transforms .queued :
420409 return self ._transforms [attr ]
410+ elif attr in self ._metrics :
411+ return self ._metrics [attr ]()
421412 else :
422413 raise AttributeError (f"'Dataset' object has no attribute '{ attr } '" )
423414
0 commit comments