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

AutoML Results Visualizations Update #525

Merged
merged 87 commits into from
Jul 12, 2022

Conversation

guillaume-chevalier
Copy link
Member

@guillaume-chevalier guillaume-chevalier commented Jun 9, 2022

AutoML Results Visualizations Update

What it is

Mostly, a new file called reporting.py in the AutoML module, allowing to generate statistics on optimisation rounds and other related objects.

A report contains a dataclass of the same subclass-level of itself, so as to be able to
dig into the dataclass so as to observe it, such as to generate statistics and query its information.
The dataclasses represent the results of an AutoML optimization round, even multiple rounds.
These AutoML reports are used to get information from the nested dataclasses, such as to create visuals.

How it works

Just pass the dataclass to the reporting class, and do function calls.

Example usage

Here is how you can use this new code as a end-user:

BaseReport.from_dc(some_auto_ml_dataclass)

Then call the methods for the statistics you want to compute for reporting.


Checklist before merging PR.

Things to check each time you contribute:

  •  If this is your first contribution to Neuraxle, please read the guide to contributing to the Neuraxle framework.
  • Your local Git username is set to your GitHub username, and your local Git email is set to your GitHub email. This is important to avoid breaking the cla-bot and for your contributions to be linked to your profile. More info: https://github.com/settings/emails
  • Argument's dimensions and types are specified for new steps (important), with examples in docstrings when needed.
  • Class names and argument / API variables are very clear: there is no possible ambiguity. They also respect the existing code style (avoid duplicating words for the same concept) and are intuitive.
  • Use typing like variable: Typing = ... as much as possible. Also use typing for function arguments and return values like def my_func(self, my_list: Dict[int, List[str]]) -> 'OrderedDict[int, str]':.
  • Classes are documented: their behavior is explained beyond just the title of the class. You may even use the description written in your pull request above to fill some docstrings accurately.
  • If a numpy array is used, it is important to remember that these arrays are a special type that must be documented accordingly, and that numpy array should not be abused. This is because Neuraxle is a library that is not only limited to transforming numpy arrays. To this effect, numpy steps should probably be located in the existing numpy python files as much as possible, and not be all over the place. The same applies to Pandas DataFrames.
  • Code coverage is above 90% for the added code for the unit tests.
  • The above description of the pull request in natural language was used to document the new code inside the code's docstrings so as to have complete documentation, with examples.
  • Respect the Unit Testing status check
  • Respect the Codacy status check
  • Respect the cla-bot status check (unless the cla-bot is truly broken - please try to debug it first)
  • Code files that were edited were reformatted automatically using PyCharm's Ctrl+Alt+L shortcut. You may have reorganized imports as well.

…running tests and applying refactors and code changes all at once everywhere.
@cla-bot cla-bot bot added the cla-signed label Jun 9, 2022
@Neuraxio Neuraxio deleted a comment from pull-checklist bot Jun 9, 2022
…sts of corner cases that were corrected. Threads shouldn't infinitely hang anymore, or are less susceptible to do so.
…ng call issue in the queue that needed to be blocking.
@guillaume-chevalier guillaume-chevalier merged commit a2404c5 into Neuraxio:master Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant