Skip to content

Commit 13c100b

Browse files
committed
Remove data_to_model_domain from outlier_detection
1 parent 8744470 commit 13c100b

File tree

2 files changed

+16
-27
lines changed

2 files changed

+16
-27
lines changed

Orange/base.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from collections import Iterable
44
import re
55
import warnings
6+
from typing import Callable
67

78
import numpy as np
89
import scipy
@@ -320,14 +321,18 @@ def backmap_probs(self, probs, n_values, backmappers):
320321
new_probs = new_probs / tots[:, None]
321322
return new_probs
322323

323-
def data_to_model_domain(self, data: Table) -> Table:
324+
def data_to_model_domain(
325+
self, data: Table, progress_callback: Callable = dummy_callback
326+
) -> Table:
324327
"""
325328
Transforms data to the model domain if possible.
326329
327330
Parameters
328331
----------
329332
data
330333
Data to be transformed to the model domain
334+
progress_callback
335+
Callback - callable - to report the progress
331336
332337
Returns
333338
-------
@@ -342,16 +347,24 @@ def data_to_model_domain(self, data: Table) -> Table:
342347
if data.domain == self.domain:
343348
return data
344349

350+
progress_callback(0)
345351
if self.original_domain.attributes != data.domain.attributes \
346352
and data.X.size \
347353
and not all_nan(data.X):
354+
progress_callback(0.5)
348355
new_data = data.transform(self.original_domain)
349356
if all_nan(new_data.X):
350357
raise DomainTransformationError(
351358
"domain transformation produced no defined values")
352-
return new_data.transform(self.domain)
359+
progress_callback(0.75)
360+
data = new_data.transform(self.domain)
361+
progress_callback(1)
362+
return data
353363

354-
return data.transform(self.domain)
364+
progress_callback(0.5)
365+
data = data.transform(self.domain)
366+
progress_callback(1)
367+
return data
355368

356369
def __call__(self, data, ret=Value):
357370
multitarget = len(self.domain.class_vars) > 1

Orange/classification/outlier_detection.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -49,30 +49,6 @@ def __call__(self, data: Table, progress_callback: Callable = None) \
4949
progress_callback(1)
5050
return Table.from_numpy(domain, data.X, data.Y, metas)
5151

52-
def data_to_model_domain(self, data: Table, progress_callback: Callable) \
53-
-> Table:
54-
if data.domain == self.domain:
55-
return data
56-
57-
progress_callback(0)
58-
if self.original_domain.attributes != data.domain.attributes \
59-
and data.X.size \
60-
and not all_nan(data.X):
61-
progress_callback(0.5)
62-
new_data = data.transform(self.original_domain)
63-
if all_nan(new_data.X):
64-
raise DomainTransformationError(
65-
"domain transformation produced no defined values")
66-
progress_callback(0.75)
67-
data = new_data.transform(self.domain)
68-
progress_callback(1)
69-
return data
70-
71-
progress_callback(0.5)
72-
data = data.transform(self.domain)
73-
progress_callback(1)
74-
return data
75-
7652

7753
class _OutlierLearner(SklLearner):
7854
__returns__ = _OutlierModel

0 commit comments

Comments
 (0)