From 1c6c5669fd83a3d4c662053be9b44fe79539ff2f Mon Sep 17 00:00:00 2001 From: jamielxu <63481760+jamielxu@users.noreply.github.com> Date: Fri, 18 Dec 2020 02:21:08 +0800 Subject: [PATCH] SubsequenceClustering Former-commit-id: ee3611c724a5820128af7ee1cd8fcbe186b82b07 [formerly 1a66b1fd98a293f80b2ea97b8136986e01b7fd74] [formerly 7549fa573571ab41742d07a68243a51029dcea99 [formerly 80d255180785710fae203c43880cd1b61465a035]] [formerly 9e4bc95f5642bbde66b217de7095b5d76d3b981d [formerly 291eb5bef0fcfef9862f4622612999c3f753680f] [formerly f57c077ff3e326cc4a49c651619b12321a644434 [formerly 0051dbb84f8ea6f909e7b9ddd91899ca3732d7f1]]] [formerly 42fcb2cec9e7c06923b8bb937be6169087524c03 [formerly e9dbe8d9dbf057677115a525c379c1e7557570a7] [formerly 6fa861704007e5538b4d9fa9c8ab0f44d2dbcbec [formerly 97d8d309b2b5513e378bb4077298b2f0aa7253ea]] [formerly 4266e2af3146aec630b11a02347be3aadec3ee1f [formerly c77b2d5d202400f8db76501da8b771682c3069d8] [formerly 066165bcd518f595b7230c258db518ee6facb2ba [formerly 747cc9fb7663df9cf9f8259f1775642f5d8c0be4]]]] [formerly 22b33ec903d54ff4950d5e1d76b90505ba61c6aa [formerly a6ee617b4e2f4e6cf6981fba53fe3b783af3711c] [formerly 42ee68458cf8e368ea0bfee7186f8e17efc63f28 [formerly a270a328c40d1119e5151461e9aa9aa252111ba5]] [formerly a20a24a912a4de0c737c48a553765e5a1d1afc3f [formerly eb6668f3e1ece0a98a35477a969db73dc804e9e4] [formerly 73f58dcea1f8682b43ff68bf4814ec06db993fe0 [formerly a4986c2690b06a3713e0b94f36679c009a2380a4]]] [formerly fdb7d3c362e664f790c5f9d9c02c989161d6bd4b [formerly 0caf8575297202d2bec18ff12a51b769001abc4d] [formerly d78f5b83c1abf5b056d6899977d096b5e41f19b9 [formerly fd846aca1998f3a6e6532a7420f2fe9e44ea2cc1]] [formerly 595c771ea516a4de7ccce68bf3d56f87c598706d [formerly f5059178e87ceffb925eba1783be69c7a7a35ff9] [formerly 71bcdc8b0314bcc569aa86602fc7f45179d2c37e [formerly 79364e58d537b76333d3f35808102224b89c24e4]]]]] [formerly 510e42081ff42b46f77f9baff841d4943f800457 [formerly e29a31dee1d150933e4ab47f814416b24ad770f0] [formerly ea8fea9bac03c4b73bda53533ded65f5c9732954 [formerly e8e652e94add49975869c236672b6e17eaf008e5]] [formerly 099b7dbd10e671785ab2a30084249b6f4b755ed2 [formerly e3f0a2436d7c5aef85409e61b906a66357ba1d87] [formerly fc84902c7a8c4d38e49107d9bab09c83084b6726 [formerly 91ac0999e18a1f6dc260acebf0b1a57581899009]]] [formerly 73b34afd1f4a8832433a4c20059b02335768cc68 [formerly 53b5cb2b55d4791275051b066a23fad0832a1a18] [formerly f823b5493f2c1bfcc094323976926e102e5060a0 [formerly 2f2ffca3b5153ba9f4cf69e652581644bbb5042a]] [formerly 2907ac7bb402d46aa1e88369b0b4a2d7a1b88f37 [formerly a515eef51efb5e7093241cbb7dbca5a9267ca8b2] [formerly f37002f7a9ce90c4e97786097ab2fb0a88070ccc [formerly 04a1c807da0e60a865e747240f7ba350ade6d3df]]]] [formerly f48ab38cce94789bdf691732f97776bfa8bd441d [formerly c85244ae6e53e9573888cecc507d179405b9ef0e] [formerly 9087e84eea8a3505ab4663ab131eaf38102db0b4 [formerly 9a2e6010c40ac262492b59b13c5d1c7c1c528325]] [formerly d1b68d43260adef5edbfc23061bbbf2aa5cd5f28 [formerly 7ece3cffa15623d351c8020228bd674200451c94] [formerly fd27d58138f7b4fd29c8f610a8596fc95fda3040 [formerly e5515d345bb633975ea3cd7baf9355fcce876ac8]]] [formerly 91c0de7661b147a6fc0959c206fac9ca733c1256 [formerly 977b48b25c740ce0295a2cb27299a2b80cf55762] [formerly 425356ba452023c1e55921a1184a1a1860cee704 [formerly d82eaf9917499af7747323d3fc941c8aaa233f29]] [formerly 1b999fef3e64d59bab399db22a52b483571cfc85 [formerly 5e15fa2b17ee2c30721f04dce60be8f10125366f] [formerly 26b3d90cebd9b698e8f4cc81b7eba9c5a03425ad [formerly dca9f001eef54180afa4b25ba5222c321e08f1ce]]]]]] Former-commit-id: f8927bf6a1d107710f89db7497b849a215ab4c0e [formerly 8a525287cec60186d11e20ec13d4c5e648637c8d] [formerly 3be53aa5bc181f0a1325c3e30c6f7ce41a9ddc34 [formerly 6e6e9e8c2270149796272752d173b502606944e9]] [formerly c87eec6caacc851df012815307313aff73c55245 [formerly 20490edfedb8e14f0186b51c798707034d0d8a97] [formerly 101d1aacd4927bd10988052100073c01e1927c76 [formerly e5c56b729c3380f693b61cb8a8bdf84bcd11aad5]]] [formerly 97e1248b3bf43142da1e292c4ac3a954fdd33612 [formerly d9ba8a1e710b8859769ee70b855c9809b1821418] [formerly 17e43f52846945f70d15ab25ecb15296dda61cfb [formerly 75be7c1a9178d6ff93f53e406c6e6e9ecef3094c]] [formerly 599cbd23c94fbe27896ffe36a88571dd702cd1e8 [formerly 4b709f27e274401924f1689243f6b3dc30872bc8] [formerly d9b15ad851d1dfae29992d3dcefa19381ca2d4c7 [formerly da26d604158838605b0fb2d08f79069d681699a2]]]] [formerly f44ee4fce644a5b630f8ac8231505d8a19d06294 [formerly 043753f079d0f2da1537c1d95a55c5a648c947bf] [formerly af37ea1009f591ca408a5983181c563573ddaf7c [formerly c2febea229c475bc844c7f541171f2a82d98a3d3]] [formerly 8c92ae9fc1f639c3946f8fd6d217c751edff3f1b [formerly c4421952f679ae7e58fcd82374df2ed7e30539cc] [formerly d16cada0f0f55065900b43b025e1a9652a548fe6 [formerly b37c678b428faebca2b46bca96771de395be7b15]]] [formerly 0c63978b8615f44f13a45b2b58c58a873061d1f9 [formerly bf4e9680ca00f524892e38e61d3653cfab28553d] [formerly d5b7c3157a7e2cbc20301ea5ff6c93ad636cbc9f [formerly c74311404a44e4d5d90262300fc5d334ec17afdc]] [formerly 38e2f391dc364bdb42f3148bbd4c463d3c951840 [formerly d88068a0876710c4a1c43ca15a295f38f309c64d] [formerly 26b3d90cebd9b698e8f4cc81b7eba9c5a03425ad]]]] Former-commit-id: 87d2070c76a159afc10c981516e0ede8a310a030 [formerly 662894cefe52cd1590f815d82ae76a6539ce8ebe] [formerly 7f36146b9f6365dbc48c7ac973d1e4c7c2957b5e [formerly 634e0d7de72b312e7090491abe1e55725e27dfe7]] [formerly 1ece75b7a2c5d494adc0f30814047674d5b22024 [formerly 0b07bdc16276fe7ecb8acad53afacfcfa825cb7e] [formerly eaa32e82bfb322f1a5371681da6b3a3e15748ded [formerly 99f57db7d271807d5aa29b85a382b3192797c239]]] [formerly bd04f7ddb7b804e9b57202b856b06df6b9c736e6 [formerly 231a2046d1230c349e2a802b176baa1a1fa2823d] [formerly f8e786941d53547bad260d6920aa11887b6113c8 [formerly 020a6a1726cbfde6d5c1958927e96c2a21f2264d]] [formerly 2d6e8c3424919ea199673db32fc65828683d1dc4 [formerly ec29d48876ac1b7cd78c7db6edeb62a8e6bf2770] [formerly aa30c4dd4c896e8aca76509ae4cbb2b2f0cb049a [formerly ac1006b9ddf8a557ffdb08f80a977977189a3185]]]] Former-commit-id: e7eb9cbd01f259d15a0d4f8f245e7c7f2cd5a193 [formerly f6c92c0ed4194292c3d9ca2f6cea19413b121523] [formerly fcadeeab805f0424b9400ed6b8cab4216a0bc447 [formerly 9b1a45d812181f0a3a1af5f307d61398319f5865]] [formerly 2971555319dbc803e28ed02874dc44ecc122ead1 [formerly 78c4d59730363119d1dac8a9cbd89bb9b210ef3f] [formerly 894241237769c4c81b59775c828a6d2b3c523d77 [formerly eaa8682ab01ad5b9090b56415a6ed2eec63f4a4c]]] Former-commit-id: 0360241df9a6d0afa17d4c38a66441cc2329201c [formerly 51698fd4649d86ee783d567ff983c3cbbe0d6643] [formerly c3c98d1be6a1a08c66fdb2b7de4738ad3b8ad49e [formerly 58044df1d669d7b54df26ed33a0ace9572b7ddb3]] Former-commit-id: f74757ede3e3aac45357ffd4a019c943014f4936 [formerly f45f2bc2b8a502dc6cd8c716a04f71a690d691a2] Former-commit-id: e2b4b6eeb877ca3312adf4fd6e981f1f5874014e --- .../build_SubsequenceClustering_pipline.py | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 primitive_tests/build_SubsequenceClustering_pipline.py diff --git a/primitive_tests/build_SubsequenceClustering_pipline.py b/primitive_tests/build_SubsequenceClustering_pipline.py new file mode 100644 index 0000000..d42515f --- /dev/null +++ b/primitive_tests/build_SubsequenceClustering_pipline.py @@ -0,0 +1,80 @@ +from d3m import index +from d3m.metadata.base import ArgumentType +from d3m.metadata.pipeline import Pipeline, PrimitiveStep +from d3m.metadata import hyperparams +import copy + +# -> dataset_to_dataframe -> column_parser -> extract_columns_by_semantic_types(attributes) -> imputer -> random_forest +# extract_columns_by_semantic_types(targets) -> ^ + +# Creating pipeline +pipeline_description = Pipeline() +pipeline_description.add_input(name='inputs') + +# Step 0: dataset_to_dataframe +primitive_0 = index.get_primitive('d3m.primitives.tods.data_processing.dataset_to_dataframe') +step_0 = PrimitiveStep(primitive=primitive_0) +step_0.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='inputs.0') +step_0.add_output('produce') +pipeline_description.add_step(step_0) + +# # Step 1: column_parser +primitive_1 = index.get_primitive('d3m.primitives.data_transformation.column_parser.Common') +step_1 = PrimitiveStep(primitive=primitive_1) +step_1.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.0.produce') +step_1.add_output('produce') +pipeline_description.add_step(step_1) + + +# Step 2: extract_columns_by_semantic_types(attributes) +step_2 = PrimitiveStep(primitive=index.get_primitive('d3m.primitives.data_transformation.extract_columns_by_semantic_types.Common')) +step_2.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.1.produce') +step_2.add_output('produce') +step_2.add_hyperparameter(name='semantic_types', argument_type=ArgumentType.VALUE, data=['https://metadata.datadrivendiscovery.org/types/Attribute']) +pipeline_description.add_step(step_2) + + +# Step 3: extract_columns_by_semantic_types(targets) +step_3 = PrimitiveStep(primitive=index.get_primitive('d3m.primitives.data_transformation.extract_columns_by_semantic_types.Common')) +step_3.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.0.produce') +step_3.add_output('produce') +step_3.add_hyperparameter(name='semantic_types', argument_type=ArgumentType.VALUE, + data=['https://metadata.datadrivendiscovery.org/types/TrueTarget']) +pipeline_description.add_step(step_3) + +attributes = 'steps.2.produce' +targets = 'steps.3.produce' + +# Step 4: test primitive +primitive_4 = index.get_primitive('d3m.primitives.tods.timeseries_processing.subsequence_clustering') +step_4 = PrimitiveStep(primitive=primitive_4) + +step_4.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.2.produce') +step_4.add_output('produce') +pipeline_description.add_step(step_4) + +# Step 5: test primitive +primitive_5 = index.get_primitive('d3m.primitives.tods.detection_algorithm.pyod_loda') +step_5 = PrimitiveStep(primitive=primitive_5) +step_5.add_hyperparameter(name='contamination', argument_type=ArgumentType.VALUE, data=0.1) +step_5.add_hyperparameter(name='return_result', argument_type=ArgumentType.VALUE, data='new') +step_5.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.4.produce') +step_5.add_output('produce') +pipeline_description.add_step(step_5) + +# Step 6: Predictions +step_6 = PrimitiveStep(primitive=index.get_primitive('d3m.primitives.data_transformation.construct_predictions.Common')) +step_6.add_argument(name='inputs', argument_type=ArgumentType.CONTAINER, data_reference='steps.5.produce') +step_6.add_argument(name='reference', argument_type=ArgumentType.CONTAINER, data_reference='steps.1.produce') +step_6.add_output('produce') +pipeline_description.add_step(step_6) + +# Final Output +pipeline_description.add_output(name='output predictions', data_reference='steps.6.produce') + +# Output to json +data = pipeline_description.to_json() +with open('example_pipeline.json', 'w') as f: + f.write(data) + print(data) +