diff --git a/tods/utils/interface.py b/tods/utils/interface.py deleted file mode 100644 index 0a0ffb0..0000000 --- a/tods/utils/interface.py +++ /dev/null @@ -1,71 +0,0 @@ -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 SKInterface(): - def __init__(self, primitive, hyperparameter=None): - hyperparams_class = primitive.metadata.get_hyperparams() - hyperparams = hyperparams_class.defaults() - if hyperparameter is not None: - hyperparams = hyperparams.replace(hyperparameter) - - self.primitive = primitive(hyperparams=hyperparams) - self.use_columns = hyperparams['use_columns'] - print(hyperparams) - - def transform(self, X): - if self.use_columns==(): - self.use_columns = [iter for iter in range(len(X))] - else: - pass - - inputs = {} - for i in self.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): - data = self.transform(data) - self.set_training_data(data) - return self.primitive.fit() - - def produce(self, data): - data = self.transform(data) - return self.primitive.produce(inputs=data).value - - def produce_score(self, data): - data = self.transform(data) - return self.primitive.produce_score(inputs=data).value - -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) - 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/utils/test_main.py b/tods/utils/test_main.py deleted file mode 100644 index 005e8bf..0000000 --- a/tods/utils/test_main.py +++ /dev/null @@ -1,14 +0,0 @@ -import numpy as np -from skinterface.primitiveSKI.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(contamination=0.2, window_size=2) -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) \ No newline at end of file