diff --git a/tods/detection_algorithm/UODBasePrimitive.py b/tods/detection_algorithm/UODBasePrimitive.py index 2fe4000..96076f7 100755 --- a/tods/detection_algorithm/UODBasePrimitive.py +++ b/tods/detection_algorithm/UODBasePrimitive.py @@ -253,7 +253,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O if self._training_inputs is None: # pragma: no cover return CallResult(None) - + #print("self._training_indices ", self._training_indices) if len(self._training_indices) > 0: # print('Fit: ', self._clf) @@ -288,6 +288,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O if self.hyperparams['use_semantic_types']: sk_inputs = inputs.iloc[:, self._training_indices] output_columns = [] + #print("skinputs ", sk_inputs.values) if len(self._training_indices) > 0: if self.hyperparams['return_subseq_inds']: @@ -315,7 +316,7 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O else: sk_output, _, _ = self._clf.predict(sk_inputs.values) - # print(sk_output) + #print("sk output ", sk_output) if sparse.issparse(sk_output): # pragma: no cover sk_output = sk_output.toarray() @@ -323,16 +324,16 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O if len(outputs.columns) == len(self._input_column_names): outputs.columns = self._input_column_names output_columns = [outputs] - else: # pragma: no cover + else: # pragma: no cover if self.hyperparams['error_on_no_input']: raise RuntimeError("No input columns were selected") self.logger.warn("No input columns were selected") - + outputs = base_utils.combine_columns(return_result=self.hyperparams['return_result'], add_index_columns=self.hyperparams['add_index_columns'], inputs=inputs, column_indices=self._training_indices, columns_list=output_columns) - + return CallResult(outputs) def produce_score(self, *, inputs: Inputs, timeout: float = None, iterations: int = None) -> CallResult[Outputs]: @@ -488,21 +489,21 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O Returns: list """ - + #print("*******************get columns to fit***********") if not hyperparams['use_semantic_types']: return inputs, list(range(len(inputs.columns))) inputs_metadata = inputs.metadata - - + #print("inputs_metadata ", inputs_metadata) + def can_produce_column(column_index: int) -> bool: return cls._can_produce_column(inputs_metadata, column_index, hyperparams) - + columns_to_produce, columns_not_to_produce = base_utils.get_columns_to_use(inputs_metadata, use_columns=hyperparams['use_columns'], exclude_columns=hyperparams['exclude_columns'], can_use_column=can_produce_column) - + #print("columns_to_produce ", columns_to_produce) return inputs.iloc[:, columns_to_produce], columns_to_produce # return columns_to_produce @@ -519,16 +520,18 @@ class UnsupervisedOutlierDetectorBase(UnsupervisedLearnerPrimitiveBase[Inputs, O Returns: bool """ + column_metadata = inputs_metadata.query((metadata_base.ALL_ELEMENTS, column_index)) - + #print("column metadasta ", ) accepted_structural_types = (int, float, numpy.integer, numpy.float64) accepted_semantic_types = set() accepted_semantic_types.add("https://metadata.datadrivendiscovery.org/types/Attribute") + if not issubclass(column_metadata['structural_type'], accepted_structural_types): return False semantic_types = set(column_metadata.get('semantic_types', [])) - + #print("semantic_types ", column_metadata.get('semantic_types')) if len(semantic_types) == 0: cls.logger.warning("No semantic types found in column metadata") return False diff --git a/tods/tests/detection_algorithm/test_DeepLog.py b/tods/tests/detection_algorithm/test_DeepLog.py index 07ceb77..b25664d 100644 --- a/tods/tests/detection_algorithm/test_DeepLog.py +++ b/tods/tests/detection_algorithm/test_DeepLog.py @@ -56,7 +56,6 @@ class DeepLogTest(unittest.TestCase): hyperparams_class = DeepLogPrimitive.metadata.get_hyperparams() hyperparams = hyperparams_class.defaults() hyperparams = hyperparams.replace({'batch_size': 4}) - print(hyperparams) self.primitive = DeepLogPrimitive(hyperparams=hyperparams) diff --git a/tods/tests/detection_algorithm/test_PyodABOD.py b/tods/tests/detection_algorithm/test_PyodABOD.py index 8cbf284..0efc789 100644 --- a/tods/tests/detection_algorithm/test_PyodABOD.py +++ b/tods/tests/detection_algorithm/test_PyodABOD.py @@ -56,9 +56,9 @@ class ABODTest(unittest.TestCase): hyperparams = hyperparams_class.defaults() hyperparams = hyperparams.replace({'return_result': 'new', 'method': 'default', - + }) - + print(hyperparams) primitive = ABODPrimitive(hyperparams=hyperparams) primitive.set_training_data(inputs=main) primitive.fit() diff --git a/tods/tods_skinterface/__init__.py b/tods/tods_skinterface/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/detection_algorithm_skitest/ABOD_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/ABOD_skitest.py new file mode 100644 index 0000000..fe33576 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/ABOD_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.ABOD_skinterface import ABODSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = ABODSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/AutoEncoder_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/AutoEncoder_skitest.py new file mode 100644 index 0000000..eb55a2b --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/AutoEncoder_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.AutoEncoder_skinterface import AutoEncoderSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = AutoEncoderSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/AutoRegODetector_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/AutoRegODetector_skitest.py new file mode 100644 index 0000000..ac7a84a --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/AutoRegODetector_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.AutoRegODetector_skinterface import AutoRegODetectorSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = AutoRegODetectorSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/CBLOF_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/CBLOF_skitest.py new file mode 100644 index 0000000..0ecdb30 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/CBLOF_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.CBLOF_skinterface import CBLOFSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = CBLOFSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/COF_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/COF_skitest.py new file mode 100644 index 0000000..3294775 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/COF_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.COF_skinterface import COFSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = COFSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/DeepLog_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/DeepLog_skitest.py new file mode 100644 index 0000000..81dad2c --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/DeepLog_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.DeepLog_skinterface import DeepLogSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = DeepLogSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/Ensemble_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/Ensemble_skitest.py new file mode 100644 index 0000000..9b5e5e1 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/Ensemble_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.Ensemble_skinterface import EnsembleSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = EnsembleSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/HBOS_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/HBOS_skitest.py new file mode 100644 index 0000000..54d2def --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/HBOS_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.HBOS_skinterface import HBOSSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = HBOSSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/IsolationForest_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/IsolationForest_skitest.py new file mode 100644 index 0000000..40d022e --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/IsolationForest_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.IsolationForest_skinterface import IsolationForestSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = IsolationForestSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/KDiscordODetector_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/KDiscordODetector_skitest.py new file mode 100644 index 0000000..209a0dd --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/KDiscordODetector_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.KDiscordODetector_skinterface import KDiscordODetectorSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = KDiscordODetectorSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/KNN_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/KNN_skitest.py new file mode 100644 index 0000000..0824508 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/KNN_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.KNN_skinterface import KNNSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = KNNSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/LODA_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/LODA_skitest.py new file mode 100644 index 0000000..dd4c577 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/LODA_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.LODA_skinterface import LODASKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = LODASKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/LOF_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/LOF_skitest.py new file mode 100644 index 0000000..9e8f55f --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/LOF_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.LOF_skinterface import LOFSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = LOFSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/LSTMODetector_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/LSTMODetector_skitest.py new file mode 100644 index 0000000..8a61e2b --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/LSTMODetector_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.LSTMODetector_skinterface import LSTMODetectorSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = LSTMODetectorSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/MatrixProfile_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/MatrixProfile_skitest.py new file mode 100644 index 0000000..54ef73d --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/MatrixProfile_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.MatrixProfile_skinterface import MatrixProfileSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = MatrixProfileSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/Mo_Gaal_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/Mo_Gaal_skitest.py new file mode 100644 index 0000000..cefa4ee --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/Mo_Gaal_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.Mo_Gaal_skinterface import Mo_GaalSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = Mo_GaalSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/OCSVM_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/OCSVM_skitest.py new file mode 100644 index 0000000..2e4ee8e --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/OCSVM_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.OCSVM_skinterface import OCSVMSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = OCSVMSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/PCAODetector_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/PCAODetector_skitest.py new file mode 100644 index 0000000..63547f9 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/PCAODetector_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.PCAODetector_skinterface import PCAODetectorSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = PCAODetectorSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/SOD_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/SOD_skitest.py new file mode 100644 index 0000000..f33e08c --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/SOD_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.SOD_skinterface import SODSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = SODSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/So_Gaal_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/So_Gaal_skitest.py new file mode 100644 index 0000000..5756868 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/So_Gaal_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.So_Gaal_skinterface import So_GaalSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = So_GaalSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/SystemWiseDetection_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/SystemWiseDetection_skitest.py new file mode 100644 index 0000000..ac135c3 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/SystemWiseDetection_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.SystemWiseDetection_skinterface import SystemWiseDetectionSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = SystemWiseDetectionSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/Telemanom_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/Telemanom_skitest.py new file mode 100644 index 0000000..3dc5de7 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/Telemanom_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.Telemanom_skinterface import TelemanomSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = TelemanomSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/detection_algorithm_skitest/VariationalAutoEncoder_skitest.py b/tods/tods_skinterface/detection_algorithm_skitest/VariationalAutoEncoder_skitest.py new file mode 100644 index 0000000..2a78aa9 --- /dev/null +++ b/tods/tods_skinterface/detection_algorithm_skitest/VariationalAutoEncoder_skitest.py @@ -0,0 +1,14 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.detection_algorithm.VariationalAutoEncoder_skinterface import VariationalAutoEncoderSKI + +X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = VariationalAutoEncoderSKI() +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\n", prediction_labels) +print("Prediction Score\n", prediction_score) diff --git a/tods/tods_skinterface/entry_points/entry_points.txt b/tods/tods_skinterface/entry_points/entry_points.txt new file mode 100644 index 0000000..7e3075e --- /dev/null +++ b/tods/tods_skinterface/entry_points/entry_points.txt @@ -0,0 +1,82 @@ +[d3m.primitives] +tods.data_processing.dataset_to_dataframe = tods.data_processing.DatasetToDataframe:DatasetToDataFramePrimitive +tods.data_processing.time_interval_transform = tods.data_processing.TimeIntervalTransform:TimeIntervalTransformPrimitive +tods.data_processing.categorical_to_binary = tods.data_processing.CategoricalToBinary:CategoricalToBinaryPrimitive +tods.data_processing.column_filter = tods.data_processing.ColumnFilter:ColumnFilterPrimitive +tods.data_processing.timestamp_validation = tods.data_processing.TimeStampValidation:TimeStampValidationPrimitive +tods.data_processing.duplication_validation = tods.data_processing.DuplicationValidation:DuplicationValidationPrimitive +tods.data_processing.continuity_validation = tods.data_processing.ContinuityValidation:ContinuityValidationPrimitive +tods.data_processing.impute_missing = tods.data_processing.SKImputer:SKImputerPrimitive + + +tods.timeseries_processing.transformation.axiswise_scaler = tods.timeseries_processing.SKAxiswiseScaler:SKAxiswiseScalerPrimitive +tods.timeseries_processing.transformation.standard_scaler = tods.timeseries_processing.SKStandardScaler:SKStandardScalerPrimitive +tods.timeseries_processing.transformation.power_transformer = tods.timeseries_processing.SKPowerTransformer:SKPowerTransformerPrimitive +tods.timeseries_processing.transformation.quantile_transformer = tods.timeseries_processing.SKQuantileTransformer:SKQuantileTransformerPrimitive +tods.timeseries_processing.transformation.moving_average_transform = tods.timeseries_processing.MovingAverageTransformer:MovingAverageTransformerPrimitive +tods.timeseries_processing.transformation.simple_exponential_smoothing = tods.timeseries_processing.SimpleExponentialSmoothing:SimpleExponentialSmoothingPrimitive +tods.timeseries_processing.transformation.holt_smoothing = tods.timeseries_processing.HoltSmoothing:HoltSmoothingPrimitive +tods.timeseries_processing.transformation.holt_winters_exponential_smoothing= tods.timeseries_processing.HoltWintersExponentialSmoothing:HoltWintersExponentialSmoothingPrimitive +tods.timeseries_processing.decomposition.time_series_seasonality_trend_decomposition = tods.timeseries_processing.TimeSeriesSeasonalityTrendDecomposition:TimeSeriesSeasonalityTrendDecompositionPrimitive + + +tods.feature_analysis.auto_correlation = tods.feature_analysis.AutoCorrelation:AutoCorrelationPrimitive +tods.feature_analysis.statistical_mean = tods.feature_analysis.StatisticalMean:StatisticalMeanPrimitive +tods.feature_analysis.statistical_median = tods.feature_analysis.StatisticalMedian:StatisticalMedianPrimitive +tods.feature_analysis.statistical_g_mean = tods.feature_analysis.StatisticalGmean:StatisticalGmeanPrimitive +tods.feature_analysis.statistical_abs_energy = tods.feature_analysis.StatisticalAbsEnergy:StatisticalAbsEnergyPrimitive +tods.feature_analysis.statistical_abs_sum = tods.feature_analysis.StatisticalAbsSum:StatisticalAbsSumPrimitive +tods.feature_analysis.statistical_h_mean = tods.feature_analysis.StatisticalHmean:StatisticalHmeanPrimitive +tods.feature_analysis.statistical_maximum = tods.feature_analysis.StatisticalMaximum:StatisticalMaximumPrimitive +tods.feature_analysis.statistical_minimum = tods.feature_analysis.StatisticalMinimum:StatisticalMinimumPrimitive +tods.feature_analysis.statistical_mean_abs = tods.feature_analysis.StatisticalMeanAbs:StatisticalMeanAbsPrimitive +tods.feature_analysis.statistical_mean_abs_temporal_derivative = tods.feature_analysis.StatisticalMeanAbsTemporalDerivative:StatisticalMeanAbsTemporalDerivativePrimitive +tods.feature_analysis.statistical_mean_temporal_derivative = tods.feature_analysis.StatisticalMeanTemporalDerivative:StatisticalMeanTemporalDerivativePrimitive +tods.feature_analysis.statistical_median_abs_deviation = tods.feature_analysis.StatisticalMedianAbsoluteDeviation:StatisticalMedianAbsoluteDeviationPrimitive +tods.feature_analysis.statistical_kurtosis = tods.feature_analysis.StatisticalKurtosis:StatisticalKurtosisPrimitive +tods.feature_analysis.statistical_skew = tods.feature_analysis.StatisticalSkew:StatisticalSkewPrimitive +tods.feature_analysis.statistical_std = tods.feature_analysis.StatisticalStd:StatisticalStdPrimitive +tods.feature_analysis.statistical_var = tods.feature_analysis.StatisticalVar:StatisticalVarPrimitive +tods.feature_analysis.statistical_variation = tods.feature_analysis.StatisticalVariation:StatisticalVariationPrimitive +tods.feature_analysis.statistical_vec_sum = tods.feature_analysis.StatisticalVecSum:StatisticalVecSumPrimitive +tods.feature_analysis.statistical_willison_amplitude = tods.feature_analysis.StatisticalWillisonAmplitude:StatisticalWillisonAmplitudePrimitive +tods.feature_analysis.statistical_zero_crossing = tods.feature_analysis.StatisticalZeroCrossing:StatisticalZeroCrossingPrimitive +tods.feature_analysis.spectral_residual_transform = tods.feature_analysis.SpectralResidualTransform:SpectralResidualTransformPrimitive +tods.feature_analysis.fast_fourier_transform = tods.feature_analysis.FastFourierTransform:FastFourierTransformPrimitive +tods.feature_analysis.discrete_cosine_transform = tods.feature_analysis.DiscreteCosineTransform:DiscreteCosineTransformPrimitive +tods.feature_analysis.non_negative_matrix_factorization = tods.feature_analysis.NonNegativeMatrixFactorization:NonNegativeMatrixFactorizationPrimitive +tods.feature_analysis.bk_filter = tods.feature_analysis.BKFilter:BKFilterPrimitive +tods.feature_analysis.hp_filter = tods.feature_analysis.HPFilter:HPFilterPrimitive +tods.feature_analysis.truncated_svd = tods.feature_analysis.SKTruncatedSVD:SKTruncatedSVDPrimitive +tods.feature_analysis.wavelet_transform = tods.feature_analysis.WaveletTransform:WaveletTransformPrimitive +tods.feature_analysis.trmf = tods.feature_analysis.TRMF:TRMFPrimitive + + +tods.detection_algorithm.pyod_ae = tods.detection_algorithm.PyodAE:AutoEncoderPrimitive +tods.detection_algorithm.pyod_vae = tods.detection_algorithm.PyodVAE:VariationalAutoEncoderPrimitive +tods.detection_algorithm.pyod_cof = tods.detection_algorithm.PyodCOF:COFPrimitive +tods.detection_algorithm.pyod_sod = tods.detection_algorithm.PyodSOD:SODPrimitive +tods.detection_algorithm.pyod_abod = tods.detection_algorithm.PyodABOD:ABODPrimitive +tods.detection_algorithm.pyod_hbos = tods.detection_algorithm.PyodHBOS:HBOSPrimitive +tods.detection_algorithm.pyod_iforest = tods.detection_algorithm.PyodIsolationForest:IsolationForestPrimitive +tods.detection_algorithm.pyod_lof = tods.detection_algorithm.PyodLOF:LOFPrimitive +tods.detection_algorithm.pyod_knn = tods.detection_algorithm.PyodKNN:KNNPrimitive +tods.detection_algorithm.pyod_ocsvm = tods.detection_algorithm.PyodOCSVM:OCSVMPrimitive +tods.detection_algorithm.pyod_loda = tods.detection_algorithm.PyodLODA:LODAPrimitive +tods.detection_algorithm.pyod_cblof = tods.detection_algorithm.PyodCBLOF:CBLOFPrimitive +tods.detection_algorithm.pyod_sogaal = tods.detection_algorithm.PyodSoGaal:So_GaalPrimitive +tods.detection_algorithm.pyod_mogaal = tods.detection_algorithm.PyodMoGaal:Mo_GaalPrimitive + +tods.detection_algorithm.matrix_profile = tods.detection_algorithm.MatrixProfile:MatrixProfilePrimitive +tods.detection_algorithm.AutoRegODetector = tods.detection_algorithm.AutoRegODetect:AutoRegODetectorPrimitive +tods.detection_algorithm.LSTMODetector = tods.detection_algorithm.LSTMODetect:LSTMODetectorPrimitive +tods.detection_algorithm.PCAODetector = tods.detection_algorithm.PCAODetect:PCAODetectorPrimitive +tods.detection_algorithm.KDiscordODetector = tods.detection_algorithm.KDiscordODetect:KDiscordODetectorPrimitive +tods.detection_algorithm.deeplog = tods.detection_algorithm.DeepLog:DeepLogPrimitive +tods.detection_algorithm.telemanom = tods.detection_algorithm.Telemanom:TelemanomPrimitive +tods.detection_algorithm.system_wise_detection = tods.detection_algorithm.SystemWiseDetection:SystemWiseDetectionPrimitive + +tods.detection_algorithm.Ensemble = tods.detection_algorithm.Ensemble:EnsemblePrimitive + +tods.reinforcement.rule_filter = tods.reinforcement.RuleBasedFilter:RuleBasedFilter + diff --git a/tods/tods_skinterface/entry_points/entry_points_detection_algorithm.txt b/tods/tods_skinterface/entry_points/entry_points_detection_algorithm.txt new file mode 100644 index 0000000..ce87b84 --- /dev/null +++ b/tods/tods_skinterface/entry_points/entry_points_detection_algorithm.txt @@ -0,0 +1,23 @@ +tods.detection_algorithm.pyod_ae = tods.detection_algorithm.PyodAE:AutoEncoderPrimitive +tods.detection_algorithm.pyod_vae = tods.detection_algorithm.PyodVAE:VariationalAutoEncoderPrimitive +tods.detection_algorithm.pyod_cof = tods.detection_algorithm.PyodCOF:COFPrimitive +tods.detection_algorithm.pyod_sod = tods.detection_algorithm.PyodSOD:SODPrimitive +tods.detection_algorithm.pyod_abod = tods.detection_algorithm.PyodABOD:ABODPrimitive +tods.detection_algorithm.pyod_hbos = tods.detection_algorithm.PyodHBOS:HBOSPrimitive +tods.detection_algorithm.pyod_iforest = tods.detection_algorithm.PyodIsolationForest:IsolationForestPrimitive +tods.detection_algorithm.pyod_lof = tods.detection_algorithm.PyodLOF:LOFPrimitive +tods.detection_algorithm.pyod_knn = tods.detection_algorithm.PyodKNN:KNNPrimitive +tods.detection_algorithm.pyod_ocsvm = tods.detection_algorithm.PyodOCSVM:OCSVMPrimitive +tods.detection_algorithm.pyod_loda = tods.detection_algorithm.PyodLODA:LODAPrimitive +tods.detection_algorithm.pyod_cblof = tods.detection_algorithm.PyodCBLOF:CBLOFPrimitive +tods.detection_algorithm.pyod_sogaal = tods.detection_algorithm.PyodSoGaal:So_GaalPrimitive +tods.detection_algorithm.pyod_mogaal = tods.detection_algorithm.PyodMoGaal:Mo_GaalPrimitive +tods.detection_algorithm.matrix_profile = tods.detection_algorithm.MatrixProfile:MatrixProfilePrimitive +tods.detection_algorithm.AutoRegODetector = tods.detection_algorithm.AutoRegODetect:AutoRegODetectorPrimitive +tods.detection_algorithm.LSTMODetector = tods.detection_algorithm.LSTMODetect:LSTMODetectorPrimitive +tods.detection_algorithm.PCAODetector = tods.detection_algorithm.PCAODetect:PCAODetectorPrimitive +tods.detection_algorithm.KDiscordODetector = tods.detection_algorithm.KDiscordODetect:KDiscordODetectorPrimitive +tods.detection_algorithm.deeplog = tods.detection_algorithm.DeepLog:DeepLogPrimitive +tods.detection_algorithm.telemanom = tods.detection_algorithm.Telemanom:TelemanomPrimitive +tods.detection_algorithm.system_wise_detection = tods.detection_algorithm.SystemWiseDetection:SystemWiseDetectionPrimitive +tods.detection_algorithm.Ensemble = tods.detection_algorithm.Ensemble:EnsemblePrimitive diff --git a/tods/tods_skinterface/entry_points/entry_points_feature_analysis.txt b/tods/tods_skinterface/entry_points/entry_points_feature_analysis.txt new file mode 100644 index 0000000..cb28fcb --- /dev/null +++ b/tods/tods_skinterface/entry_points/entry_points_feature_analysis.txt @@ -0,0 +1,33 @@ +tods.feature_analysis.auto_correlation = tods.feature_analysis.AutoCorrelation:AutoCorrelationPrimitive +tods.feature_analysis.statistical_mean = tods.feature_analysis.StatisticalMean:StatisticalMeanPrimitive +tods.feature_analysis.statistical_median = tods.feature_analysis.StatisticalMedian:StatisticalMedianPrimitive +tods.feature_analysis.statistical_g_mean = tods.feature_analysis.StatisticalGmean:StatisticalGmeanPrimitive +tods.feature_analysis.statistical_abs_energy = tods.feature_analysis.StatisticalAbsEnergy:StatisticalAbsEnergyPrimitive +tods.feature_analysis.statistical_abs_sum = tods.feature_analysis.StatisticalAbsSum:StatisticalAbsSumPrimitive +tods.feature_analysis.statistical_h_mean = tods.feature_analysis.StatisticalHmean:StatisticalHmeanPrimitive +tods.feature_analysis.statistical_maximum = tods.feature_analysis.StatisticalMaximum:StatisticalMaximumPrimitive +tods.feature_analysis.statistical_minimum = tods.feature_analysis.StatisticalMinimum:StatisticalMinimumPrimitive +tods.feature_analysis.statistical_mean_abs = tods.feature_analysis.StatisticalMeanAbs:StatisticalMeanAbsPrimitive +tods.feature_analysis.statistical_mean_abs_temporal_derivative = tods.feature_analysis.StatisticalMeanAbsTemporalDerivative:StatisticalMeanAbsTemporalDerivativePrimitive +tods.feature_analysis.statistical_mean_temporal_derivative = tods.feature_analysis.StatisticalMeanTemporalDerivative:StatisticalMeanTemporalDerivativePrimitive +tods.feature_analysis.statistical_median_abs_deviation = tods.feature_analysis.StatisticalMedianAbsoluteDeviation:StatisticalMedianAbsoluteDeviationPrimitive +tods.feature_analysis.statistical_kurtosis = tods.feature_analysis.StatisticalKurtosis:StatisticalKurtosisPrimitive +tods.feature_analysis.statistical_skew = tods.feature_analysis.StatisticalSkew:StatisticalSkewPrimitive +tods.feature_analysis.statistical_std = tods.feature_analysis.StatisticalStd:StatisticalStdPrimitive +tods.feature_analysis.statistical_var = tods.feature_analysis.StatisticalVar:StatisticalVarPrimitive +tods.feature_analysis.statistical_variation = tods.feature_analysis.StatisticalVariation:StatisticalVariationPrimitive +tods.feature_analysis.statistical_vec_sum = tods.feature_analysis.StatisticalVecSum:StatisticalVecSumPrimitive +tods.feature_analysis.statistical_willison_amplitude = tods.feature_analysis.StatisticalWillisonAmplitude:StatisticalWillisonAmplitudePrimitive +tods.feature_analysis.statistical_zero_crossing = tods.feature_analysis.StatisticalZeroCrossing:StatisticalZeroCrossingPrimitive +tods.feature_analysis.spectral_residual_transform = tods.feature_analysis.SpectralResidualTransform:SpectralResidualTransformPrimitive +tods.feature_analysis.fast_fourier_transform = tods.feature_analysis.FastFourierTransform:FastFourierTransformPrimitive +tods.feature_analysis.discrete_cosine_transform = tods.feature_analysis.DiscreteCosineTransform:DiscreteCosineTransformPrimitive +tods.feature_analysis.non_negative_matrix_factorization = tods.feature_analysis.NonNegativeMatrixFactorization:NonNegativeMatrixFactorizationPrimitive +tods.feature_analysis.bk_filter = tods.feature_analysis.BKFilter:BKFilterPrimitive +tods.feature_analysis.hp_filter = tods.feature_analysis.HPFilter:HPFilterPrimitive +tods.feature_analysis.truncated_svd = tods.feature_analysis.SKTruncatedSVD:SKTruncatedSVDPrimitive +tods.feature_analysis.wavelet_transform = tods.feature_analysis.WaveletTransform:WaveletTransformPrimitive +tods.feature_analysis.trmf = tods.feature_analysis.TRMF:TRMFPrimitive + + + diff --git a/tods/tods_skinterface/feature_analysis_skitest/AutoCorrelation_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/AutoCorrelation_skitest.py new file mode 100644 index 0000000..b21e8d4 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/AutoCorrelation_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.AutoCorrelation_skinterface import AutoCorrelationSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = AutoCorrelationSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/BKFilter_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/BKFilter_skitest.py new file mode 100644 index 0000000..8d21ff8 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/BKFilter_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.BKFilter_skinterface import BKFilterSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = BKFilterSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/DiscreteCosineTransform_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/DiscreteCosineTransform_skitest.py new file mode 100644 index 0000000..1b390d5 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/DiscreteCosineTransform_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.DiscreteCosineTransform_skinterface import DiscreteCosineTransformSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = DiscreteCosineTransformSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/FastFourierTransform_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/FastFourierTransform_skitest.py new file mode 100644 index 0000000..ac2de98 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/FastFourierTransform_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.FastFourierTransform_skinterface import FastFourierTransformSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = FastFourierTransformSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/HPFilter_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/HPFilter_skitest.py new file mode 100644 index 0000000..5c02b3d --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/HPFilter_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.HPFilter_skinterface import HPFilterSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = HPFilterSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/NonNegativeMatrixFactorization_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/NonNegativeMatrixFactorization_skitest.py new file mode 100644 index 0000000..ecabc49 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/NonNegativeMatrixFactorization_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.NonNegativeMatrixFactorization_skinterface import NonNegativeMatrixFactorizationSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = NonNegativeMatrixFactorizationSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/SKTruncatedSVD_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/SKTruncatedSVD_skitest.py new file mode 100644 index 0000000..01b49bb --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/SKTruncatedSVD_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.SKTruncatedSVD_skinterface import SKTruncatedSVDSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = SKTruncatedSVDSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/SpectralResidualTransform_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/SpectralResidualTransform_skitest.py new file mode 100644 index 0000000..8f63291 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/SpectralResidualTransform_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.SpectralResidualTransform_skinterface import SpectralResidualTransformSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = SpectralResidualTransformSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsEnergy_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsEnergy_skitest.py new file mode 100644 index 0000000..953b14c --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsEnergy_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalAbsEnergy_skinterface import StatisticalAbsEnergySKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalAbsEnergySKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsSum_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsSum_skitest.py new file mode 100644 index 0000000..9d3fbff --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalAbsSum_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalAbsSum_skinterface import StatisticalAbsSumSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalAbsSumSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalGmean_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalGmean_skitest.py new file mode 100644 index 0000000..1e9a9fd --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalGmean_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalGmean_skinterface import StatisticalGmeanSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalGmeanSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalHmean_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalHmean_skitest.py new file mode 100644 index 0000000..cd0ddea --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalHmean_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalHmean_skinterface import StatisticalHmeanSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalHmeanSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalKurtosis_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalKurtosis_skitest.py new file mode 100644 index 0000000..172bd45 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalKurtosis_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalKurtosis_skinterface import StatisticalKurtosisSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalKurtosisSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMaximum_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMaximum_skitest.py new file mode 100644 index 0000000..29b31e6 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMaximum_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMaximum_skinterface import StatisticalMaximumSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMaximumSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbsTemporalDerivative_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbsTemporalDerivative_skitest.py new file mode 100644 index 0000000..9b9af2a --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbsTemporalDerivative_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMeanAbsTemporalDerivative_skinterface import StatisticalMeanAbsTemporalDerivativeSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMeanAbsTemporalDerivativeSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbs_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbs_skitest.py new file mode 100644 index 0000000..af3a701 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanAbs_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMeanAbs_skinterface import StatisticalMeanAbsSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMeanAbsSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanTemporalDerivative_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanTemporalDerivative_skitest.py new file mode 100644 index 0000000..0c57237 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMeanTemporalDerivative_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMeanTemporalDerivative_skinterface import StatisticalMeanTemporalDerivativeSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMeanTemporalDerivativeSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMean_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMean_skitest.py new file mode 100644 index 0000000..aa3827d --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMean_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMean_skinterface import StatisticalMeanSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMeanSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedianAbsoluteDeviation_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedianAbsoluteDeviation_skitest.py new file mode 100644 index 0000000..2f0d34a --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedianAbsoluteDeviation_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMedianAbsoluteDeviation_skinterface import StatisticalMedianAbsoluteDeviationSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMedianAbsoluteDeviationSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedian_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedian_skitest.py new file mode 100644 index 0000000..1235fc9 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMedian_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMedian_skinterface import StatisticalMedianSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMedianSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalMinimum_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMinimum_skitest.py new file mode 100644 index 0000000..1afdb7e --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalMinimum_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalMinimum_skinterface import StatisticalMinimumSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalMinimumSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalSkew_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalSkew_skitest.py new file mode 100644 index 0000000..90e0356 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalSkew_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalSkew_skinterface import StatisticalSkewSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalSkewSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalStd_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalStd_skitest.py new file mode 100644 index 0000000..33f42c9 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalStd_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalStd_skinterface import StatisticalStdSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalStdSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalVar_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVar_skitest.py new file mode 100644 index 0000000..c4048ce --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVar_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalVar_skinterface import StatisticalVarSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalVarSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalVariation_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVariation_skitest.py new file mode 100644 index 0000000..fb288f7 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVariation_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalVariation_skinterface import StatisticalVariationSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalVariationSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalVecSum_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVecSum_skitest.py new file mode 100644 index 0000000..17e12a6 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalVecSum_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalVecSum_skinterface import StatisticalVecSumSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalVecSumSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalWillisonAmplitude_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalWillisonAmplitude_skitest.py new file mode 100644 index 0000000..9e89fa5 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalWillisonAmplitude_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalWillisonAmplitude_skinterface import StatisticalWillisonAmplitudeSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalWillisonAmplitudeSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/StatisticalZeroCrossing_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/StatisticalZeroCrossing_skitest.py new file mode 100644 index 0000000..0c3e042 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/StatisticalZeroCrossing_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.StatisticalZeroCrossing_skinterface import StatisticalZeroCrossingSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = StatisticalZeroCrossingSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/TRMF_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/TRMF_skitest.py new file mode 100644 index 0000000..6e189e4 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/TRMF_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.TRMF_skinterface import TRMFSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = TRMFSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/feature_analysis_skitest/WaveletTransform_skitest.py b/tods/tods_skinterface/feature_analysis_skitest/WaveletTransform_skitest.py new file mode 100644 index 0000000..ba387d2 --- /dev/null +++ b/tods/tods_skinterface/feature_analysis_skitest/WaveletTransform_skitest.py @@ -0,0 +1,10 @@ +import numpy as np +from tods.tods_skinterface.primitiveSKI.feature_analysis.WaveletTransform_skinterface import WaveletTransformSKI + +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + +transformer = WaveletTransformSKI() +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\n", X_transform) diff --git a/tods/tods_skinterface/primitiveSKI/Base_skinterface.py b/tods/tods_skinterface/primitiveSKI/Base_skinterface.py new file mode 100644 index 0000000..76ef244 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/Base_skinterface.py @@ -0,0 +1,105 @@ +from d3m import container +from tods.detection_algorithm import DeepLog +from tods.detection_algorithm.PyodABOD import ABODPrimitive +from tods.detection_algorithm.PyodAE import AutoEncoderPrimitive +from tods.detection_algorithm.PyodSOD import SODPrimitive +from tods.detection_algorithm.AutoRegODetect import AutoRegODetectorPrimitive + +class BaseSKI(): + def __init__(self, primitive, **hyperparameter): + + hyperparam_buf = list(primitive.metadata.get_hyperparams().defaults().keys()) + hyperparam_input = list(hyperparameter.keys()) + if not set(hyperparam_buf) > set(hyperparam_input): + invalid_hyperparam = list(set(hyperparam_input) - set(hyperparam_buf)) + raise TypeError(self.__class__.__name__ + ' got unexpected keyword argument ' + str(invalid_hyperparam)) + + hyperparams_class = primitive.metadata.get_hyperparams() + hyperparams = hyperparams_class.defaults() + #print("items ", type(hyperparameter.items())) + if len(hyperparameter.items())!=0: + #for key, value in hyperparameter.items(): + hyperparams = hyperparams.replace(hyperparameter) + + self.primitive = primitive(hyperparams=hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = False + #print(hyperparams) + + def transform(self, X): #transform the ndarray to d3m dataframe, select columns to use + # if self.use_columns==(): + # self.use_columns = [iter for iter in range(len(X))] + # else: + # pass + # print(self.use_columns) + + use_columns = [iter for iter in range(len(X))] + inputs = {} + for i in use_columns: + inputs['col_'+str(i)] = list(X[i]) + inputs = container.DataFrame(inputs, columns=list(inputs.keys()), generate_metadata=True) + return inputs + + def set_training_data(self, data): + return self.primitive.set_training_data(inputs=data) + + def fit(self, data): + + if not self.fit_available: + raise AttributeError('type object ' + self.__class__.__name__ + ' has no attribute \'fit\'') + + data = self.transform(data) + self.set_training_data(data) + return self.primitive.fit() + + def predict(self, data): + + if not self.predict_available: + raise AttributeError('type object ' + self.__class__.__name__ + ' has no attribute \'predict\'') + + data = self.transform(data) + return self.primitive.produce(inputs=data).value.values + + def predict_score(self, data): + + if not self.predict_available: + raise AttributeError('type object ' + self.__class__.__name__ + ' has no attribute \'predict_score\'') + + data = self.transform(data) + return self.primitive.produce_score(inputs=data).value.values + + def produce(self, data): #produce function for other primitive types + + if not self.produce_available: + raise AttributeError('type object ' + self.__class__.__name__ + ' has no attribute \'produce\'') + + data = self.transform(data) + return self.primitive.produce(inputs=data).value.values +""" +if __name__ == '__main__': + import numpy as np + X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) + X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]]) + transformer = SKInterface(AutoRegODetectorPrimitive, contamination=0.2, window_size=2) + transformer.fit(X_train) + prediction_labels = transformer.produce(X_test) + prediction_score = transformer.produce_score(X_test) + print("Prediction Labels\n", prediction_labels) + print("Prediction Score\n", prediction_score) +""" + +""" + def transform(self, X): + inputs = {} + for i in range(len(X)): + inputs['col_'+str(i)] = list(X[i]) + inputs = container.DataFrame(inputs, columns=list(inputs.keys()), generate_metadata=True) + outputs = self.primitive.produce(inputs=inputs).value.to_numpy() + return outputs + + 'contamination': contamination, + 'use_columns': use_columns, + 'return_result': return_result, +""" +#use_columns=(-1,), contamination=0.1, return_result='append' \ No newline at end of file diff --git a/tods/tods_skinterface/primitiveSKI/__init__.py b/tods/tods_skinterface/primitiveSKI/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/primitiveSKI/data_processing/__init__.py b/tods/tods_skinterface/primitiveSKI/data_processing/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/ABOD_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/ABOD_skinterface.py new file mode 100644 index 0000000..31df643 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/ABOD_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodABOD import ABODPrimitive + +class ABODSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=ABODPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoEncoder_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoEncoder_skinterface.py new file mode 100644 index 0000000..3c62a46 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoEncoder_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodAE import AutoEncoderPrimitive + +class AutoEncoderSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=AutoEncoderPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoRegODetector_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoRegODetector_skinterface.py new file mode 100644 index 0000000..57c137a --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/AutoRegODetector_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.AutoRegODetect import AutoRegODetectorPrimitive + +class AutoRegODetectorSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=AutoRegODetectorPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/CBLOF_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/CBLOF_skinterface.py new file mode 100644 index 0000000..d7b044d --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/CBLOF_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodCBLOF import CBLOFPrimitive + +class CBLOFSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=CBLOFPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/COF_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/COF_skinterface.py new file mode 100644 index 0000000..ddcd345 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/COF_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodCOF import COFPrimitive + +class COFSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=COFPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/DeepLog_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/DeepLog_skinterface.py new file mode 100644 index 0000000..5caac2b --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/DeepLog_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.DeepLog import DeepLogPrimitive + +class DeepLogSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=DeepLogPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/Ensemble_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Ensemble_skinterface.py new file mode 100644 index 0000000..347072b --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Ensemble_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.Ensemble import EnsemblePrimitive + +class EnsembleSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=EnsemblePrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/HBOS_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/HBOS_skinterface.py new file mode 100644 index 0000000..7f8c8e0 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/HBOS_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodHBOS import HBOSPrimitive + +class HBOSSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=HBOSPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/IsolationForest_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/IsolationForest_skinterface.py new file mode 100644 index 0000000..0fabd9d --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/IsolationForest_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodIsolationForest import IsolationForestPrimitive + +class IsolationForestSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=IsolationForestPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/KDiscordODetector_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/KDiscordODetector_skinterface.py new file mode 100644 index 0000000..fed6cf7 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/KDiscordODetector_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.KDiscordODetect import KDiscordODetectorPrimitive + +class KDiscordODetectorSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=KDiscordODetectorPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/KNN_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/KNN_skinterface.py new file mode 100644 index 0000000..47f4c59 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/KNN_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodKNN import KNNPrimitive + +class KNNSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=KNNPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/LODA_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LODA_skinterface.py new file mode 100644 index 0000000..c1b40fa --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LODA_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodLODA import LODAPrimitive + +class LODASKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=LODAPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/LOF_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LOF_skinterface.py new file mode 100644 index 0000000..d9cca8c --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LOF_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodLOF import LOFPrimitive + +class LOFSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=LOFPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/LSTMODetector_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LSTMODetector_skinterface.py new file mode 100644 index 0000000..cbfb3cf --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/LSTMODetector_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.LSTMODetect import LSTMODetectorPrimitive + +class LSTMODetectorSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=LSTMODetectorPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/MatrixProfile_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/MatrixProfile_skinterface.py new file mode 100644 index 0000000..70126f1 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/MatrixProfile_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.MatrixProfile import MatrixProfilePrimitive + +class MatrixProfileSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=MatrixProfilePrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/Mo_Gaal_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Mo_Gaal_skinterface.py new file mode 100644 index 0000000..8c12c5a --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Mo_Gaal_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodMoGaal import Mo_GaalPrimitive + +class Mo_GaalSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=Mo_GaalPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/OCSVM_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/OCSVM_skinterface.py new file mode 100644 index 0000000..b2f2b13 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/OCSVM_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodOCSVM import OCSVMPrimitive + +class OCSVMSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=OCSVMPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/PCAODetector_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/PCAODetector_skinterface.py new file mode 100644 index 0000000..e515091 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/PCAODetector_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PCAODetect import PCAODetectorPrimitive + +class PCAODetectorSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=PCAODetectorPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/SOD_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/SOD_skinterface.py new file mode 100644 index 0000000..ee4d2f1 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/SOD_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodSOD import SODPrimitive + +class SODSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=SODPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/So_Gaal_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/So_Gaal_skinterface.py new file mode 100644 index 0000000..717466a --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/So_Gaal_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodSoGaal import So_GaalPrimitive + +class So_GaalSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=So_GaalPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/SystemWiseDetection_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/SystemWiseDetection_skinterface.py new file mode 100644 index 0000000..90ca9b5 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/SystemWiseDetection_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.SystemWiseDetection import SystemWiseDetectionPrimitive + +class SystemWiseDetectionSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=SystemWiseDetectionPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/Telemanom_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Telemanom_skinterface.py new file mode 100644 index 0000000..3d9f46f --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/Telemanom_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.Telemanom import TelemanomPrimitive + +class TelemanomSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=TelemanomPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/VariationalAutoEncoder_skinterface.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/VariationalAutoEncoder_skinterface.py new file mode 100644 index 0000000..faf2385 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/detection_algorithm/VariationalAutoEncoder_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.detection_algorithm.PyodVAE import VariationalAutoEncoderPrimitive + +class VariationalAutoEncoderSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=VariationalAutoEncoderPrimitive, **hyperparams) + self.fit_available = True + self.predict_available = True + self.produce_available = False diff --git a/tods/tods_skinterface/primitiveSKI/detection_algorithm/__init__.py b/tods/tods_skinterface/primitiveSKI/detection_algorithm/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/AutoCorrelation_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/AutoCorrelation_skinterface.py new file mode 100644 index 0000000..8e7e5c8 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/AutoCorrelation_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.AutoCorrelation import AutoCorrelationPrimitive + +class AutoCorrelationSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=AutoCorrelationPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/BKFilter_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/BKFilter_skinterface.py new file mode 100644 index 0000000..ed05521 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/BKFilter_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.BKFilter import BKFilterPrimitive + +class BKFilterSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=BKFilterPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/DiscreteCosineTransform_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/DiscreteCosineTransform_skinterface.py new file mode 100644 index 0000000..f667bb5 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/DiscreteCosineTransform_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.DiscreteCosineTransform import DiscreteCosineTransformPrimitive + +class DiscreteCosineTransformSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=DiscreteCosineTransformPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/FastFourierTransform_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/FastFourierTransform_skinterface.py new file mode 100644 index 0000000..e54fe57 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/FastFourierTransform_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.FastFourierTransform import FastFourierTransformPrimitive + +class FastFourierTransformSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=FastFourierTransformPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/HPFilter_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/HPFilter_skinterface.py new file mode 100644 index 0000000..b137521 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/HPFilter_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.HPFilter import HPFilterPrimitive + +class HPFilterSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=HPFilterPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/NonNegativeMatrixFactorization_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/NonNegativeMatrixFactorization_skinterface.py new file mode 100644 index 0000000..b5a2b7e --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/NonNegativeMatrixFactorization_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.NonNegativeMatrixFactorization import NonNegativeMatrixFactorizationPrimitive + +class NonNegativeMatrixFactorizationSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=NonNegativeMatrixFactorizationPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/SKTruncatedSVD_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/SKTruncatedSVD_skinterface.py new file mode 100644 index 0000000..e0c57a8 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/SKTruncatedSVD_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.SKTruncatedSVD import SKTruncatedSVDPrimitive + +class SKTruncatedSVDSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=SKTruncatedSVDPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/SpectralResidualTransform_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/SpectralResidualTransform_skinterface.py new file mode 100644 index 0000000..dfb9127 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/SpectralResidualTransform_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.SpectralResidualTransform import SpectralResidualTransformPrimitive + +class SpectralResidualTransformSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=SpectralResidualTransformPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsEnergy_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsEnergy_skinterface.py new file mode 100644 index 0000000..9596f54 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsEnergy_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalAbsEnergy import StatisticalAbsEnergyPrimitive + +class StatisticalAbsEnergySKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalAbsEnergyPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsSum_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsSum_skinterface.py new file mode 100644 index 0000000..707dab3 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalAbsSum_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalAbsSum import StatisticalAbsSumPrimitive + +class StatisticalAbsSumSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalAbsSumPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalGmean_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalGmean_skinterface.py new file mode 100644 index 0000000..412e43b --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalGmean_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalGmean import StatisticalGmeanPrimitive + +class StatisticalGmeanSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalGmeanPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalHmean_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalHmean_skinterface.py new file mode 100644 index 0000000..36d9242 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalHmean_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalHmean import StatisticalHmeanPrimitive + +class StatisticalHmeanSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalHmeanPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalKurtosis_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalKurtosis_skinterface.py new file mode 100644 index 0000000..2db67c9 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalKurtosis_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalKurtosis import StatisticalKurtosisPrimitive + +class StatisticalKurtosisSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalKurtosisPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMaximum_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMaximum_skinterface.py new file mode 100644 index 0000000..41f86cf --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMaximum_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMaximum import StatisticalMaximumPrimitive + +class StatisticalMaximumSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMaximumPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbsTemporalDerivative_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbsTemporalDerivative_skinterface.py new file mode 100644 index 0000000..39489eb --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbsTemporalDerivative_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMeanAbsTemporalDerivative import StatisticalMeanAbsTemporalDerivativePrimitive + +class StatisticalMeanAbsTemporalDerivativeSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMeanAbsTemporalDerivativePrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbs_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbs_skinterface.py new file mode 100644 index 0000000..d510f0d --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanAbs_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMeanAbs import StatisticalMeanAbsPrimitive + +class StatisticalMeanAbsSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMeanAbsPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanTemporalDerivative_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanTemporalDerivative_skinterface.py new file mode 100644 index 0000000..9eb3e23 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMeanTemporalDerivative_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMeanTemporalDerivative import StatisticalMeanTemporalDerivativePrimitive + +class StatisticalMeanTemporalDerivativeSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMeanTemporalDerivativePrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMean_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMean_skinterface.py new file mode 100644 index 0000000..9fc5e06 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMean_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMean import StatisticalMeanPrimitive + +class StatisticalMeanSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMeanPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedianAbsoluteDeviation_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedianAbsoluteDeviation_skinterface.py new file mode 100644 index 0000000..13a6d57 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedianAbsoluteDeviation_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMedianAbsoluteDeviation import StatisticalMedianAbsoluteDeviationPrimitive + +class StatisticalMedianAbsoluteDeviationSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMedianAbsoluteDeviationPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedian_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedian_skinterface.py new file mode 100644 index 0000000..4b7b8d1 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMedian_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMedian import StatisticalMedianPrimitive + +class StatisticalMedianSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMedianPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMinimum_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMinimum_skinterface.py new file mode 100644 index 0000000..d0a40d1 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalMinimum_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalMinimum import StatisticalMinimumPrimitive + +class StatisticalMinimumSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalMinimumPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalSkew_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalSkew_skinterface.py new file mode 100644 index 0000000..94321e1 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalSkew_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalSkew import StatisticalSkewPrimitive + +class StatisticalSkewSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalSkewPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalStd_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalStd_skinterface.py new file mode 100644 index 0000000..a586fa2 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalStd_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalStd import StatisticalStdPrimitive + +class StatisticalStdSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalStdPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVar_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVar_skinterface.py new file mode 100644 index 0000000..c683fcc --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVar_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalVar import StatisticalVarPrimitive + +class StatisticalVarSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalVarPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVariation_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVariation_skinterface.py new file mode 100644 index 0000000..38c7b81 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVariation_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalVariation import StatisticalVariationPrimitive + +class StatisticalVariationSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalVariationPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVecSum_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVecSum_skinterface.py new file mode 100644 index 0000000..31a6197 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalVecSum_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalVecSum import StatisticalVecSumPrimitive + +class StatisticalVecSumSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalVecSumPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalWillisonAmplitude_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalWillisonAmplitude_skinterface.py new file mode 100644 index 0000000..c03dafe --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalWillisonAmplitude_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalWillisonAmplitude import StatisticalWillisonAmplitudePrimitive + +class StatisticalWillisonAmplitudeSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalWillisonAmplitudePrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalZeroCrossing_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalZeroCrossing_skinterface.py new file mode 100644 index 0000000..4798e17 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/StatisticalZeroCrossing_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.StatisticalZeroCrossing import StatisticalZeroCrossingPrimitive + +class StatisticalZeroCrossingSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=StatisticalZeroCrossingPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/TRMF_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/TRMF_skinterface.py new file mode 100644 index 0000000..38200d9 --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/TRMF_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.TRMF import TRMFPrimitive + +class TRMFSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=TRMFPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/WaveletTransform_skinterface.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/WaveletTransform_skinterface.py new file mode 100644 index 0000000..df4848f --- /dev/null +++ b/tods/tods_skinterface/primitiveSKI/feature_analysis/WaveletTransform_skinterface.py @@ -0,0 +1,10 @@ +import numpy as np +from ..Base_skinterface import BaseSKI +from tods.feature_analysis.WaveletTransform import WaveletTransformPrimitive + +class WaveletTransformSKI(BaseSKI): + def __init__(self, **hyperparams): + super().__init__(primitive=WaveletTransformPrimitive, **hyperparams) + self.fit_available = False + self.predict_available = False + self.produce_available = True diff --git a/tods/tods_skinterface/primitiveSKI/feature_analysis/__init__.py b/tods/tods_skinterface/primitiveSKI/feature_analysis/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/primitiveSKI/timeseries_processing/__init__.py b/tods/tods_skinterface/primitiveSKI/timeseries_processing/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tods/tods_skinterface/script_generation/detection_algorithm_skinterface_generation.py b/tods/tods_skinterface/script_generation/detection_algorithm_skinterface_generation.py new file mode 100644 index 0000000..257e3e2 --- /dev/null +++ b/tods/tods_skinterface/script_generation/detection_algorithm_skinterface_generation.py @@ -0,0 +1,50 @@ + +import re +import os + +with open('../entry_points/entry_points_detection_algorithm.txt','r',encoding='utf-8') as f: + entry_file = f.read() + +output_dir = '../primitiveSKI/detection_algorithm' + + +primitive_folder_start_loc_buf = [i.start()+2 for i in re.finditer('=', entry_file)] +primitive_start_loc_buf = [i.start()+1 for i in re.finditer(':', entry_file)] +primitive_end_loc_buf = [i.start() for i in re.finditer('\n', entry_file)] + +for primitive_index, primitive_start_loc in enumerate(primitive_start_loc_buf): + + primitive_folder_start_loc = primitive_folder_start_loc_buf[primitive_index] + primitive_end_loc = primitive_end_loc_buf[primitive_index] + + primitive_folder = entry_file[primitive_folder_start_loc:primitive_start_loc-1] + primitive_name = entry_file[primitive_start_loc:primitive_end_loc] + # print(entry_file[primitive_folder_start_loc:primitive_start_loc-1]) + # print(entry_file[primitive_start_loc:primitive_end_loc]) + + import_line1 = 'import numpy as np \nfrom ..Base_skinterface import BaseSKI\n' + import_line2 = 'from ' + primitive_folder + ' import ' + primitive_name + '\n\n' + # print(import_line) + + class_name = primitive_name.replace('Primitive', 'SKI') + class_line1 = 'class ' + class_name + '(BaseSKI):\n\tdef __init__(self, **hyperparams):\n\t\tsuper().__init__(primitive=' + class_line2 = primitive_name + ', **hyperparams)\n' + class_line3 = '\t\tself.fit_available = True\n\t\tself.predict_available = True\n\t\tself.produce_available = False\n' + + python_content = import_line1 + import_line2 + class_line1 + class_line2 + class_line3 + python_name = primitive_name.replace('Primitive', '_skinterface.py') + with open(os.path.join(output_dir, python_name), 'w', encoding='utf-8') as f: + f.write(python_content) + print(os.path.join(output_dir, python_name)) + print(python_content) + + +# import numpy as np +# from test_interface import SKInterface +# from tods.detection_algorithm.AutoRegODetect import AutoRegODetectorPrimitive +# +# class AutoRegODetect(SKInterface): +# def __init__(self, **hyperparams): +# super().__init__(primitive=AutoRegODetectorPrimitive, hyperparams) + + diff --git a/tods/tods_skinterface/script_generation/detection_algorithm_skitest_generation.py b/tods/tods_skinterface/script_generation/detection_algorithm_skitest_generation.py new file mode 100644 index 0000000..19cbb03 --- /dev/null +++ b/tods/tods_skinterface/script_generation/detection_algorithm_skitest_generation.py @@ -0,0 +1,76 @@ +#this file generates the _main.py files to test the primitives +import re +import os +import sys +#sys.path.insert(0, 'tods/utils/skinterface') +print(sys.path) +with open('../entry_points/entry_points_detection_algorithm.txt','r',encoding='utf-8') as f: + entry_file = f.read() + +output_dir = '../detection_algorithm_skitest' #output directory + + +primitive_folder_start_loc_buf = [i.start()+2 for i in re.finditer('=', entry_file)] +primitive_start_loc_buf = [i.start()+1 for i in re.finditer(':', entry_file)] +primitive_end_loc_buf = [i.start() for i in re.finditer('\n', entry_file)] + +for primitive_index, primitive_start_loc in enumerate(primitive_start_loc_buf): + + primitive_folder_start_loc = primitive_folder_start_loc_buf[primitive_index] + primitive_end_loc = primitive_end_loc_buf[primitive_index] + + primitive_folder = entry_file[primitive_folder_start_loc:primitive_start_loc-1] + primitive_name = entry_file[primitive_start_loc:primitive_end_loc] + # print(entry_file[primitive_folder_start_loc:primitive_start_loc-1]) + # print(entry_file[primitive_start_loc:primitive_end_loc]) + + primitve_api_name = primitive_name.replace('Primitive', '_skinterface') + class_name = primitive_name.replace('Primitive', 'SKI') +# import sys +# sys.path.insert(0, 'tods/utils')""" + import_line1 = 'import numpy as np' + + import_line2 = '\nfrom tods.tods_skinterface.primitiveSKI.detection_algorithm.'+ primitve_api_name + ' import ' + class_name + '\n\n' + #print(import_line) + + main_line1 = """X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]]) +X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]])\n +""" + main_line2 = 'transformer = ' + class_name + '()' + main_line3 = """ +transformer.fit(X_train) +prediction_labels = transformer.predict(X_test) +prediction_score = transformer.predict_score(X_test) + +print("Primitive: ", transformer.primitive) +print("Prediction Labels\\n", prediction_labels) +print("Prediction Score\\n", prediction_score) +""" + + python_content = import_line1 + import_line2 + main_line1+main_line2+main_line3 + python_name = primitive_name.replace('Primitive', '_skitest.py') + + with open(os.path.join(output_dir, python_name), 'w', encoding='utf-8') as f: + f.write(python_content) + print(os.path.join(output_dir, python_name)) + print(python_content) + +""" + main_line1 = 'X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]])\n' + main_line2 = 'X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]])\n\n' + main_line3 = 'transformer = AutoRegODetectorSKI(contamination=0.2, window_size=2)\n' + main_line4 = 'transformer.fit(X_train)\n' + main_line5 = 'prediction_labels = transformer.predict(X_test)\n' + main_line6 = 'prediction_score = transformer.predict_score(X_test)\n\n' + main_line7 = 'print("Prediction Labels\n", prediction_labels)\n' + main_line8 = 'print("Prediction Score\n", prediction_score)\n' +""" +# import numpy as np +# from test_interface import SKInterface +# from tods.detection_algorithm.AutoRegODetect import AutoRegODetectorPrimitive +# +# class AutoRegODetect(SKInterface): +# def __init__(self, **hyperparams): +# super().__init__(primitive=AutoRegODetectorPrimitive, hyperparams) + + diff --git a/tods/tods_skinterface/script_generation/feature_analysis_skinterface_generation.py b/tods/tods_skinterface/script_generation/feature_analysis_skinterface_generation.py new file mode 100644 index 0000000..8d0b364 --- /dev/null +++ b/tods/tods_skinterface/script_generation/feature_analysis_skinterface_generation.py @@ -0,0 +1,41 @@ + +import re +import os + +with open('../entry_points/entry_points_feature_analysis.txt','r',encoding='utf-8') as f: + entry_file = f.read() + +output_dir = '../primitiveSKI/feature_analysis' + + +primitive_folder_start_loc_buf = [i.start()+2 for i in re.finditer('=', entry_file)] +primitive_start_loc_buf = [i.start()+1 for i in re.finditer(':', entry_file)] +primitive_end_loc_buf = [i.start() for i in re.finditer('\n', entry_file)] + +for primitive_index, primitive_start_loc in enumerate(primitive_start_loc_buf): + + primitive_folder_start_loc = primitive_folder_start_loc_buf[primitive_index] + primitive_end_loc = primitive_end_loc_buf[primitive_index] + + primitive_folder = entry_file[primitive_folder_start_loc:primitive_start_loc-1] + primitive_name = entry_file[primitive_start_loc:primitive_end_loc] + # print(entry_file[primitive_folder_start_loc:primitive_start_loc-1]) + # print(entry_file[primitive_start_loc:primitive_end_loc]) + + import_line1 = 'import numpy as np \nfrom ..Base_skinterface import BaseSKI\n' + import_line2 = 'from ' + primitive_folder + ' import ' + primitive_name + '\n\n' + # print(import_line) + + class_name = primitive_name.replace('Primitive', 'SKI') + class_line1 = 'class ' + class_name + '(BaseSKI):\n\tdef __init__(self, **hyperparams):\n\t\tsuper().__init__(primitive=' + class_line2 = primitive_name + ', **hyperparams)\n' + class_line3 = '\t\tself.fit_available = False\n\t\tself.predict_available = False\n\t\tself.produce_available = True\n' + + python_content = import_line1 + import_line2 + class_line1 + class_line2 + class_line3 + python_name = primitive_name.replace('Primitive', '_skinterface.py') + with open(os.path.join(output_dir, python_name), 'w', encoding='utf-8') as f: + f.write(python_content) + print(os.path.join(output_dir, python_name)) + print(python_content) + + diff --git a/tods/tods_skinterface/script_generation/feature_analysis_skitest_generation.py b/tods/tods_skinterface/script_generation/feature_analysis_skitest_generation.py new file mode 100644 index 0000000..7aa1011 --- /dev/null +++ b/tods/tods_skinterface/script_generation/feature_analysis_skitest_generation.py @@ -0,0 +1,72 @@ +#this file generates the _main.py files to test the primitives +import re +import os +import sys +#sys.path.insert(0, 'tods/utils/skinterface') +print(sys.path) +with open('../entry_points/entry_points_feature_analysis.txt','r',encoding='utf-8') as f: + entry_file = f.read() + +output_dir = '../feature_analysis_skitest' #output directory + + +primitive_folder_start_loc_buf = [i.start()+2 for i in re.finditer('=', entry_file)] +primitive_start_loc_buf = [i.start()+1 for i in re.finditer(':', entry_file)] +primitive_end_loc_buf = [i.start() for i in re.finditer('\n', entry_file)] + +for primitive_index, primitive_start_loc in enumerate(primitive_start_loc_buf): + + primitive_folder_start_loc = primitive_folder_start_loc_buf[primitive_index] + primitive_end_loc = primitive_end_loc_buf[primitive_index] + + primitive_folder = entry_file[primitive_folder_start_loc:primitive_start_loc-1] + primitive_name = entry_file[primitive_start_loc:primitive_end_loc] + # print(entry_file[primitive_folder_start_loc:primitive_start_loc-1]) + # print(entry_file[primitive_start_loc:primitive_end_loc]) + + primitve_api_name = primitive_name.replace('Primitive', '_skinterface') + class_name = primitive_name.replace('Primitive', 'SKI') +# import sys +# sys.path.insert(0, 'tods/utils')""" + import_line1 = 'import numpy as np' + + import_line2 = '\nfrom tods.tods_skinterface.primitiveSKI.feature_analysis.'+ primitve_api_name + ' import ' + class_name + '\n\n' + #print(import_line) + + main_line1 = """X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]])\n +""" + main_line2 = 'transformer = ' + class_name + '()' + main_line3 = """ +X_transform = transformer.produce(X_test) + +print("Primitive:", transformer.primitive) +print("X_transform:\\n", X_transform) +""" + + python_content = import_line1 + import_line2 + main_line1+main_line2+main_line3 + python_name = primitive_name.replace('Primitive', '_skitest.py') + + with open(os.path.join(output_dir, python_name), 'w', encoding='utf-8') as f: + f.write(python_content) + print(os.path.join(output_dir, python_name)) + print(python_content) + +""" + main_line1 = 'X_train = np.array([[3., 4., 8., 16, 18, 13., 22., 36., 59., 128, 62, 67, 78, 100]])\n' + main_line2 = 'X_test = np.array([[3., 4., 8.6, 13.4, 22.5, 17, 19.2, 36.1, 127, -23, 59.2]])\n\n' + main_line3 = 'transformer = AutoRegODetectorSKI(contamination=0.2, window_size=2)\n' + main_line4 = 'transformer.fit(X_train)\n' + main_line5 = 'prediction_labels = transformer.predict(X_test)\n' + main_line6 = 'prediction_score = transformer.predict_score(X_test)\n\n' + main_line7 = 'print("Prediction Labels\n", prediction_labels)\n' + main_line8 = 'print("Prediction Score\n", prediction_score)\n' +""" +# import numpy as np +# from test_interface import SKInterface +# from tods.detection_algorithm.AutoRegODetect import AutoRegODetectorPrimitive +# +# class AutoRegODetect(SKInterface): +# def __init__(self, **hyperparams): +# super().__init__(primitive=AutoRegODetectorPrimitive, hyperparams) + + diff --git a/tods/tods_skinterface/test_api.sh b/tods/tods_skinterface/test_api.sh new file mode 100644 index 0000000..a07d8e3 --- /dev/null +++ b/tods/tods_skinterface/test_api.sh @@ -0,0 +1,27 @@ +#!/bin/bash +test_scripts=$(ls tods/utils/test_main) +for file in $test_scripts +do + for f in $tested_file + do + echo $f + echo $file + done + echo $file + + # Test pipeline building + python tods/utils/test_main/$file > tods/utils/skinterface/tmp.txt 2>>tods/utils/skinterface/tmp.txt + error=$(cat tmp.txt | grep 'Error' | wc -l) + echo "\t#Pipeline Building Errors:" $error + if [ "$error" -gt "0" ] + then + cat tods/utils/skinterface/tmp.txt + #rm tmp.txt + break + fi + echo $file >> tods/utils/skinterface/tested_file.txt +done + +# do +# for f in *.py; do python "$f"; done +# done \ No newline at end of file