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

Extend the rich EstimatorReport.help to an HTML representation #1104

Open
glemaitre opened this issue Jan 14, 2025 · 4 comments
Open

Extend the rich EstimatorReport.help to an HTML representation #1104

glemaitre opened this issue Jan 14, 2025 · 4 comments
Assignees

Comments

@glemaitre
Copy link
Member

Right now, EstimatorReport.help shows a tree representation of all available functionalities available for the reporter using rich. However, it will become overwhelming at the time that we add more and more accessors.

Therefore, I think that we should still have rich backend whenever we are in a terminal but we should come with a richer representation with dropdown menu whenever we are in a notebook or IDE environment where we can leverage HTML. It will the UI/UX more enjoyable. I can also foresee to be able to click on a specific method to copy and then paste the access to a specific method of an accessor.

@rouk1
Copy link
Contributor

rouk1 commented Jan 14, 2025

@anasstarfaoui please see what @glemaitre has implemented so far.

╭─────────── 📓 Tools to diagnose estimator HistGradientBoostingClassifier ───────────╮
│ reporter                                                                            │
│ ├── .metrics 📏                                                                     │
│ │   ├── .accuracy(...)         (↗︎)     - Compute the accuracy score.                │
│ │   ├── .brier_score(...)      (↘︎)     - Compute the Brier score.                   │
│ │   ├── .log_loss(...)         (↘︎)     - Compute the log loss.                      │
│ │   ├── .precision(...)        (↗︎)     - Compute the precision score.               │
│ │   ├── .recall(...)           (↗︎)     - Compute the recall score.                  │
│ │   ├── .roc_auc(...)          (↗︎)     - Compute the ROC AUC score.                 │
│ │   ├── .custom_metric(...)            - Compute a custom metric.                   │
│ │   ├── .report_metrics(...)           - Report a set of metrics for our estimator. │
│ │   └── .plot 🎨                                                                    │
│ │       ├── .precision_recall(...)     - Plot the precision-recall curve.           │
│ │       └── .roc(...)                  - Plot the ROC curve.                        │
│ ├── .cache_predictions(...)            - Force caching of estimator's predictions.  │
│ ├── .clean_cache(...)                  - Clean the cache.                           │
│ └── Attributes                                                                      │
│     ├── .X_test                                                                     │
│     ├── .X_train                                                                    │
│     ├── .y_test                                                                     │
│     ├── .y_train                                                                    │
│     ├── .estimator                                                                  │
│     └── .estimator_name                                                             │
│                                                                                     │
│                                                                                     │
│ Legend:                                                                             │
│ (↗︎) higher is better (↘︎) lower is better                                            │
╰─────────────────────────────────────────────────────────────────────────────────────╯

Branches like metrics, plot will expand in the future. Could you help design a widget ? 🙇🏻

thomass-dev pushed a commit that referenced this issue Jan 14, 2025
…1115)

This PR is removing the icon used in the different `help` method such
that we don't have issue with spacing.
#1104 will provide a richer
output where we can leverage those types of icons instead to purely rely
on textual that are grant in terminal mainly.
@anasstarfaoui
Copy link

Hello!

Some questions:

  • Should descriptions be visible immediately or on hover/click?
  • What's the expected screen size/environment constraints?
  • Do users need to see relationships between different methods?

@anasstarfaoui
Copy link

Feedbacks

  • On hover : Indication on parameters
  • Being able to quickly jump to documentation
  • No necessity to see relations there
  • Need to be easy to switch to sckit-learn documentation

2 design : 1 for terminal and one UI (HTML)

@sylvaincom
Copy link
Contributor

Thanks, +1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants