Browse Source

modified metadata of detection_algorithm module, FIXME: multidimensional data for MatrixProfile

master
lhenry15 4 years ago
parent
commit
1f778e854c
23 changed files with 253 additions and 212 deletions
  1. +2
    -2
      primitive_tests/test.sh
  2. +8
    -3
      tods/detection_algorithm/AutoRegODetect.py
  3. +10
    -8
      tods/detection_algorithm/DeepLog.py
  4. +11
    -5
      tods/detection_algorithm/Ensemble.py
  5. +11
    -6
      tods/detection_algorithm/KDiscordODetect.py
  6. +15
    -12
      tods/detection_algorithm/MatrixProfile.py
  7. +10
    -7
      tods/detection_algorithm/PCAODetect.py
  8. +11
    -5
      tods/detection_algorithm/PyodABOD.py
  9. +10
    -4
      tods/detection_algorithm/PyodAE.py
  10. +8
    -4
      tods/detection_algorithm/PyodCBLOF.py
  11. +9
    -16
      tods/detection_algorithm/PyodCOF.py
  12. +11
    -6
      tods/detection_algorithm/PyodHBOS.py
  13. +9
    -4
      tods/detection_algorithm/PyodIsolationForest.py
  14. +9
    -4
      tods/detection_algorithm/PyodKNN.py
  15. +10
    -5
      tods/detection_algorithm/PyodLODA.py
  16. +10
    -5
      tods/detection_algorithm/PyodLOF.py
  17. +10
    -5
      tods/detection_algorithm/PyodOCSVM.py
  18. +14
    -10
      tods/detection_algorithm/PyodSOD.py
  19. +17
    -30
      tods/detection_algorithm/PyodSoGaal.py
  20. +10
    -4
      tods/detection_algorithm/PyodVAE.py
  21. +17
    -30
      tods/detection_algorithm/SystemWiseDetection.py
  22. +17
    -23
      tods/detection_algorithm/Telemanom.py
  23. +14
    -14
      tods/feature_analysis/BKFilter.py

+ 2
- 2
primitive_tests/test.sh View File

@@ -2,13 +2,13 @@

#modules="data_processing timeseries_processing feature_analysis detection_algorithms reinforcement"
#modules="data_processing timeseries_processing"
modules="feature_analysis"
modules="detection_algorithm"
#test_scripts=$(ls primitive_tests | grep -v -f tested_file.txt)

for module in $modules
do
test_scripts=$(ls $module | grep -v -f tested_file.txt)
#test_scripts=$(ls $module)
for file in $test_scripts
do
for f in $tested_file


+ 8
- 3
tods/detection_algorithm/AutoRegODetect.py View File

@@ -130,11 +130,16 @@ class AutoRegODetectorPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs,
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "AutoRegODetector",
"python_path": "d3m.primitives.tods.detection_algorithm.AutoRegODetector",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.ISOLATION_FOREST, ],
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"version": "0.0.1",
"hyperparams_to_tune": ['window_size', 'contamination', 'step_size', 'method', 'weights'],


+ 10
- 8
tods/detection_algorithm/DeepLog.py View File

@@ -159,21 +159,23 @@ class DeepLogPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params,

"""

__author__ = "DATA Lab at Texas A&M University",
metadata = metadata_base.PrimitiveMetadata(
{
metadata = metadata_base.PrimitiveMetadata({
'__author__': "DATA Lab @Texas A&M University",
'name': "DeepLog Anomolay Detection",
'python_path': 'd3m.primitives.tods.detection_algorithm.deeplog',
'source': {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods/-/blob/Yile/anomaly-primitives/anomaly_primitives/MatrixProfile.py']},
'algorithm_types': [metadata_base.PrimitiveAlgorithmType.DEEPLOG],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'DeepLogPrimitive')),
'source': {
'name': "DATALAB @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
'hyperparams_to_tune': ['hidden_size', 'loss', 'optimizer', 'epochs', 'batch_size',
'l2_regularizer', 'validation_size',
'window_size', 'features', 'stacked_layers', 'preprocessing', 'verbose', 'dropout_rate','contamination'],
'version': '0.0.1',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'DeepLogPrimitive')),
}
)



+ 11
- 5
tods/detection_algorithm/Ensemble.py View File

@@ -10,6 +10,7 @@ import pandas as pd
# Custom import commands if any
from sklearn.preprocessing.data import Normalizer
from statsmodels.tsa.api import ExponentialSmoothing, SimpleExpSmoothing, Holt
import uuid


from d3m.container.numpy import ndarray as d3m_ndarray
@@ -116,16 +117,21 @@ class EnsemblePrimitive(UnsupervisedLearnerPrimitiveBase[Inputs, Outputs, Params
"""
__author__ = "DATA Lab at Texas A&M University"
metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "Ensemble",
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.ISOLATION_FOREST, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"python_path": "d3m.primitives.tods.detection_algorithm.Ensemble",
"source": {'name': 'DATA Lab at Texas A&M University', 'contact': 'mailto:khlai037@tamu.edu', 'uris': ['https://gitlab.com/lhenry15/tods.git','https://gitlab.com/lhenry15/tods/-/blob/mia/anomaly-primitives/anomaly_primitives/HoltSmoothing.py']},
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"id": "3688b5b4-885c-40bb-9731-fe3969ea81b0",
"hyperparams_to_tune": ['use_columns'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'EnsemblePrimitive')),
})

def __init__(self, *,


+ 11
- 6
tods/detection_algorithm/KDiscordODetect.py View File

@@ -244,15 +244,20 @@ class KDiscordODetectorPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "KDiscordODetector",
"python_path": "d3m.primitives.tods.detection_algorithm.KDiscordODetector",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.LOCAL_OUTLIER_FACTOR, ], #
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']
},
"version": "0.0.1",
"hyperparams_to_tune": ['n_neighbors', 'algorithm', 'leaf_size', 'p', 'contamination',
'window_size', 'step_size', 'method', 'radius'],
"hyperparams_to_tune": ['n_neighbors', 'algorithm', 'leaf_size', 'p', 'contamination', 'window_size', 'step_size', 'method', 'radius'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'KDiscordODetector')),
})



+ 15
- 12
tods/detection_algorithm/MatrixProfile.py View File

@@ -145,18 +145,21 @@ class MatrixProfilePrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Pa
"""

metadata = metadata_base.PrimitiveMetadata({
'__author__': "DATA Lab @Texas A&M University",
'name': "Matrix Profile",
#'python_path': 'd3m.primitives.tods.feature_analysis.matrix_profile',
'python_path': 'd3m.primitives.tods.detection_algorithm.matrix_profile',
'source': {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods/-/blob/Yile/anomaly-primitives/anomaly_primitives/MatrixProfile.py']},
'algorithm_types': [metadata_base.PrimitiveAlgorithmType.MATRIX_PROFILE,],
'primitive_family': metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'MatrixProfilePrimitive')),
'hyperparams_to_tune': ['window_size'],
'version': '0.0.2',
})
'__author__': "DATA Lab @Texas A&M University",
'name': "Matrix Profile",
'python_path': 'd3m.primitives.tods.detection_algorithm.matrix_profile',
'source': {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
'hyperparams_to_tune': ['window_size'],
'version': '0.0.2',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'MatrixProfilePrimitive')),
})


def __init__(self, *,


+ 10
- 7
tods/detection_algorithm/PCAODetect.py View File

@@ -260,16 +260,19 @@ class PCAODetectorPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Par
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "PCAODetector",
"python_path": "d3m.primitives.tods.detection_algorithm.PCAODetector",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.LOCAL_OUTLIER_FACTOR, ], #
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparams_to_tune": ['n_components', 'n_selected_components', 'contamination',
'whiten', 'svd_solver', 'tol', 'iterated_power', 'random_state',
'standardization'],
"hyperparams_to_tune": ['n_components', 'n_selected_components', 'contamination', 'whiten', 'svd_solver', 'tol', 'iterated_power', 'random_state', 'standardization'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'PCAODetector')),
})



+ 11
- 5
tods/detection_algorithm/PyodABOD.py View File

@@ -22,6 +22,7 @@ from d3m import utils
from d3m.base import utils as base_utils
from d3m.exceptions import PrimitiveNotFittedError
from d3m.primitive_interfaces.base import CallResult, DockerContainer
import uuid

# from d3m.primitive_interfaces.supervised_learning import SupervisedLearnerPrimitiveBase
from d3m.primitive_interfaces.unsupervised_learning import UnsupervisedLearnerPrimitiveBase
@@ -116,15 +117,20 @@ class ABODPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hyp

__author__: "DATA Lab at Texas A&M University"
metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "Angle-base Outlier Detection Primitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_abod",
"source": {'name': 'DATA Lab at Texas A&M University', 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git', 'https://gitlab.com/lhenry15/tods/-/blob/Junjie/anomaly-primitives/anomaly_primitives/PyodABOD.py']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.ANGLE_BASE_OUTLIER_DETECTION],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": "134f6c5f-717b-4683-bfbc-251bab07f6fa",
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['contamination', 'n_neighbors', 'method'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'ABODPrimitive')),
})

def __init__(self, *,


+ 10
- 4
tods/detection_algorithm/PyodAE.py View File

@@ -271,13 +271,19 @@ class AutoEncoderPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Para
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.AutoEncoder",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_ae",
"source": {'name': "DATA Lab at Texas A&M University", 'contact': 'mailto:khlai037@tamu.edu','uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.VARIATIONAL_AUTO_ENCODER, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATA Lab at Texas A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparameters_to_tune": [''],
"hyperparameters_to_tune": ['contamination', 'hidden_activation, output_activation, loss'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'AutoEncoderPrimitive')),
})



+ 8
- 4
tods/detection_algorithm/PyodCBLOF.py View File

@@ -198,12 +198,16 @@ class CBLOFPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hy
metadata = metadata_base.PrimitiveMetadata({
"name": "TODS.anomaly_detection_primitives.CBLOFPrimitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_cblof",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.LOCAL_OUTLIER_FACTOR, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATALAB @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparams_to_tune": ['contamination'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'CBLOFPrimitive')),
})



+ 9
- 16
tods/detection_algorithm/PyodCOF.py View File

@@ -35,7 +35,7 @@ from d3m import container, utils as d3m_utils

from .UODBasePrimitive import Params_ODBase, Hyperparams_ODBase, UnsupervisedOutlierDetectorBase
from pyod.models.cof import COF
# import uuid
import uuid


Inputs = d3m_dataframe
@@ -105,29 +105,22 @@ class COFPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hype
Number of neighbors to use by default for k neighbors queries.
"""

__author__ = "Data Lab"
metadata = metadata_base.PrimitiveMetadata(
{
metadata = metadata_base.PrimitiveMetadata({
'__author__' : "DATA Lab at Texas A&M University",
'name': "Connectivity-Based Outlier Factor (COF)",
'python_path': 'd3m.primitives.tods.detection_algorithm.pyod_cof',
'source': {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
'uris': [
'https://gitlab.com/lhenry15/tods.git',
'https://gitlab.com/lhenry15/tods/-/blob/purav/anomaly-primitives/anomaly_primitives/PyodCOF.py',
],
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
'hyperparameters_to_tune':['rank','update','objective','max_iter','learning_rate'],
'version': '0.0.1',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.PYOD_COF,
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': 'c7259da6-7ce6-42ad-83c6-15238679f5fa',
'hyperparameters_to_tune':['rank','update','objective','max_iter','learning_rate'],
'version': '0.0.1',
},
)
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'COFPrimitive')),
})

def __init__(self, *,
hyperparams: Hyperparams, #


+ 11
- 6
tods/detection_algorithm/PyodHBOS.py View File

@@ -30,6 +30,7 @@ from d3m.primitive_interfaces.transformer import TransformerPrimitiveBase
from d3m.primitive_interfaces.base import ProbabilisticCompositionalityMixin, ContinueFitMixin
from d3m import exceptions
import pandas
import uuid

from d3m import container, utils as d3m_utils

@@ -122,17 +123,21 @@ class HBOSPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hyp
``threshold_`` on ``decision_scores_``.
"""

__author__: "DATA Lab at Texas A&M University"
metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "HBOS",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_hbos",
"source": {'name': 'DATA Lab at Texas A&M University', 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git', 'https://gitlab.com/lhenry15/tods/-/blob/Junjie/anomaly-primitives/anomaly_primitives/PyodHBOS.py']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.HISTOGRAM_BASED_OUTLIER_DETECTION],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": "dc722a9f-7621-4900-9b77-7b3b7631ff5e",
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['contamination', 'n_bins', 'alpha', 'tol'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'HBOSPrimitive')),
})

def __init__(self, *,


+ 9
- 4
tods/detection_algorithm/PyodIsolationForest.py View File

@@ -187,14 +187,19 @@ class IsolationForestPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs,
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.IsolationForest",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_iforest",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.ISOLATION_FOREST, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparams_to_tune": ['n_estimators', 'contamination'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'IsolationForest'))
})



+ 9
- 4
tods/detection_algorithm/PyodKNN.py View File

@@ -228,14 +228,19 @@ class KNNPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hype
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.KNNPrimitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_knn",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.K_NEAREST_NEIGHBORS, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATALAB @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparams_to_tune": ['n_neighbors', 'method', 'radius', 'algorithm', 'leaf_size', 'p'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'KNNPrimitive')),
})



+ 10
- 5
tods/detection_algorithm/PyodLODA.py View File

@@ -103,15 +103,20 @@ class LODAPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hyp
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.LODAPrimitive",
"python_path": "d3m.primitives.anomaly_detection.LODAPrimitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_loda",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.LOCAL_OUTLIER_FACTOR, ], # Wrong
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"version": "0.0.1",
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['n_bins', 'n_random_cuts', 'contamination'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'LODAPrimitive')),
})



+ 10
- 5
tods/detection_algorithm/PyodLOF.py View File

@@ -207,14 +207,19 @@ class LOFPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hype
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.LOFPrimitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_lof",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.LOCAL_OUTLIER_FACTOR, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"version": "0.0.1",
"source": {
'name': "DATALAB @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['n_neighbors', 'algorithm', 'leaf_size', 'p', 'contamination'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'LOFPrimitive')),
})



+ 10
- 5
tods/detection_algorithm/PyodOCSVM.py View File

@@ -198,14 +198,19 @@ class OCSVMPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hy
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.OCSVMPrimitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_ocsvm",
"source": {'name': "DATALAB @Taxes A&M University", 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.MARGIN_CLASSIFIER, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"version": "0.0.1",
"source": {
'name': "DATA Lab @Taxes A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['contamination', 'kernel', 'nu', 'gamma', 'degree'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'OCSVMPrimitive'))
})



+ 14
- 10
tods/detection_algorithm/PyodSOD.py View File

@@ -114,16 +114,20 @@ class SODPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params, Hype
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "Subspace Outlier Detection Primitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_sod",
"source": {'name': 'DATA Lab at Texas A&M University', 'contact': 'mailto:khlai037@tamu.edu',
'uris': ['https://gitlab.com/lhenry15/tods.git', 'https://gitlab.com/lhenry15/tods/-/blob/Yile/anomaly-primitives/anomaly_primitives/PyodSOD.py']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.SUBSPACE_OUTLIER_DETECTION],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'SODPrimitive')),
"hyperparams_to_tune": ['contamination', 'n_neighbors', 'ref_set', 'alpha'],
"version": "0.0.1",
"__author__": "DATA Lab at Texas A&M University",
"name": "Subspace Outlier Detection Primitive",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_sod",
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['contamination', 'n_neighbors', 'ref_set', 'alpha'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'SODPrimitive')),
})




+ 17
- 30
tods/detection_algorithm/PyodSoGaal.py View File

@@ -32,6 +32,7 @@ from d3m import exceptions
import pandas

from d3m import container, utils as d3m_utils
import uuid

from .UODBasePrimitive import Params_ODBase, Hyperparams_ODBase, UnsupervisedOutlierDetectorBase
from pyod.models.so_gaal import SO_GAAL
@@ -158,36 +159,22 @@ class So_GaalPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params,
"""

__author__ = "DATA Lab at Texas A&M University",
metadata = metadata_base.PrimitiveMetadata(
{
'id': '56e6cfe9-d9e9-495f-83da-cfed6fa27da1',
'version': '0.1.0',
'name': 'So_Gaal Anomaly Detection',
'python_path': 'd3m.primitives.tods.detection_algorithm.pyod_sogaal',
'keywords': ['Time Series', 'GAN'],
"hyperparams_to_tune": ['stop_epochs','lr_d','lr_g','decay','momentum'],
'source': {
'name': 'DATA Lab at Texas A&M University',
'uris': ['https://gitlab.com/lhenry15/tods.git',
'https://gitlab.com/lhenry15/tods/-/blob/devesh/tods/detection_algorithm/PyodSoGaal.py'],
'contact': 'mailto:khlai037@tamu.edu'

},
'installation': [
{'type': metadata_base.PrimitiveInstallationType.PIP,
'package_uri': 'git+https://gitlab.com/lhenry15/tods.git@{git_commit}#egg=TODS'.format(
git_commit=d3m_utils.current_git_commit(os.path.dirname(__file__)),
),
}

],
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.DATA_PROFILING,
],
'primitive_family': metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,

}
)
metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
'name': 'So_Gaal Anomaly Detection',
'python_path': 'd3m.primitives.tods.detection_algorithm.pyod_sogaal',
'source': {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu'
},
"hyperparams_to_tune": ['contamination', 'stop_epochs','lr_d','lr_g','decay','momentum'],
'version': '0.1.0',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
'primitive_family': metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'So_GaalPrimitive')),
})

def __init__(self, *,
hyperparams: Hyperparams, #


+ 10
- 4
tods/detection_algorithm/PyodVAE.py View File

@@ -288,13 +288,19 @@ class VariationalAutoEncoderPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Ou
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "TODS.anomaly_detection_primitives.VariationalAutoEncoder",
"python_path": "d3m.primitives.tods.detection_algorithm.pyod_vae",
"source": {'name': "DATA Lab at Texas A&M University", 'contact': 'mailto:khlai037@tamu.edu','uris': ['https://gitlab.com/lhenry15/tods.git']},
"algorithm_types": [metadata_base.PrimitiveAlgorithmType.VARIATIONAL_AUTO_ENCODER, ],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"source": {
'name': "DATA Lab at Texas A&M University",
'contact': 'mailto:khlai037@tamu.edu',
},
"version": "0.0.1",
"hyperparameters_to_tune": [''],
"hyperparameters_to_tune": ['contamination'],
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
"id": str(uuid.uuid3(uuid.NAMESPACE_DNS, 'AutoEncoderPrimitive')),
})



+ 17
- 30
tods/detection_algorithm/SystemWiseDetection.py View File

@@ -21,6 +21,7 @@ from d3m.container import DataFrame as d3m_dataframe
from d3m.metadata import hyperparams, params, base as metadata_base

from d3m.base import utils as base_utils
import uuid
from d3m.exceptions import PrimitiveNotFittedError

__all__ = ('SystemWiseDetectionPrimitive',)
@@ -106,36 +107,22 @@ class SystemWiseDetectionPrimitive(transformer.TransformerPrimitiveBase[Inputs,
Primitive to find abs_energy of time series
"""

__author__ = "DATA Lab at Texas A&M University",
metadata = metadata_base.PrimitiveMetadata(
{
'id': '3726fa29-28c5-4529-aec5-2f8b4ff2ef9e',
'version': '0.1.0',
'name': 'Sytem_Wise_Anomaly_Detection_Primitive',
'python_path': 'd3m.primitives.tods.detection_algorithm.system_wise_detection',
'keywords': ['Time Series','Anomalous System '],
"hyperparams_to_tune": ['window_size','method_type','contamination'],
'source': {
'name': 'DATA Lab at Texas A&M University',
'uris': ['https://gitlab.com/lhenry15/tods.git','https://gitlab.com/lhenry15/tods/-/blob/devesh/tods/feature_analysis/StatisticalAbsEnergy.py'],
'contact': 'mailto:khlai037@tamu.edu'

},
'installation': [
{'type': metadata_base.PrimitiveInstallationType.PIP,
'package_uri': 'git+https://gitlab.com/lhenry15/tods.git@{git_commit}#egg=TODS'.format(
git_commit=d3m_utils.current_git_commit(os.path.dirname(__file__)),
),
}

],
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.DATA_PROFILING,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,

}
)
metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
'name': 'Sytem_Wise_Anomaly_Detection_Primitive',
'python_path': 'd3m.primitives.tods.detection_algorithm.system_wise_detection',
'source': {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu'
},
"hyperparams_to_tune": ['window_size','method_type','contamination'],
'version': '0.1.0',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'Sytem_Wise_Anomaly_Detection_Primitive')),
})

def __init__(self, *, hyperparams: Hyperparams) -> None:
super().__init__(hyperparams=hyperparams)


+ 17
- 23
tods/detection_algorithm/Telemanom.py View File

@@ -35,6 +35,7 @@ from sklearn.utils import check_array

# from d3m.primitive_interfaces.base import ProbabilisticCompositionalityMixin, ContinueFitMixin
from d3m import exceptions
import uuid


# from detection_algorithm.UODBasePrimitive import Params_ODBase, Hyperparams_ODBase, UnsupervisedOutlierDetectorBase
@@ -195,29 +196,22 @@ class TelemanomPrimitive(UnsupervisedOutlierDetectorBase[Inputs, Outputs, Params

"""

__author__ = "Data Lab"
metadata = metadata_base.PrimitiveMetadata(
{
'__author__' : "DATA Lab at Texas A&M University",
'name': "Telemanom",
'python_path': 'd3m.primitives.tods.detection_algorithm.telemanom',
'source': {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
'uris': [
'https://gitlab.com/lhenry15/tods.git',
'https://gitlab.com/lhenry15/tods/-/blob/purav/anomaly-primitives/anomaly_primitives/telemanom.py',
],
},
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TELEMANOM,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': 'c7259da6-7ce6-42ad-83c6-15238679f5fa',
'hyperparameters_to_tune':['layers','loss_metric','optimizer','epochs','p','l_s','patience','min_delta','dropout','smoothing_perc'],
'version': '0.0.1',
},
)
metadata = metadata_base.PrimitiveMetadata({
'__author__' : "DATA Lab at Texas A&M University",
'name': "Telemanom",
'python_path': 'd3m.primitives.tods.detection_algorithm.telemanom',
'source': {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
'hyperparameters_to_tune':['layers','loss_metric','optimizer','epochs','p','l_s','patience','min_delta','dropout','smoothing_perc'],
'version': '0.0.1',
'algorithm_types': [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
'primitive_family': metadata_base.PrimitiveFamily.ANOMALY_DETECTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'TelemanomPrimitive')),
})

def __init__(self, *,
hyperparams: Hyperparams, #


+ 14
- 14
tods/feature_analysis/BKFilter.py View File

@@ -156,20 +156,20 @@ class BKFilterPrimitive(transformer.TransformerPrimitiveBase[Inputs, Outputs, Hy
"""

metadata = metadata_base.PrimitiveMetadata({
"__author__": "DATA Lab at Texas A&M University",
"name": "Baxter-King Filter Primitive",
"python_path": "d3m.primitives.tods.feature_analysis.bk_filter",
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['low', 'high', 'K'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'BKFilterPrimitive')),
"__author__": "DATA Lab at Texas A&M University",
"name": "Baxter-King Filter Primitive",
"python_path": "d3m.primitives.tods.feature_analysis.bk_filter",
"source": {
'name': 'DATA Lab at Texas A&M University',
'contact': 'mailto:khlai037@tamu.edu',
},
"hyperparams_to_tune": ['low', 'high', 'K'],
"version": "0.0.1",
"algorithm_types": [
metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
],
"primitive_family": metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,
'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'BKFilterPrimitive')),
})




Loading…
Cancel
Save