Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MNT] Test ElasticEnsemble with all distances #1499

Closed
MatthewMiddlehurst opened this issue May 7, 2024 · 3 comments · Fixed by #1532
Closed

[MNT] Test ElasticEnsemble with all distances #1499

MatthewMiddlehurst opened this issue May 7, 2024 · 3 comments · Fixed by #1532
Labels
classification Classification package good first issue Good for newcomers maintenance Continuous integration, unit testing & package distribution testing Testing related issue or pull request

Comments

@MatthewMiddlehurst
Copy link
Member

Describe the issue

The EE classifier does not test with all distances according to the coverage stats.

Suggest a potential alternative/fix

Write a test in test_elastic_ensemble.py which ensures this works correctly. Other parameters can be tweaked to speed up the test if necessary and it does not compromise the test output.

Additional context

No response

@MatthewMiddlehurst MatthewMiddlehurst added classification Classification package maintenance Continuous integration, unit testing & package distribution testing Testing related issue or pull request good first issue Good for newcomers labels May 7, 2024
@CodeLionX
Copy link
Member

Small addition: I guess the all-case should probably use aeon.distances.get_distance_function_names() instead of a hard-coded list of distances:

if self.distance_measures == "all":
self._distance_measures = [
"dtw",
"ddtw",
"wdtw",
"wddtw",
"lcss",
"erp",
"msm",
"euclidean",
"twe",
]
else:

The only reason not to do this is incompatible distances, but I don't know if this is the case.

@itsdivya1309
Copy link
Contributor

Small addition: I guess the all-case should probably use aeon.distances.get_distance_function_names() instead of a hard-coded list of distances:

if self.distance_measures == "all":
self._distance_measures = [
"dtw",
"ddtw",
"wdtw",
"wddtw",
"lcss",
"erp",
"msm",
"euclidean",
"twe",
]
else:

The only reason not to do this is incompatible distances, but I don't know if this is the case.

Hi!
I think the reason for not using get_distance_function_names() is that the list will be appended whenever a new distance function is implemented. Then, EE would need to be updated every time, as not all distance measures are used in EE.

@CodeLionX
Copy link
Member

Ok, then ignore my comment 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
classification Classification package good first issue Good for newcomers maintenance Continuous integration, unit testing & package distribution testing Testing related issue or pull request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants