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

[ENH] Included RSAST as a alternative to SAST (2.0) #1383

Merged
merged 39 commits into from
May 18, 2024

Conversation

nirojasva
Copy link
Contributor

What does this implement/fix? Explain your changes.

I included a transformer RSAST and a classifier RSASTClassifier which are tools to use in time series classification. The method RSAST is based on shapelets in order to transform dataset of Time Series.

Does your contribution introduce a new dependency? If yes, which one?

Yes, I used f_oneway, DegenerateDataWarning, ConstantInputWarning from the "scipy.stats" toolkit. Also, acf and pacf from the "statsmodels.tsa.stattools" implementation.

PR checklist

For all contributions
  • I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
  • The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.
For new estimators and functions
  • I've added the estimator to the online API documentation.
  • (OPTIONAL) I've added myself as a __maintainer__ at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.
For developers with write access
  • (OPTIONAL) I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

@aeon-actions-bot aeon-actions-bot bot added classification Classification package enhancement New feature, improvement request or other non-bug code enhancement transformations Transformations package labels Apr 8, 2024
@aeon-actions-bot
Copy link
Contributor

Thank you for contributing to aeon

I have added the following labels to this PR based on the title: [ $\color{#FEF1BE}{\textsf{enhancement}}$ ].
I have added the following labels to this PR based on the changes made: [ $\color{#BCAE15}{\textsf{classification}}$, $\color{#41A8F6}{\textsf{transformations}}$ ]. Feel free to change these if they do not properly represent the PR.

The Checks tab will show the status of our automated tests. You can click on individual test runs in the tab or "Details" in the panel below to see more information if there is a failure.

If our pre-commit code quality check fails, any trivial fixes will automatically be pushed to your PR unless it is a draft.

Don't hesitate to ask questions on the aeon Slack channel if you have any.

@nirojasva
Copy link
Contributor Author

Hello, I have another question, I'm using two new libraries "statsmodels" and "scipy". How can I included in aeon these libraries since it seems it is generating conflict?
Thanks,

@MatthewMiddlehurst
Copy link
Member

scipy is fine, statsmodels will have to be added as a tag i.e. https://github.com/aeon-toolkit/aeon/blob/main/aeon/classification/shapelet_based/_ls.py#L95

Check out the contributing guide for some tips. The developer install would be helpful for pre-commit.

@MatthewMiddlehurst
Copy link
Member

The tag also has to be included for the transformer, and the imports must be inside the function rather than at the top of the file.

@MatthewMiddlehurst
Copy link
Member

I think the remaining failure is because of the examples. No good way to get around this unfortunately, I would recommend using # doctest: +SKIP. The QUANT example does this in interval_based.

@nirojasva
Copy link
Contributor Author

Ok @MatthewMiddlehurst thanks, it seems the validation worked for the library issues. However there are still errors in "pre-commit" and there is no a detail about why they are caused.

@MatthewMiddlehurst
Copy link
Member

These are our code quality checks, for the most part it is probably white space. I would recommend following the pre-commit section of the dev install guide or I can run it through at some point.

Copy link
Contributor

@TonyBagnall TonyBagnall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, a few minor things, thanks very much for the contribution

aeon/classification/shapelet_based/_rsast_classifier.py Outdated Show resolved Hide resolved
aeon/classification/shapelet_based/_rsast_classifier.py Outdated Show resolved Hide resolved
aeon/classification/shapelet_based/_rsast_classifier.py Outdated Show resolved Hide resolved
aeon/classification/shapelet_based/_rsast_classifier.py Outdated Show resolved Hide resolved
aeon/classification/shapelet_based/_rsast_classifier.py Outdated Show resolved Hide resolved
Copy link
Contributor

@TonyBagnall TonyBagnall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, sorry for the delay

@MatthewMiddlehurst MatthewMiddlehurst merged commit 8de1203 into aeon-toolkit:main May 18, 2024
15 checks passed
@MatthewMiddlehurst
Copy link
Member

We are releasing next week, this should be available then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
classification Classification package enhancement New feature, improvement request or other non-bug code enhancement transformations Transformations package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants