From 75c7f477cc7dfb3e368cc2f79c98f4151ddf3aa1 Mon Sep 17 00:00:00 2001 From: lhenry15 Date: Fri, 11 Sep 2020 10:19:40 -0500 Subject: [PATCH] update readme Former-commit-id: 47fa140ee557659de06cef428356736eafc8af9a [formerly c8947ff62a090f5903ed0d1fdbf8fa9b5ca9e70e] [formerly 1e452602be367e64e7c2653434ada43c3dc6e72a [formerly 0ee27e292de21f2856d2c147ef7af384f909d3ea]] [formerly 72bf9dadc8ee58f23ec40b91a116a483c52a9da3 [formerly 01221ae213f3926ce4f630140771fe020923b02a] [formerly b4db41a881002c7fb7a4f046ef354a987378d2fa [formerly f37505bc670a4235017b3ace42f1a83220d7bf4a]]] [formerly 52b6f84ab875a5c0d512ee7444f7046930b954c8 [formerly 62fb88bfa239f1003e56796501213d301ec36e3a] [formerly dead6e62a24147bc093d7465e3b5513bbbba711f [formerly e25e5c7aa1c7a83e000847a4df10e0317198468a]] [formerly a4a8d685bad8c9bdddc18b694ef51afbca636d3a [formerly cbaedae9d9ca3ff7733c733e324421d3e0ef9400] [formerly 659beb3798bb0c7722a407439be2e0fa974513fb [formerly 958d6f81497d46b30bd8bcf742eb685c0a2961f4]]]] [formerly 1f09226d550bc233c6de12b371d3b483005087db [formerly 73a24b075f073b5927d6d25964dad6c81d2197f1] [formerly d7130c6c7ce66b3022fe1d9fd2c957acd2a1f48c [formerly f2741a2e551abc772bc209abcd636fa3a8a74bb5]] [formerly 2df9bbb1188380df6546711a5c894742b13a2c19 [formerly f3edd735d6d4a811e3427bb97d64e4d0d131ba14] [formerly 5cfcd34bcabcb020e8bd55947ba3edc6b886df34 [formerly a117d6a4457c851b225452ec977b040351663d2e]]] [formerly 08f4372caa3d3adefebcae083910fb3e1eb12a42 [formerly 82f00abc15cd6052f969e470e37ce9261d9ae11b] [formerly ef2e2597eb748966a7d555e0809c7515cca48d4b [formerly 7deeb478aa462f5e3c1dcb1f9172a78f1f5a676e]] [formerly 98d54c89091fd3dfe13494200202cda46f37c574 [formerly f697bb31d78b7fe05ce3fbf1a82902a26758a28d] [formerly fd485acc89e14c9310e3b31197a7b907a7c084e1 [formerly c5da5bef44cd9b7cf370677880e6326c5d17b073]]]]] [formerly 666570bdc122ea67f11a8f15ca0d7eda24b01cb7 [formerly 80b2a5e53089958a4f68a0aee2cb6305e7a099f5] [formerly 99821efb1739303df0b295b53ad5b08a3fc71f7e [formerly 3f6f2cb79af6e9f6a287575002da5d6ef532a881]] [formerly ab0044c119d20ee0dc4f8f687d0e6c003bdb2e91 [formerly 820af61397516b4fdd339482d06fa5e55b3b8774] [formerly c951abf6ec5b902c56c008579bd110f525553fe5 [formerly a37983f82cf3e024bf08d1e426a14c141a1c020c]]] [formerly 931c40d9df2acd8a4dd125e96dbc9690253a7c79 [formerly 28ad2ffa4038000f41531cc9696c3c5f676ca3cb] [formerly e3b74ff3473fa6d4669441539e33320c35943c1e [formerly 84cfd32b4447d291e572483bab7ab03f625e54ba]] [formerly 9c39a1f1503f51c6d563c5f88372706f265816c6 [formerly 499f9f1f9e1f79a0d564e6135c3667a7fb0f3bdc] [formerly 7c680b0ac4cf8801c1cfced2925040c4c5785575 [formerly 8ccc2f164da4a80b711c30e6af2ffe2d3414fdbd]]]] [formerly 383f0d4efb4d95402a9abe69fcfb6b8a16144d3c [formerly e0af2b72fa72ae687d3b8a2e00b83e9de8559c37] [formerly 7746c3f28a95bd5dd60357a194693d889e4ee1a9 [formerly 70f6dc028a19af952f84e9771578f7ba33abbb91]] [formerly efbf7c346e915a10b5b9efd4ea43fe913a1d98ac [formerly 52761f176c47d87bae93d44db8afe7ef27adb6b4] [formerly dfc17dc894b0107ae20852e1611f64a0957a1761 [formerly 4bdbe48e5d3e10b9e750c25445a562301c6597b5]]] [formerly 4f9bfb09c3a74891b3abb40c0def6ea0700a94b9 [formerly 2036a193eaae1386cc442f025183e902830f088d] [formerly a2e71bc1c5200f7689926dc0797f8216e8914a63 [formerly 2576cd6633231c2dc9f65ca6027d5c7bf799be9c]] [formerly cd612ca4692f32caa96ea7c9fcd46a759a30d8b6 [formerly 46bb2d179a1ffa172686979b0e46cdda5059c1f8] [formerly 98a8a510808477f714582b13b68c6f3ea677144c [formerly 45cfa43a8d27d083d08786e8445faab8ff6ba1e4]]]]]] Former-commit-id: dc962ee8e40eedafd5ea7fe428dff21e360f407d [formerly 86539f512090f48a58018f0ead9e0f81345bcce6] [formerly a9a2805041c0134e6499b5bb4195771cce6161ea [formerly 38391323415956b2173f358623611deaf308275a]] [formerly e44a853574123247af25f8a568b81bac7c25fb25 [formerly 984a23c377dfdab190aba9d51a572a547a287f3a] [formerly 8c5499acaea7e011b8fad7b206b02a0159309a88 [formerly 3797fbe5f524bc71197d388977252a3a60976631]]] [formerly 9d5c46d1609998e75249986f302dfe23b58d70f7 [formerly 8786bd60af07d32bdc401c55d229a905703e4b3a] [formerly cd18059fd158d982ca3a9fc9a718e7713abeac3f [formerly 5ac5178b44f0423fe3add7039ca148ba1c94473a]] [formerly 4ff5e9d2194869e3d1abf27522b8bd11e1a55bb9 [formerly c459e09e49ac5b53a50d64675f164945aee6aec9] [formerly b3d3aa8eb3c333c9795c4733efca76a423875427 [formerly b146c06537c645910f98a638cd2fa25728de9350]]]] [formerly 2e8afd33c973a796464592abaf89d783832a0702 [formerly 7923b7489b884efb0471e0b2a16dc66aae95e5d7] [formerly 12dcfb06f0fd84e819059f91a9fd0c321e32d4a9 [formerly 36a02f7490b2e602815cc37622b963b6367905e3]] [formerly 02a8c69576e1d3e682c6f9618487c073d7dcfe99 [formerly 8a499b3eabf9a9b9ecee224f4d6d395083797555] [formerly 8267334d1d81f316626db1d80dbca2ba70f33392 [formerly de7a16004d391ce26d67c67050ee23be619e5dd1]]] [formerly 34a4c5f02fe15ee112047ed3b7478def4cfdcebb [formerly faf8f2dcfddae2531c284be59317a0f7444872d3] [formerly 4a27487b34b2da2e731a33f378202bba98ce69ab [formerly e3a238b03d4d719189757488b622216c5d66f564]] [formerly d97a1e86ecb617fcc744f36c7ed64835d7360231 [formerly d07ebb1dbd4dce7ed91cfa24e44a8c3eb159a4a1] [formerly 98a8a510808477f714582b13b68c6f3ea677144c]]]] Former-commit-id: 56dfb364132e10479e8b7fc84eb7794898864ac3 [formerly 7530c66c09e65b68e6b69af075f710336cc31dec] [formerly fd5401a5b2d1b661dec621114e23b87461b2c06b [formerly f13376cdc68ef31eded1ae72e64acdd5daf10274]] [formerly 34c2d77c578387e010e98237da5936846b162db5 [formerly 7f058c3b7e47c41209fb6ea7552500f319b60495] [formerly 9eb2a6005f8aab55f21b67d9263d03d0cc1b0b94 [formerly 6203137da5535cd2c6ac24f7ed52fae3bba03bd7]]] [formerly d8bccdf113c40ce557d9805335169c73e7772358 [formerly e3ca48a48885d9eb90388a18d996ca682e237baf] [formerly 31c66687975531df48499e33d8cd689e5b294399 [formerly f0b6b215d99255042c235fe4938f9cbb89cb6117]] [formerly 78d165bf0d44ce5f9964d836b5644351cdd232c1 [formerly a150d4cbfb07248d8f3a2aa6dccbc092fad11f0f] [formerly d70005e0ac40dab88759ec51c7fd336e078ce8b4 [formerly 4fc2cb50e8a0ce7ec185b0532629c19ef3cad834]]]] Former-commit-id: 0ffa5e2fc193e64881ad1a2d49b8e7cbfe69c0b8 [formerly 39108ae92e7c10650c16500a282fcc54e39d4d41] [formerly 0ff79e1194fc5c623797c3e0f7b7ca8e720ae487 [formerly 61443332fc97d93f2fccfcc889008ec96c0fd41f]] [formerly 094d164afa5d392a66a229926b09ff0b4e754191 [formerly b1b545b32a2706fbc553499c10c124a6b84d9c90] [formerly 802f12e7cd664b51cdf09667b695129fee12848a [formerly 6fca3a1b8bf16747ebfec31aa46e355068f6c54c]]] Former-commit-id: 261dbcdd2901045c2755e4b8e2058795defae78c [formerly 301fb62a4ef347f9057d76c1c3e2eac7f6985d24] [formerly d2523680ee4fb20bcbf26b42108936bbaa085ff7 [formerly cf3d0611a87d8f4a5d4841321c5b316c2ef714ea]] Former-commit-id: 50d45393761acbf6b60e1defd3495b3fbc338958 [formerly 47d4be7a1f6bf03b5ef8789103840eda630ce55f] Former-commit-id: 8adddcd4a186b62833b0ce65d47809b14aa971f2 --- README.md | 58 +--------------------------------------------------------- 1 file changed, 1 insertion(+), 57 deletions(-) diff --git a/README.md b/README.md index 96f61be..7432358 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Time-series Outlie Detection System -TODS is an full-stack automated machine learning system for outlier detection on multivariate time-series data. TODS provides exahaustive modules for building machine learning-based outlier detection systems including: data processing, time series processing, feature analysis (extraction), detection algorithms, and reinforcement module. The functionalities provided via these modules including: data preprocessing for general purposes, time series data smoothing/transformation, extracting features from time/frequency domains, various detection algorithms, and involving human expertises to calibrate the system. Three common outlier detection scenarios on time-series data can be performed: point-wise detection (time points as outliers), pattern-wise detection (subsequences as outliers), and system-wise detection (sets of time series as outliers), and wide-range of corresponding algorithms are provided in TODS. This package is developed by [DATA Lab @ Texas A&M University](https://people.engr.tamu.edu/xiahu/index.html). +TODS is a full-stack automated machine learning system for outlier detection on multivariate time-series data. TODS provides exahaustive modules for building machine learning-based outlier detection systems including: data processing, time series processing, feature analysis (extraction), detection algorithms, and reinforcement module. The functionalities provided via these modules including: data preprocessing for general purposes, time series data smoothing/transformation, extracting features from time/frequency domains, various detection algorithms, and involving human expertises to calibrate the system. Three common outlier detection scenarios on time-series data can be performed: point-wise detection (time points as outliers), pattern-wise detection (subsequences as outliers), and system-wise detection (sets of time series as outliers), and wide-range of corresponding algorithms are provided in TODS. This package is developed by [DATA Lab @ Texas A&M University](https://people.engr.tamu.edu/xiahu/index.html). TODS is featured for: * **Full Sack Machine Learning System** which supports exhaustive components from preprocessings, feature extraction, detection algorithms and also human-in-the loop interface. @@ -125,59 +125,3 @@ python3 -m d3m runtime fit-produce -p pipeline.yml -r datasets/anomaly/yahoo_sub ``` The above commands will generate two files `results.csv` and `pipline_run.yml` -# How to add a new primitive - -For new primitives, put them in `/anomaly_pritives`. There is an example for isolation forest (however, this is essentially a RandomForest, although the name is IsolationForest. We need more efforts to change it to real IsolationForest). - -In addition to add a new file, you need to register the promitive in `anomaly-primitives/setup.py` and rerun pip install. - -Use the following command to check whether your new primitives are registered: -``` -python3 -m d3m index search -``` - -Test the new primitives: -``` -python3 examples/build_iforest_pipline.py -``` - -# Template for meta-data in primitives - -* `__author__`: `DATA Lab at Texas A&M University` -* `name`: Just a name. Name your primitive with a few words -* `python_path`: This path should have **5** segments. The first two segments should be `d3m.primitives`. The third segment shoulb be `anomaly_detection`, `data_preprocessing` or `feature_construction` (it should match `primitive_family`). The fourth segment should be your algorithm name, e.g., `isolation_forest`. Note that this name should also be added to [this file](d3m/d3m/metadata/primitive_names.py). The last segment should be one of `Preprocessing`, `Feature`, `Algorithm` (for now). -* `source`: `name` should be `DATA Lab at Texas A&M University`, `contact` should be `mailto:khlai037@tamu.edu`, `uris` should have `https://gitlab.com/lhenry15/tods.git` and the path your py file. -* `algorithms_types`: Name the primitive by your self and add it to [here](d3m/d3m/metadata/schemas/v0/definitions.json#L1957). **Then reinstall d3m.** Fill this field with `metadata_base.PrimitiveAlgorithmType.YOUR_NAME` -* `primitive_family`: For preprocessing primitives, use `metadata_base.PrimitiveFamily.DATA_PREPROCESSING`. For feature analysis primitives, use `metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION`. For anomaly detection primitives, use `metadata_base.PrimitiveFamily.ANOMALY_DETECTION`. -* `id`: Randomly generate one with `import uuid; uuid.uuid4()` -* `hyperparameters_to_tune`: Specify what hyperparameters can be tuned in your primitive -* `version`: `0.0.1` - -Notes: - -1. `installation` is not required. We remove it. - -2. Try to reinstall everything if it does not work. - -3. An example of fake Isolation Forest is [here](anomaly-primitives/anomaly_primitives/SKIsolationForest.py#L294) - - -## Resources of D3M - -If you still have questions, you may refer to the following resources. - -Dataset format [https://gitlab.com/datadrivendiscovery/data-supply](https://gitlab.com/datadrivendiscovery/data-supply) - -Instructions for creating primitives [https://docs.datadrivendiscovery.org/v2020.1.9/interfaces.html](https://docs.datadrivendiscovery.org/v2020.1.9/interfaces.html) - -We use a stable version of d3m core package at [https://gitlab.com/datadrivendiscovery/d3m/-/tree/v2020.1.9](https://gitlab.com/datadrivendiscovery/d3m/-/tree/v2020.1.9). - -The documentation is at [https://docs.datadrivendiscovery.org/](https://docs.datadrivendiscovery.org/). - -The core package documentation is at [https://docs.datadrivendiscovery.org/v2020.1.9/index.html](https://docs.datadrivendiscovery.org/v2020.1.9/index.html) - -The common-primitives is v0.8.0 at [https://gitlab.com/datadrivendiscovery/common-primitives/-/tree/v0.8.0/common_primitives](https://gitlab.com/datadrivendiscovery/common-primitives/-/tree/v0.8.0/common_primitives) - -The sklearn-wrap uses dist branch [https://gitlab.com/datadrivendiscovery/sklearn-wrap/-/tree/dist](https://gitlab.com/datadrivendiscovery/sklearn-wrap/-/tree/dist) - -There are other primitives developed by many universities but are not used in this repo. See [https://gitlab.com/datadrivendiscovery/primitives](https://gitlab.com/datadrivendiscovery/primitives)