From ebb79d071e579ccd6ceef03bb876f198bd8ec077 Mon Sep 17 00:00:00 2001 From: jamielxu <63481760+jamielxu@users.noreply.github.com> Date: Fri, 18 Dec 2020 02:20:34 +0800 Subject: [PATCH] SubsequenceClustering Former-commit-id: a6af0013d2ed2ee68a957d2c7e9b4298e279166b [formerly fb47218ed1e049974b3ac9e1004a63afece32024] [formerly 4bb3fc85e5fcfd8728cdb602c6aee60a159d1c36 [formerly 2682a63d11dda49a6045e0b58a10ad4b46f8a958]] [formerly cb04572ad7dbd854041b9edf0596048cbf935363 [formerly d2a8f1743de46008fa225b735090b8a30f8f2df7] [formerly 5ef269531c19bb313e48a546746b2d3e5b5d8028 [formerly 9c6b1809687f8bf09961e6a0dee8da366092859c]]] [formerly 235a038793f222bd797c4da4d5ff0daad81ad601 [formerly 3c0a0d43f9429b8ab0be4ebb857515999b61f699] [formerly d48ed60d3d6b8ec214fbc6aa32a1289adf55995d [formerly bc0261981ce1397cba4c23b607c4cd7abb4b3fad]] [formerly 7f184990bb816f71f165f5f39102d4d2a89fd6e9 [formerly e03b518d7d994b1e269168a1e815e8c4cf05f1be] [formerly 328727c36e578b959599aa289a2dad7b36d907a8 [formerly 680ad86006234df436cf485afd376cef8e336ead]]]] [formerly 3e7899bdcb3a86b1d88539f231c43d17d23ebb73 [formerly e6e2f1b8e83351db4d1f5cb8e5c74cbee1335c8c] [formerly 2a0382e5e38168c0ccf5673f1bd4b5e78f640e78 [formerly 0389585a709e981379b14a2976f16d82121b2ec9]] [formerly 23eb9c3a146f74166f185e5811329873f4d68272 [formerly a9f679e714209f9cdfc82a3e5d55fbae5c735cb9] [formerly b965411fa0d02b85aca403c5a21bfef9120d48d3 [formerly 96db2bcd5622d8e016d648983fb45fb23a5bae25]]] [formerly 7ef7f6e55c794ded3422de5ccbb8cd91bf61b34e [formerly f7830ad32b7b748a8d2a862ddf8fcca2ec42b4da] [formerly 43d5648fd62d3d54af064f2c26f00cbc7b2b6668 [formerly 6c4bf66bc88f9bd3be6fb3dae648a0408a9283f6]] [formerly f4a2884a12c2759383d1489ecb938476fddd5ae7 [formerly 9d6e0c21eef0805b2306c6c8b4f642fc76974369] [formerly 263d2a106b18c8bf9c1ecc0af529fcd86465399e [formerly 0649285df00cd87df7cc876d5342749b7eabb2bd]]]]] [formerly 31d424418b2c6d2ba61c33507ddc255ef8cf69a9 [formerly 280b1dcdd915cb8930e6edc0af16b70a47984f5d] [formerly cc0e26791d34210652d3eff9054f5bf5c1cffa6d [formerly f756bbeca53cb301a0ed3a2a5bfbf4d3ddbd13b1]] [formerly ab9ba4ad554b6d7aeba5209ce8de0f555f7ddc0a [formerly 6978fe273f899b98c0f00f2990f52e13f4c68f9a] [formerly c2f1631ee46865478c81c9c89551c2594c7ff3ed [formerly 0b8e4db4d8663222be6d92148047f710ef56a9a3]]] [formerly af2c24ed402e97fcffa2e250602dd4d8171ee417 [formerly 2327a354e20faba447ac821fe6c6daa8bfc59147] [formerly 6fc1038367bc7f5a10c6443e5f892da5b781b739 [formerly 535da006130b5565c14920b7f1013a6ec9acd2eb]] [formerly b6c99112a20e062e5565bb9fe1ba0231305e10e6 [formerly bafda9f463c2d6e0727660ea3a1585fdbc8cbcae] [formerly 7d035563fc6f94fe932dab99d6ab45a782c5b168 [formerly 15a8ef94a35f9d1a9cfd34eb6ea38ed283e41944]]]] [formerly 4a4722a5486967eec7dc5e64f81eadb5cf42959d [formerly 6513e23eb7d05c43fba7189ac1770d018e7258e9] [formerly 387f8d7df6aa2ebc73579a6cb4a5040eaf2cd9ec [formerly 85bb68f8842530d131bc4e71898907204b5e4ee5]] [formerly e12a9adbcff9e3489ecb4b382f272d71f65cd47a [formerly db0406dbe00d169d4cd82dc48c7ea328b5061394] [formerly b2244d86ce9953e191efb99a388ba1ae2336c17f [formerly a56df64b1a88ec2d4165fbccfbf57f5ec975db81]]] [formerly 235d8f244cd570b83b4509f499455f6a4051d04b [formerly 1d5326f46b955f5c2f50a9e1963d51c4c40575a8] [formerly bf4fab4231f05c4cb36a6e194f09bdfea69e0113 [formerly 3ca9e1b54e8ea1d676ed4b59906d3b5ec792c2df]] [formerly f93ca4ce9781790fbd3f863bee3117040faa8c7a [formerly b9f4c63e4c849d1541d77c2b2bc81ede9c52faa5] [formerly bc387ec3d8f91de0b27aa5ceef5a5bd46e2c00a9 [formerly 3f43e541c9a4bdf1bfeff9f2926c57b0bf6ce00e]]]]]] Former-commit-id: e7a10ba6cf6bd2533e0bb332f43248e3e12c7c3e [formerly fa40871d6b708c7a4f809d3cc4a10c300534baac] [formerly a9e0e5cf5f9f49f2ea76e671035b0543eb43b86d [formerly 58d16747a2befc0c47b03e64ecad2ccef68d59cb]] [formerly be35cc47ad581a53d455cde5dc0869c410dfd121 [formerly 9b963936685f46b497cc0027cc94f63d1b21ff20] [formerly 4e1379a691e0336f63b59ffb6d59a9b5fa3c99e4 [formerly 238c20a9cab7b8b3eafb11c09e7a226cfe207694]]] [formerly 4c52fca6999454d922c90f5bd8da81e2118e0d46 [formerly 14c8e00022a1eec36e55218af72c819ec39ca090] [formerly 130c3ecee37bed6fc9d4443fd9f81d9ffc632c6d [formerly 85dcec11ca20402cdcdcb5bcf8b8bffc93d9f00f]] [formerly 2f37ff062920557c09697b7db39721a468fd97a4 [formerly 47ba62313eab5eb5db061a78d3469cf21506f304] [formerly 094d80387e907d8b03063739bd829c7fa1281e6f [formerly ed74d51fbc19425a39e3a6b9b0880520f42a486a]]]] [formerly 54c9485dc8e71ad5621de2e1e363d2f030822710 [formerly 634ec70bc314ac6f9c45200c08f1874e21c46c88] [formerly 9d1b0346a8cecfaebfd4d8716beb52aa1c433fe4 [formerly 496acd903194c05f017e7edcc1b724a44578a049]] [formerly 0a5c596c342a453bd307eb8414642ce9d847c527 [formerly 267d08bcb5c355af27c8be3afee68f85264e2a16] [formerly 2513a304105e980849936263d945fc4be7d040c2 [formerly a2e3a90e6a5b4cb5e008d53f56be52ee033aadb8]]] [formerly 8796dbfa29ae48721ad306cc14a0235f1f9e9854 [formerly 725cf6333d2a53724acf62abb3ebcaa0f727ba81] [formerly 81d5124ec8aebff1b7f224c17aac48607737ec5c [formerly dbd063bf800a7e17e426fede70b6406b950f55f8]] [formerly 60ac46cb6e78a930da2ee33ea9b34fa8238da3b5 [formerly cd42a85a0826ce8dce82182521f4279a6791a155] [formerly bc387ec3d8f91de0b27aa5ceef5a5bd46e2c00a9]]]] Former-commit-id: be4486b2bf6f597feeeac0027d88adcc85673df7 [formerly e5be7f33fa56fe0f2f5e0adf33d6bb11e526a960] [formerly 00bb58298eb69b846fdffaf5cbfc96c10a4087ef [formerly d280f4177b3446cf79e561eb3a0c1331c86cc205]] [formerly 4c5bb6f3e9da3ee299e656a9685d4d34d31b4d02 [formerly 04f5ebe975fd24daed79b76ea35d8eea80c5822c] [formerly f3c576ff72447bf54005b3d8ed0f415eb42ff632 [formerly b4f4568f12ac06bb95467d39fc11ea911e8dbc86]]] [formerly db8a8b0b3d17125251d8cee4ebb8b08ba47f2216 [formerly 250af292fcc92e9ae3b37eab73e355bcc8a94bb3] [formerly 81a2add86c61e334c5b7ccaba86f330f4225211f [formerly 92434a75d3dcfd3aead77da6e0a6832474dd0791]] [formerly 07935e6cad54474668f78fc6bdd9c2e05f2e5761 [formerly 669e4a6721debcb3ecde2d549c02f60c443b9234] [formerly 365ee52fd90c9c3a59ec6475859e3ec995b07f2f [formerly 10544801ed558d4ceaddbb58dc2be999b07345c4]]]] Former-commit-id: 2f6d64067fdbc2b8d552e73917be917d23e014be [formerly f1e92c63739db9925c795896c008f30aa7303c02] [formerly 8789630c1f1475f330ba76874cfbf3e487475810 [formerly bf1b6346d5483efd34adedf8b21649dff5730590]] [formerly 012c6c36104f621ecbc7bbf510e0351528cabb98 [formerly 8b211ca0efbf3a503e39cfd33e87b99d457da514] [formerly b706ffe88f715de4a7cbcf4a53767dd14d9f7337 [formerly f93161c99043b56ea8aacb3194b0ff1268df3372]]] Former-commit-id: 8e34c0c7689207ff4bc3bf603bfd90e936ffba46 [formerly 23ee7be78fe94994a6386b78bce90aacfac80fef] [formerly b05debd1fb82cbf79c8b24774cb7a9c78f21ea47 [formerly 56a99cf23fb8242cbec50985698df54c25a1992d]] Former-commit-id: 6388186ac7bf45272abb6d738673ae34159c815f [formerly 46203b63a9471ca418021ae7355b6dc34cda5c96] Former-commit-id: 40bf90d611459fbd7b3c49e08d53769a1ada1f05 --- .../test_SubsequenceClustering.py | 98 ++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 tods/tests/timeseries_processing/test_SubsequenceClustering.py diff --git a/tods/tests/timeseries_processing/test_SubsequenceClustering.py b/tods/tests/timeseries_processing/test_SubsequenceClustering.py new file mode 100644 index 0000000..2443282 --- /dev/null +++ b/tods/tests/timeseries_processing/test_SubsequenceClustering.py @@ -0,0 +1,98 @@ +import unittest + +from d3m import container, utils +from d3m.metadata import base as metadata_base +from tods.timeseries_processing import SubsequenceClustering + + +class SubsequenceClusteringTest(unittest.TestCase): + def test_basic(self): + self.maxDiff = None + main = container.DataFrame({'a': [1., 2., 3.], 'b': [2., 3., 4.], 'c': [3., 4., 5.],}, + # columns=['a', 'b', 'c'], + generate_metadata=True) + + print(main) + + + self.assertEqual(utils.to_json_structure(main.metadata.to_internal_simple_structure()), [{ + 'selector': [], + 'metadata': { + # 'top_level': 'main', + 'schema': metadata_base.CONTAINER_SCHEMA_VERSION, + 'structural_type': 'd3m.container.pandas.DataFrame', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/Table'], + 'dimension': { + 'name': 'rows', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/TabularRow'], + 'length': 3, + }, + }, + }, { + 'selector': ['__ALL_ELEMENTS__'], + 'metadata': { + 'dimension': { + 'name': 'columns', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/TabularColumn'], + 'length': 3, + }, + }, + }, { + 'selector': ['__ALL_ELEMENTS__', 0], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'a'}, + }, { + 'selector': ['__ALL_ELEMENTS__', 1], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'b'}, + }, { + 'selector': ['__ALL_ELEMENTS__', 2], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'c'} + }]) + + + self.assertIsInstance(main, container.DataFrame) + + + hyperparams_class = SubsequenceClustering.SubsequenceClustering.metadata.get_hyperparams() + primitive = SubsequenceClustering.SubsequenceClustering(hyperparams=hyperparams_class.defaults()) + new_main = primitive.produce(inputs=main).value + print(new_main) + print(new_main.shape) + + + self.assertEqual(utils.to_json_structure(main.metadata.to_internal_simple_structure()), [{ + 'selector': [], + 'metadata': { + # 'top_level': 'main', + 'schema': metadata_base.CONTAINER_SCHEMA_VERSION, + 'structural_type': 'd3m.container.pandas.DataFrame', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/Table'], + 'dimension': { + 'name': 'rows', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/TabularRow'], + 'length': 3, + }, + }, + }, { + 'selector': ['__ALL_ELEMENTS__'], + 'metadata': { + 'dimension': { + 'name': 'columns', + 'semantic_types': ['https://metadata.datadrivendiscovery.org/types/TabularColumn'], + 'length': 3, + }, + }, + }, { + 'selector': ['__ALL_ELEMENTS__', 0], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'a'}, + }, { + 'selector': ['__ALL_ELEMENTS__', 1], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'b'}, + }, { + 'selector': ['__ALL_ELEMENTS__', 2], + 'metadata': {'structural_type': 'numpy.float64', 'name': 'c'} + }]) + + + +if __name__ == '__main__': + unittest.main()