Former-commit-id:master7577c066df[formerlyef07c32f57] [formerlyc31ec94801[formerly8efdb37e72]] [formerly2f296e3a3a[formerly2ba9fd9b57] [formerly1107c80cd2[formerlyeae32b8c35]]] [formerly4bf6d4e226[formerly3e4c28ea84] [formerlyef0a4a2bad[formerly24ce369846]] [formerlyc3ea5c1bf5[formerlyf8aa2fb26c] [formerly443a27fe8f[formerly41a1e074c5]]]] [formerly9b7a1c3c96[formerly8880248ba7] [formerly9cf43e3dbd[formerly71c0fedeb7]] [formerly7825d2ed4c[formerlyb6ca2f6bfc] [formerly8220333a41[formerly783fd3f20d]]] [formerly6cf5b2d04c[formerly2194355f3f] [formerly804c1e1563[formerlyc62b2de017]] [formerly5a431c0dea[formerly753022cd11] [formerlyac4738da2a[formerly8cb4dbe061]]]]] [formerly2960a16fb9[formerly334a8cb46b] [formerly3e5c0fb950[formerly7ea204f5c9]] [formerly743f536186[formerly286f44d475] [formerly2d50f9affb[formerlyb03e910abe]]] [formerly6324c78b77[formerlyccaf3d81e8] [formerlybb32a3ac69[formerlyaac5c7e848]] [formerly2db3b84676[formerly603d44c793] [formerly3c427aaa3c[formerly9857a406ba]]]] [formerly49e35de3cf[formerly564fe012be] [formerlyf7abdd73a2[formerly5ed6ea6a87]] [formerlye01595a9bb[formerly1dd55d4ed8] [formerlycf9f90fa25[formerly9e51b38d31]]] [formerlye05a9e8671[formerlyeb9abf958b] [formerly16cd4e864d[formerlyfc6ce544ca]] [formerlyfc06fb0384[formerlyb04e61f209] [formerly1a7ab3be37[formerly52581e06a6]]]]]] Former-commit-id:04f20bc2e4[formerlya91b257a82] [formerlybafffa3fc5[formerly0307421bd2]] [formerlycb696607b6[formerly620a6b9a93] [formerlyf1dbf2c0c0[formerly7da35b5b1f]]] [formerlya9b446dca6[formerlyd590ae8e00] [formerly38693439fa[formerly5373b78ffb]] [formerly0f0840e56e[formerly29ab021742] [formerly4d97bc2c07[formerly11817c16a8]]]] [formerlyf5fc2df358[formerlye049d045fb] [formerly8424f1897b[formerly9f0ca96d4d]] [formerly5b86216b0a[formerly31201a0804] [formerly6b5274965d[formerlyfc5c9d6d3a]]] [formerlyaa4f6f4784[formerly45947e2455] [formerly70f0fc7829[formerlyc13d43d327]] [formerlycf4492ba56[formerly8b16ec84f7] [formerly1a7ab3be37]]]] Former-commit-id:8f9a398c8a[formerly34d53ed8f8] [formerly19a8abe834[formerlyeb7da94480]] [formerlybd1021a232[formerlyc6bd2f7aca] [formerlyaaaf3dfd85[formerlydca9da38b2]]] [formerly0191ffdbc5[formerly41cbca5756] [formerly192603e34b[formerlya280b1afe2]] [formerlyf9cd6e03ec[formerly2400325e32] [formerly66082a5322[formerly5f025ac39c]]]] Former-commit-id:680a1408b5[formerlyfa0a69db2f] [formerlye81b210c5f[formerly34b612edc3]] [formerly75705f9417[formerly75a1daea03] [formerlyf53cda1427[formerly9251c1142a]]] Former-commit-id:953692cd22[formerly07bf5237e2] [formerly9363895eee[formerly5c0b104f99]] Former-commit-id:ebbc10dbb7[formerly23dea63cb9] Former-commit-id:589b3da70d
| @@ -245,26 +245,26 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| """ | """ | ||||
| # print('Fit:', self._clf) | # print('Fit:', self._clf) | ||||
| if self._fitted: | |||||
| if self._fitted: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | ||||
| self._input_column_names = self._training_inputs.columns | self._input_column_names = self._training_inputs.columns | ||||
| if self._training_inputs is None: | |||||
| if self._training_inputs is None: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| #print('Fit: ', self._clf) | |||||
| #print('Fit: ', self._training_inputs.values.shape) | |||||
| #print('Fit: ', self._clf.fit(self._training_inputs.values)) | |||||
| # print('Fit: ', self._clf) | |||||
| # print('Fit: ', self._training_inputs.values.shape) | |||||
| # print('Fit: ', self._clf.fit(self._training_inputs.values)) | |||||
| self._clf.fit(X=self._training_inputs.values, **self._clf_fit_parameter) | self._clf.fit(X=self._training_inputs.values, **self._clf_fit_parameter) | ||||
| self._fitted = True | self._fitted = True | ||||
| self._set_subseq_inds() | self._set_subseq_inds() | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -282,7 +282,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| 1 marks Outliers, 0 marks normal. | 1 marks Outliers, 0 marks normal. | ||||
| """ | """ | ||||
| if not self._fitted: | |||||
| if not self._fitted: # pragma: no cover | |||||
| raise PrimitiveNotFittedError("Primitive not fitted.") | raise PrimitiveNotFittedError("Primitive not fitted.") | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | if self.hyperparams['use_semantic_types']: | ||||
| @@ -314,15 +314,16 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| else: | else: | ||||
| sk_output, _, _ = self._clf.predict(sk_inputs.values) | sk_output, _, _ = self._clf.predict(sk_inputs.values) | ||||
| # print(sk_output) | # print(sk_output) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -345,7 +346,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| 1 marks Outliers, 0 marks normal. | 1 marks Outliers, 0 marks normal. | ||||
| """ | """ | ||||
| if not self._fitted: | |||||
| if not self._fitted: # pragma: no cover | |||||
| raise PrimitiveNotFittedError("Primitive not fitted.") | raise PrimitiveNotFittedError("Primitive not fitted.") | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | if self.hyperparams['use_semantic_types']: | ||||
| @@ -377,13 +378,13 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| else: | else: | ||||
| sk_output, _, _ = self._clf.decision_function(sk_inputs.values) | sk_output, _, _ = self._clf.decision_function(sk_inputs.values) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -477,7 +478,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| self._fitted = True | self._fitted = True | ||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| Args: | Args: | ||||
| @@ -508,7 +509,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | ||||
| hyperparams: Hyperparams) -> bool: | |||||
| hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -540,7 +541,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: | |||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| Args: | Args: | ||||
| @@ -572,7 +573,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -592,7 +593,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| Args: | Args: | ||||
| @@ -612,7 +613,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| return outputs | return outputs | ||||
| @classmethod | @classmethod | ||||
| def _add_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams, primitiveNo): | |||||
| def _add_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams, primitiveNo): # pragma: no cover | |||||
| """ | """ | ||||
| Add target columns metadata | Add target columns metadata | ||||
| Args: | Args: | ||||
| @@ -638,7 +639,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -148,7 +148,7 @@ class AutoRegOD(CollectiveBaseDetector): | |||||
| return pred_score, X_left_inds.ravel(), X_right_inds.ravel() | return pred_score, X_left_inds.ravel(), X_right_inds.ravel() | ||||
| if __name__ == "__main__": | |||||
| if __name__ == "__main__": # pragma: no cover | |||||
| X_train = np.asarray( | X_train = np.asarray( | ||||
| [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, | [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, | ||||
| 100]).reshape(-1, 1) | 100]).reshape(-1, 1) | ||||
| @@ -22,7 +22,7 @@ from sklearn.utils.validation import check_is_fitted | |||||
| from sklearn.utils.multiclass import check_classification_targets | from sklearn.utils.multiclass import check_classification_targets | ||||
| def _pprint(params, offset=0, printer=repr): | |||||
| def _pprint(params, offset=0, printer=repr): # pragma: no cover | |||||
| # noinspection PyPep8 | # noinspection PyPep8 | ||||
| """Pretty print the dictionary 'params' | """Pretty print the dictionary 'params' | ||||
| @@ -114,7 +114,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| @abc.abstractmethod | @abc.abstractmethod | ||||
| def __init__(self, contamination=0.1, | def __init__(self, contamination=0.1, | ||||
| window_size=1, | window_size=1, | ||||
| step_size=1): | |||||
| step_size=1): # pragma: no cover | |||||
| if not (0. < contamination <= 0.5): | if not (0. < contamination <= 0.5): | ||||
| raise ValueError("contamination must be in (0, 0.5], " | raise ValueError("contamination must be in (0, 0.5], " | ||||
| @@ -129,7 +129,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| # noinspection PyIncorrectDocstring | # noinspection PyIncorrectDocstring | ||||
| @abc.abstractmethod | @abc.abstractmethod | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| """Fit detector. y is ignored in unsupervised methods. | """Fit detector. y is ignored in unsupervised methods. | ||||
| Parameters | Parameters | ||||
| @@ -148,7 +148,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| pass | pass | ||||
| @abc.abstractmethod | @abc.abstractmethod | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| """Predict raw anomaly scores of X using the fitted detector. | """Predict raw anomaly scores of X using the fitted detector. | ||||
| The anomaly score of an input sample is computed based on the fitted | The anomaly score of an input sample is computed based on the fitted | ||||
| @@ -169,7 +169,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| pass | pass | ||||
| @deprecated() | @deprecated() | ||||
| def fit_predict(self, X, y=None): | |||||
| def fit_predict(self, X, y=None): # pragma: no cover | |||||
| """Fit detector first and then predict whether a particular sample | """Fit detector first and then predict whether a particular sample | ||||
| is an outlier or not. y is ignored in unsupervised models. | is an outlier or not. y is ignored in unsupervised models. | ||||
| @@ -197,7 +197,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| self.fit(X, y) | self.fit(X, y) | ||||
| return self.labels_ | return self.labels_ | ||||
| def predict(self, X): | |||||
| def predict(self, X): # pragma: no cover | |||||
| """Predict if a particular sample is an outlier or not. | """Predict if a particular sample is an outlier or not. | ||||
| Parameters | Parameters | ||||
| @@ -220,7 +220,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| return (pred_score > self.threshold_).astype( | return (pred_score > self.threshold_).astype( | ||||
| 'int').ravel(), X_left_inds.ravel(), X_right_inds.ravel() | 'int').ravel(), X_left_inds.ravel(), X_right_inds.ravel() | ||||
| def predict_proba(self, X, method='linear'): | |||||
| def predict_proba(self, X, method='linear'): # pragma: no cover | |||||
| """Predict the probability of a sample being outlier. Two approaches | """Predict the probability of a sample being outlier. Two approaches | ||||
| are possible: | are possible: | ||||
| @@ -272,7 +272,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| raise ValueError(method, | raise ValueError(method, | ||||
| 'is not a valid probability conversion method') | 'is not a valid probability conversion method') | ||||
| def _predict_rank(self, X, normalized=False): | |||||
| def _predict_rank(self, X, normalized=False): # pragma: no cover | |||||
| """Predict the outlyingness rank of a sample by a fitted model. The | """Predict the outlyingness rank of a sample by a fitted model. The | ||||
| method is for outlier detector score combination. | method is for outlier detector score combination. | ||||
| @@ -304,7 +304,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| ranks = ranks / ranks.max() | ranks = ranks / ranks.max() | ||||
| return ranks | return ranks | ||||
| def _set_n_classes(self, y): | |||||
| def _set_n_classes(self, y): # pragma: no cover | |||||
| """Set the number of classes if `y` is presented, which is not | """Set the number of classes if `y` is presented, which is not | ||||
| expected. It could be useful for multi-class outlier detection. | expected. It could be useful for multi-class outlier detection. | ||||
| @@ -326,7 +326,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| "y should not be presented in unsupervised learning.") | "y should not be presented in unsupervised learning.") | ||||
| return self | return self | ||||
| def _process_decision_scores(self): | |||||
| def _process_decision_scores(self): # pragma: no cover | |||||
| """Internal function to calculate key attributes: | """Internal function to calculate key attributes: | ||||
| - threshold_: used to decide the binary label | - threshold_: used to decide the binary label | ||||
| @@ -350,7 +350,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| return self | return self | ||||
| # noinspection PyMethodParameters | # noinspection PyMethodParameters | ||||
| def _get_param_names(cls): | |||||
| def _get_param_names(cls): # pragma: no cover | |||||
| # noinspection PyPep8 | # noinspection PyPep8 | ||||
| """Get parameter names for the estimator | """Get parameter names for the estimator | ||||
| @@ -383,7 +383,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| return sorted([p.name for p in parameters]) | return sorted([p.name for p in parameters]) | ||||
| # noinspection PyPep8 | # noinspection PyPep8 | ||||
| def get_params(self, deep=True): | |||||
| def get_params(self, deep=True): # pragma: no cover | |||||
| """Get parameters for this estimator. | """Get parameters for this estimator. | ||||
| See http://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html | See http://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html | ||||
| @@ -424,7 +424,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| out[key] = value | out[key] = value | ||||
| return out | return out | ||||
| def set_params(self, **params): | |||||
| def set_params(self, **params): # pragma: no cover | |||||
| # noinspection PyPep8 | # noinspection PyPep8 | ||||
| """Set the parameters of this estimator. | """Set the parameters of this estimator. | ||||
| The method works on simple estimators as well as on nested objects | The method works on simple estimators as well as on nested objects | ||||
| @@ -464,7 +464,7 @@ class CollectiveBaseDetector(metaclass=ABCMeta): | |||||
| return self | return self | ||||
| def __repr__(self): | |||||
| def __repr__(self): # pragma: no cover | |||||
| # noinspection PyPep8 | # noinspection PyPep8 | ||||
| """ | """ | ||||
| See http://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html | See http://scikit-learn.org/stable/modules/generated/sklearn.base.BaseEstimator.html | ||||
| @@ -133,11 +133,11 @@ class CollectiveCommonTest: | |||||
| with assert_raises(ValueError): | with assert_raises(ValueError): | ||||
| self.clf.predict_proba(self.X_test, method='something') | self.clf.predict_proba(self.X_test, method='something') | ||||
| def test_fit_predict(self): | |||||
| def test_fit_predict(self): # pragma: no cover | |||||
| pred_labels, _, _ = self.clf.fit_predict(X=self.X_train) | pred_labels, _, _ = self.clf.fit_predict(X=self.X_train) | ||||
| assert_equal(pred_labels.shape, self.y_train.shape) | assert_equal(pred_labels.shape, self.y_train.shape) | ||||
| def test_fit_predict_score(self): | |||||
| def test_fit_predict_score(self): # pragma: no cover | |||||
| self.clf.fit_predict_score(self.X_test, self.y_test) | self.clf.fit_predict_score(self.X_test, self.y_test) | ||||
| self.clf.fit_predict_score(self.X_test, self.y_test, | self.clf.fit_predict_score(self.X_test, self.y_test, | ||||
| scoring='roc_auc_score') | scoring='roc_auc_score') | ||||
| @@ -147,7 +147,7 @@ class CollectiveCommonTest: | |||||
| self.clf.fit_predict_score(self.X_test, self.y_test, | self.clf.fit_predict_score(self.X_test, self.y_test, | ||||
| scoring='something') | scoring='something') | ||||
| def test_predict_rank(self): | |||||
| def test_predict_rank(self): # pragma: no cover | |||||
| pred_socres, _, _ = self.clf.decision_function(self.X_test) | pred_socres, _, _ = self.clf.decision_function(self.X_test) | ||||
| pred_ranks = self.clf._predict_rank(self.X_test) | pred_ranks = self.clf._predict_rank(self.X_test) | ||||
| @@ -156,7 +156,7 @@ class CollectiveCommonTest: | |||||
| assert_array_less(pred_ranks, self.X_train.shape[0] + 1) | assert_array_less(pred_ranks, self.X_train.shape[0] + 1) | ||||
| assert_array_less(-0.1, pred_ranks) | assert_array_less(-0.1, pred_ranks) | ||||
| def test_predict_rank_normalized(self): | |||||
| def test_predict_rank_normalized(self): # pragma: no cover | |||||
| pred_socres, _, _ = self.clf.decision_function(self.X_test) | pred_socres, _, _ = self.clf.decision_function(self.X_test) | ||||
| pred_ranks = self.clf._predict_rank(self.X_test, normalized=True) | pred_ranks = self.clf._predict_rank(self.X_test, normalized=True) | ||||
| @@ -231,7 +231,7 @@ class KDiscord(CollectiveBaseDetector): | |||||
| X_left_inds.ravel(), X_right_inds.ravel() | X_left_inds.ravel(), X_right_inds.ravel() | ||||
| if __name__ == "__main__": | |||||
| if __name__ == "__main__": # pragma: no cover | |||||
| X_train = np.asarray( | X_train = np.asarray( | ||||
| [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, | [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, | ||||
| 100]).reshape(-1, 1) | 100]).reshape(-1, 1) | ||||
| @@ -100,7 +100,7 @@ class MultiAutoRegOD(CollectiveBaseDetector): | |||||
| return models | return models | ||||
| def _score_combination(self, scores): | |||||
| def _score_combination(self, scores): # pragma: no cover | |||||
| """Internal function for combining univarite scores. | """Internal function for combining univarite scores. | ||||
| """ | """ | ||||
| @@ -197,7 +197,7 @@ class MultiAutoRegOD(CollectiveBaseDetector): | |||||
| return decision_scores, X_left_inds, X_right_inds | return decision_scores, X_left_inds, X_right_inds | ||||
| if __name__ == "__main__": | |||||
| if __name__ == "__main__": # pragma: no cover | |||||
| X_train = np.asarray( | X_train = np.asarray( | ||||
| [[3., 5], [5., 9], [7., 2], [42., 20], [8., 12], [10., 12], [12., 12], | [[3., 5], [5., 9], [7., 2], [42., 20], [8., 12], [10., 12], [12., 12], | ||||
| [18., 16], [20., 7], [18., 10], [23., 12], [22., 15]]) | [18., 16], [20., 7], [18., 10], [23., 12], [22., 15]]) | ||||
| @@ -230,7 +230,7 @@ class PCA(CollectiveBaseDetector): | |||||
| sub_matrices), X_left_inds.ravel(), X_right_inds.ravel() | sub_matrices), X_left_inds.ravel(), X_right_inds.ravel() | ||||
| if __name__ == "__main__": | |||||
| if __name__ == "__main__": # pragma: no cover | |||||
| # X_train = np.asarray( | # X_train = np.asarray( | ||||
| # [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]).reshape(-1, 1) | # [3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]).reshape(-1, 1) | ||||
| @@ -112,11 +112,11 @@ class UODCommonTest: | |||||
| with assert_raises(ValueError): | with assert_raises(ValueError): | ||||
| self.clf.predict_proba(self.X_test, method='something') | self.clf.predict_proba(self.X_test, method='something') | ||||
| def test_fit_predict(self): | |||||
| def test_fit_predict(self): # pragma: no cover | |||||
| pred_labels = self.clf.fit_predict(X=self.X_train) | pred_labels = self.clf.fit_predict(X=self.X_train) | ||||
| assert_equal(pred_labels.shape, self.y_train.shape) | assert_equal(pred_labels.shape, self.y_train.shape) | ||||
| def test_fit_predict_score(self): | |||||
| def test_fit_predict_score(self): # pragma: no cover | |||||
| self.clf.fit_predict_score(self.X_test, self.y_test) | self.clf.fit_predict_score(self.X_test, self.y_test) | ||||
| self.clf.fit_predict_score(self.X_test, self.y_test, | self.clf.fit_predict_score(self.X_test, self.y_test, | ||||
| scoring='roc_auc_score') | scoring='roc_auc_score') | ||||
| @@ -126,7 +126,7 @@ class UODCommonTest: | |||||
| self.clf.fit_predict_score(self.X_test, self.y_test, | self.clf.fit_predict_score(self.X_test, self.y_test, | ||||
| scoring='something') | scoring='something') | ||||
| def test_predict_rank(self): | |||||
| def test_predict_rank(self): # pragma: no cover | |||||
| pred_socres = self.clf.decision_function(self.X_test) | pred_socres = self.clf.decision_function(self.X_test) | ||||
| pred_ranks = self.clf._predict_rank(self.X_test) | pred_ranks = self.clf._predict_rank(self.X_test) | ||||
| @@ -135,7 +135,7 @@ class UODCommonTest: | |||||
| assert_array_less(pred_ranks, self.X_train.shape[0] + 1) | assert_array_less(pred_ranks, self.X_train.shape[0] + 1) | ||||
| assert_array_less(-0.1, pred_ranks) | assert_array_less(-0.1, pred_ranks) | ||||
| def test_predict_rank_normalized(self): | |||||
| def test_predict_rank_normalized(self): # pragma: no cover | |||||
| pred_socres = self.clf.decision_function(self.X_test) | pred_socres = self.clf.decision_function(self.X_test) | ||||
| pred_ranks = self.clf._predict_rank(self.X_test, normalized=True) | pred_ranks = self.clf._predict_rank(self.X_test, normalized=True) | ||||
| @@ -1,132 +1,132 @@ | |||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
| from __future__ import division | |||||
| from __future__ import print_function | |||||
| from __future__ import division # pragma: no cover | |||||
| from __future__ import print_function # pragma: no cover | |||||
| import os | |||||
| import sys | |||||
| import os # pragma: no cover | |||||
| import sys # pragma: no cover | |||||
| import unittest | |||||
| from sklearn.utils.testing import assert_equal | |||||
| from sklearn.utils.testing import assert_raises | |||||
| import unittest # pragma: no cover | |||||
| from sklearn.utils.testing import assert_equal # pragma: no cover | |||||
| from sklearn.utils.testing import assert_raises # pragma: no cover | |||||
| import numpy as np | |||||
| import numpy as np # pragma: no cover | |||||
| # temporary solution for relative imports in case pyod is not installed | # temporary solution for relative imports in case pyod is not installed | ||||
| # if pyod is installed, no need to use the following line | # if pyod is installed, no need to use the following line | ||||
| sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) | |||||
| sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) # pragma: no cover | |||||
| from detection_algorithm.core.CollectiveBase import CollectiveBaseDetector | |||||
| from pyod.utils.data import generate_data | |||||
| from detection_algorithm.core.CollectiveBase import CollectiveBaseDetector # pragma: no cover | |||||
| from pyod.utils.data import generate_data # pragma: no cover | |||||
| # Check sklearn\tests\test_base | # Check sklearn\tests\test_base | ||||
| # A few test classes | # A few test classes | ||||
| # noinspection PyMissingConstructor,PyPep8Naming | # noinspection PyMissingConstructor,PyPep8Naming | ||||
| class MyEstimator(CollectiveBaseDetector): | |||||
| class MyEstimator(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, l1=0, empty=None): | |||||
| def __init__(self, l1=0, empty=None): # pragma: no cover | |||||
| self.l1 = l1 | self.l1 = l1 | ||||
| self.empty = empty | self.empty = empty | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| # noinspection PyMissingConstructor | # noinspection PyMissingConstructor | ||||
| class K(CollectiveBaseDetector): | |||||
| def __init__(self, c=None, d=None): | |||||
| class K(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, c=None, d=None): # pragma: no cover | |||||
| self.c = c | self.c = c | ||||
| self.d = d | self.d = d | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| # noinspection PyMissingConstructor | # noinspection PyMissingConstructor | ||||
| class T(CollectiveBaseDetector): | |||||
| def __init__(self, a=None, b=None): | |||||
| class T(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, a=None, b=None): # pragma: no cover | |||||
| self.a = a | self.a = a | ||||
| self.b = b | self.b = b | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| # noinspection PyMissingConstructor | # noinspection PyMissingConstructor | ||||
| class ModifyInitParams(CollectiveBaseDetector): | |||||
| class ModifyInitParams(CollectiveBaseDetector): # pragma: no cover | |||||
| """Deprecated behavior. | """Deprecated behavior. | ||||
| Equal parameters but with a type cast. | Equal parameters but with a type cast. | ||||
| Doesn't fulfill a is a | Doesn't fulfill a is a | ||||
| """ | """ | ||||
| def __init__(self, a=np.array([0])): | |||||
| def __init__(self, a=np.array([0])): # pragma: no cover | |||||
| self.a = a.copy() | self.a = a.copy() | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| # noinspection PyMissingConstructor | # noinspection PyMissingConstructor | ||||
| class VargEstimator(CollectiveBaseDetector): | |||||
| class VargEstimator(CollectiveBaseDetector): # pragma: no cover | |||||
| """scikit-learn estimators shouldn't have vargs.""" | """scikit-learn estimators shouldn't have vargs.""" | ||||
| def __init__(self, *vargs): | |||||
| def __init__(self, *vargs): # pragma: no cover | |||||
| pass | pass | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| class Dummy1(CollectiveBaseDetector): | |||||
| def __init__(self, contamination=0.1): | |||||
| class Dummy1(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, contamination=0.1): # pragma: no cover | |||||
| super(Dummy1, self).__init__(contamination=contamination) | super(Dummy1, self).__init__(contamination=contamination) | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| pass | pass | ||||
| class Dummy2(CollectiveBaseDetector): | |||||
| def __init__(self, contamination=0.1): | |||||
| class Dummy2(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, contamination=0.1): # pragma: no cover | |||||
| super(Dummy2, self).__init__(contamination=contamination) | super(Dummy2, self).__init__(contamination=contamination) | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| return X | return X | ||||
| class Dummy3(CollectiveBaseDetector): | |||||
| def __init__(self, contamination=0.1): | |||||
| class Dummy3(CollectiveBaseDetector): # pragma: no cover | |||||
| def __init__(self, contamination=0.1): # pragma: no cover | |||||
| super(Dummy3, self).__init__(contamination=contamination) | super(Dummy3, self).__init__(contamination=contamination) | ||||
| def decision_function(self, X): | |||||
| def decision_function(self, X): # pragma: no cover | |||||
| pass | pass | ||||
| def fit(self, X, y=None): | |||||
| def fit(self, X, y=None): # pragma: no cover | |||||
| self.labels_ = X | self.labels_ = X | ||||
| class TestBASE(unittest.TestCase): | |||||
| def setUp(self): | |||||
| class TestBASE(unittest.TestCase): # pragma: no cover | |||||
| def setUp(self): # pragma: no cover | |||||
| self.n_train = 100 | self.n_train = 100 | ||||
| self.n_test = 50 | self.n_test = 50 | ||||
| self.contamination = 0.1 | self.contamination = 0.1 | ||||
| @@ -135,7 +135,7 @@ class TestBASE(unittest.TestCase): | |||||
| n_train=self.n_train, n_test=self.n_test, | n_train=self.n_train, n_test=self.n_test, | ||||
| contamination=self.contamination) | contamination=self.contamination) | ||||
| def test_init(self): | |||||
| def test_init(self): # pragma: no cover | |||||
| """ | """ | ||||
| Test base class initialization | Test base class initialization | ||||
| @@ -156,26 +156,26 @@ class TestBASE(unittest.TestCase): | |||||
| with assert_raises(ValueError): | with assert_raises(ValueError): | ||||
| Dummy1(contamination=-0.5) | Dummy1(contamination=-0.5) | ||||
| def test_fit(self): | |||||
| def test_fit(self): # pragma: no cover | |||||
| self.dummy_clf = Dummy2() | self.dummy_clf = Dummy2() | ||||
| assert_equal(self.dummy_clf.fit(0), 0) | assert_equal(self.dummy_clf.fit(0), 0) | ||||
| def test_fit_predict(self): | |||||
| def test_fit_predict(self): # pragma: no cover | |||||
| # TODO: add more testcases | # TODO: add more testcases | ||||
| self.dummy_clf = Dummy3() | self.dummy_clf = Dummy3() | ||||
| assert_equal(self.dummy_clf.fit_predict(0), 0) | assert_equal(self.dummy_clf.fit_predict(0), 0) | ||||
| def test_predict_proba(self): | |||||
| def test_predict_proba(self): # pragma: no cover | |||||
| # TODO: create uniform testcases | # TODO: create uniform testcases | ||||
| pass | pass | ||||
| def test_rank(self): | |||||
| def test_rank(self): # pragma: no cover | |||||
| # TODO: create uniform testcases | # TODO: create uniform testcases | ||||
| pass | pass | ||||
| def test_repr(self): | |||||
| def test_repr(self): # pragma: no cover | |||||
| # Smoke test the repr of the base estimator. | # Smoke test the repr of the base estimator. | ||||
| my_estimator = MyEstimator() | my_estimator = MyEstimator() | ||||
| repr(my_estimator) | repr(my_estimator) | ||||
| @@ -188,12 +188,12 @@ class TestBASE(unittest.TestCase): | |||||
| some_est = T(a=["long_params"] * 1000) | some_est = T(a=["long_params"] * 1000) | ||||
| assert_equal(len(repr(some_est)), 415) | assert_equal(len(repr(some_est)), 415) | ||||
| def test_str(self): | |||||
| def test_str(self): # pragma: no cover | |||||
| # Smoke test the str of the base estimator | # Smoke test the str of the base estimator | ||||
| my_estimator = MyEstimator() | my_estimator = MyEstimator() | ||||
| str(my_estimator) | str(my_estimator) | ||||
| def test_get_params(self): | |||||
| def test_get_params(self): # pragma: no cover | |||||
| test = T(K(), K()) | test = T(K(), K()) | ||||
| assert ('a__d' in test.get_params(deep=True)) | assert ('a__d' in test.get_params(deep=True)) | ||||
| @@ -203,9 +203,9 @@ class TestBASE(unittest.TestCase): | |||||
| assert (test.a.d == 2) | assert (test.a.d == 2) | ||||
| assert_raises(ValueError, test.set_params, a__a=2) | assert_raises(ValueError, test.set_params, a__a=2) | ||||
| def tearDown(self): | |||||
| def tearDown(self): # pragma: no cover | |||||
| pass | pass | ||||
| if __name__ == '__main__': | |||||
| if __name__ == '__main__': # pragma: no cover | |||||
| unittest.main() | unittest.main() | ||||
| @@ -221,18 +221,18 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | |||||
| if self.hyperparams['use_semantic_types']: # pragma: no cover | |||||
| sk_inputs = inputs.iloc[:, self._columns_to_produce] | sk_inputs = inputs.iloc[:, self._columns_to_produce] | ||||
| output_columns = [] | output_columns = [] | ||||
| if len(self._columns_to_produce) > 0: | if len(self._columns_to_produce) > 0: | ||||
| sk_output = self._clf.produce(sk_inputs, self.hyperparams['inverse']) | sk_output = self._clf.produce(sk_inputs, self.hyperparams['inverse']) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -253,7 +253,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| # return base.CallResult(dataframe) | # return base.CallResult(dataframe) | ||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| Args: | Args: | ||||
| @@ -285,7 +285,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | ||||
| hyperparams: Hyperparams) -> bool: | |||||
| hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -324,7 +324,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[ | def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[ | ||||
| OrderedDict]: | |||||
| OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| Args: | Args: | ||||
| @@ -355,7 +355,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -374,7 +374,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| Args: | Args: | ||||
| @@ -392,7 +392,7 @@ class WaveletTransformer(transformer.TransformerPrimitiveBase[Inputs, Outputs, H | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -486,7 +486,7 @@ class Wavelet: | |||||
| return coeffs_buf # coeffs_T | return coeffs_buf # coeffs_T | ||||
| def transform_to_single_dataframe(self, data): | |||||
| def transform_to_single_dataframe(self, data): # pragma: no cover | |||||
| # print(data) | # print(data) | ||||
| data_to_transform = data.squeeze(1) | data_to_transform = data.squeeze(1) | ||||
| @@ -515,7 +515,7 @@ class Wavelet: | |||||
| return coeffs_T | return coeffs_T | ||||
| def inverse_transform_to_dataframe(self, coeffs): | |||||
| def inverse_transform_to_dataframe(self, coeffs): # pragma: no cover | |||||
| # print('=======inverse_transform======') | # print('=======inverse_transform======') | ||||
| # print('level: ', self._level) | # print('level: ', self._level) | ||||
| # print(coeffs) | # print(coeffs) | ||||
| @@ -527,7 +527,7 @@ class Wavelet: | |||||
| # print(data) | # print(data) | ||||
| return data # [0:-1] | return data # [0:-1] | ||||
| def inverse_transform_to_single_dataframe(self, coeffs): | |||||
| def inverse_transform_to_single_dataframe(self, coeffs): # pragma: no cover | |||||
| # print('=======inverse_transform======') | # print('=======inverse_transform======') | ||||
| # print('level: ', self._level) | # print('level: ', self._level) | ||||
| # print(coeffs) | # print(coeffs) | ||||
| @@ -179,18 +179,18 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| self._input_column_names = inputs.columns | self._input_column_names = inputs.columns | ||||
| # print(self._columns_to_produce) | # print(self._columns_to_produce) | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | |||||
| if self.hyperparams['use_semantic_types']: # pragma: no cover | |||||
| sk_inputs = inputs.iloc[:, self._columns_to_produce] | sk_inputs = inputs.iloc[:, self._columns_to_produce] | ||||
| output_columns = [] | output_columns = [] | ||||
| if len(self._columns_to_produce) > 0: | if len(self._columns_to_produce) > 0: | ||||
| sk_output = self._clf.produce(sk_inputs) | sk_output = self._clf.produce(sk_inputs) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -209,7 +209,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| Args: | Args: | ||||
| @@ -239,7 +239,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | ||||
| hyperparams: Hyperparams) -> bool: | |||||
| hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -274,7 +274,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: | |||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| Args: | Args: | ||||
| @@ -307,7 +307,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -328,7 +328,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| Args: | Args: | ||||
| @@ -350,7 +350,7 @@ class SKAxiswiseScaler(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hyp | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -196,19 +196,19 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| None | None | ||||
| """ | """ | ||||
| if self._fitted: | |||||
| if self._fitted: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | ||||
| self._input_column_names = self._training_inputs.columns | self._input_column_names = self._training_inputs.columns | ||||
| if self._training_inputs is None: | |||||
| if self._training_inputs is None: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| self._clf.fit_transform(self._training_inputs) | self._clf.fit_transform(self._training_inputs) | ||||
| self._fitted = True | self._fitted = True | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -229,18 +229,18 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| if not self._fitted: | if not self._fitted: | ||||
| raise PrimitiveNotFittedError("Primitive not fitted.") | raise PrimitiveNotFittedError("Primitive not fitted.") | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | |||||
| if self.hyperparams['use_semantic_types']: # pragma: no cover | |||||
| sk_inputs = inputs.iloc[:, self._training_indices] | sk_inputs = inputs.iloc[:, self._training_indices] | ||||
| output_columns = [] | output_columns = [] | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| sk_output = self._clf.transform(sk_inputs) | sk_output = self._clf.transform(sk_inputs) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -313,7 +313,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| Args: | Args: | ||||
| @@ -343,7 +343,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | ||||
| hyperparams: Hyperparams) -> bool: | |||||
| hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -376,7 +376,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: | |||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| Args: | Args: | ||||
| @@ -409,7 +409,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -431,7 +431,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| Args: | Args: | ||||
| @@ -451,7 +451,7 @@ class SKPowerTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Param | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -214,19 +214,19 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| Returns: | Returns: | ||||
| None | None | ||||
| """ | """ | ||||
| if self._fitted: | |||||
| if self._fitted: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | ||||
| self._input_column_names = self._training_inputs.columns | self._input_column_names = self._training_inputs.columns | ||||
| if self._training_inputs is None: | |||||
| if self._training_inputs is None: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| self._clf.fit(self._training_inputs) | self._clf.fit(self._training_inputs) | ||||
| self._fitted = True | self._fitted = True | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -241,21 +241,21 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| Returns: | Returns: | ||||
| Container DataFrame after Quantile Transformation. | Container DataFrame after Quantile Transformation. | ||||
| """ | """ | ||||
| if not self._fitted: | |||||
| if not self._fitted: # pragma: no cover | |||||
| raise PrimitiveNotFittedError("Primitive not fitted.") | raise PrimitiveNotFittedError("Primitive not fitted.") | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | |||||
| if self.hyperparams['use_semantic_types']: # pragma: no cover | |||||
| sk_inputs = inputs.iloc[:, self._training_indices] | sk_inputs = inputs.iloc[:, self._training_indices] | ||||
| output_columns = [] | output_columns = [] | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| sk_output = self._clf.transform(sk_inputs) | sk_output = self._clf.transform(sk_inputs) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -327,7 +327,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| Args: | Args: | ||||
| @@ -353,7 +353,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| # return columns_to_produce | # return columns_to_produce | ||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, hyperparams: Hyperparams) -> bool: | |||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -385,7 +385,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: | |||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| Args: | Args: | ||||
| @@ -416,7 +416,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -435,7 +435,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| Args: | Args: | ||||
| @@ -453,7 +453,7 @@ class SKQuantileTransformer(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Pa | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| Args: | Args: | ||||
| @@ -209,19 +209,19 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| None | None | ||||
| """ | """ | ||||
| if self._fitted: | |||||
| if self._fitted: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams) | ||||
| self._input_column_names = self._training_inputs.columns | self._input_column_names = self._training_inputs.columns | ||||
| if self._training_inputs is None: | |||||
| if self._training_inputs is None: # pragma: no cover | |||||
| return CallResult(None) | return CallResult(None) | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| self._clf.fit_transform(self._training_inputs) | self._clf.fit_transform(self._training_inputs) | ||||
| self._fitted = True | self._fitted = True | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -244,18 +244,18 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| if not self._fitted: | if not self._fitted: | ||||
| raise PrimitiveNotFittedError("Primitive not fitted.") | raise PrimitiveNotFittedError("Primitive not fitted.") | ||||
| sk_inputs = inputs | sk_inputs = inputs | ||||
| if self.hyperparams['use_semantic_types']: | |||||
| if self.hyperparams['use_semantic_types']: # pragma: no cover | |||||
| sk_inputs = inputs.iloc[:, self._training_indices] | sk_inputs = inputs.iloc[:, self._training_indices] | ||||
| output_columns = [] | output_columns = [] | ||||
| if len(self._training_indices) > 0: | if len(self._training_indices) > 0: | ||||
| sk_output = self._clf.transform(sk_inputs) | sk_output = self._clf.transform(sk_inputs) | ||||
| if sparse.issparse(sk_output): | |||||
| if sparse.issparse(sk_output): # pragma: no cover | |||||
| sk_output = sk_output.toarray() | sk_output = sk_output.toarray() | ||||
| outputs = self._wrap_predictions(inputs, sk_output) | outputs = self._wrap_predictions(inputs, sk_output) | ||||
| if len(outputs.columns) == len(self._input_column_names): | if len(outputs.columns) == len(self._input_column_names): | ||||
| outputs.columns = self._input_column_names | outputs.columns = self._input_column_names | ||||
| output_columns = [outputs] | output_columns = [outputs] | ||||
| else: | |||||
| else: # pragma: no cover | |||||
| if self.hyperparams['error_on_no_input']: | if self.hyperparams['error_on_no_input']: | ||||
| raise RuntimeError("No input columns were selected") | raise RuntimeError("No input columns were selected") | ||||
| self.logger.warn("No input columns were selected") | self.logger.warn("No input columns were selected") | ||||
| @@ -349,7 +349,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| @classmethod | @classmethod | ||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): | |||||
| def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Select columns to fit. | Select columns to fit. | ||||
| @@ -381,7 +381,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| @classmethod | @classmethod | ||||
| def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, | ||||
| hyperparams: Hyperparams) -> bool: | |||||
| hyperparams: Hyperparams) -> bool: # pragma: no cover | |||||
| """ | """ | ||||
| Output whether a column can be processed. | Output whether a column can be processed. | ||||
| Args: | Args: | ||||
| @@ -416,7 +416,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| @classmethod | @classmethod | ||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: | |||||
| def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]: # pragma: no cover | |||||
| """ | """ | ||||
| Output metadata of selected columns. | Output metadata of selected columns. | ||||
| @@ -450,7 +450,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| @classmethod | @classmethod | ||||
| def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs], | ||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: | |||||
| target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata: # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||
| @@ -472,7 +472,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| return outputs_metadata | return outputs_metadata | ||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: | |||||
| def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs: # pragma: no cover | |||||
| """ | """ | ||||
| Wrap predictions into dataframe | Wrap predictions into dataframe | ||||
| @@ -495,7 +495,7 @@ class SKStandardScaler(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params, | |||||
| @classmethod | @classmethod | ||||
| def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | def _copy_inputs_metadata(cls, inputs_metadata: metadata_base.DataMetadata, input_indices: List[int], | ||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): | |||||
| outputs_metadata: metadata_base.DataMetadata, hyperparams): # pragma: no cover | |||||
| """ | """ | ||||
| Updata metadata for selected columns. | Updata metadata for selected columns. | ||||