Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
3f20d38
Start adding helper functions
eccabay Apr 14, 2023
da95c77
Merge branch 'main' into 4149_recommendation_score
eccabay Apr 14, 2023
96c0502
Finish adding helper functions
eccabay Apr 17, 2023
1ec1074
Add working tests for helper functions
eccabay Apr 18, 2023
97af39e
Add get_recommendation_score to AutoMLSearch
eccabay Apr 19, 2023
33747d5
Merge branch 'main' into 4149_recommendation_score
eccabay Apr 19, 2023
eb636e7
Add ranking score to results generation
eccabay Apr 20, 2023
8571937
Only normalize metrics if not bounded like percentage
eccabay Apr 20, 2023
f050fdd
Add check and test for imbalanced data (not working yet)
eccabay Apr 20, 2023
ee9b58d
Add argument verification and tests to automl init
eccabay Apr 20, 2023
81ae2ea
Add ability to include ranking-only metrics in recommendation score
eccabay Apr 20, 2023
356c8df
Test fixes
eccabay Apr 20, 2023
248154b
A few more test fixes
eccabay Apr 21, 2023
3eaa48c
Codecov fixes and release notes
eccabay Apr 24, 2023
c730e52
Augment get_recommendation_scores to be more user-friendly
eccabay Apr 24, 2023
1f2b1ad
Add recommendation score to docs
eccabay Apr 24, 2023
c8f594b
PR comments
eccabay Apr 26, 2023
afc172a
Lint
eccabay Apr 26, 2023
f553979
PR comments
eccabay Apr 28, 2023
b643082
Merge branch 'main' into 4149_recommendation_score
eccabay Apr 28, 2023
641e3c0
Add custom_objectives dict
eccabay Apr 28, 2023
701b897
Merge branch 'main' into 4149_recommendation_score
eccabay May 1, 2023
862b7bb
Refactor prioritized_objective to be a custom weight
eccabay May 1, 2023
87950bc
Merge branch 'main' into 4149_recommendation_score
eccabay May 1, 2023
619c664
Merge branch 'main' into 4149_recommendation_score
eccabay May 1, 2023
1ac0bac
Just a bit of cleanup
eccabay May 3, 2023
df911a2
Merge branch 'main' into 4149_recommendation_score
eccabay May 3, 2023
7e5f5e9
Remove prioritized_weight argument
eccabay May 4, 2023
a9b09e6
Test fixes after removing priority weight argument
eccabay May 8, 2023
4dc0bb2
Merge branch 'main' into 4149_recommendation_score
eccabay May 8, 2023
020c577
Merge branch 'main' into 4149_recommendation_score
chukarsten May 8, 2023
5c0d93d
Merge branch 'main' into 4149_recommendation_score
eccabay May 9, 2023
8fd9c04
MAE should NOT be bounded_like_percentage YIKES
eccabay May 9, 2023
9b67d47
Merge branch 'main' into 4149_recommendation_score
chukarsten May 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/source/api_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -366,13 +366,17 @@ Objective Utils
:nosignatures:

evalml.objectives.get_all_objective_names
evalml.objectives.get_default_recommendation_objectives
evalml.objectives.get_core_objectives
evalml.objectives.get_core_objective_names
evalml.objectives.get_non_core_objectives
evalml.objectives.get_objective
evalml.objectives.get_optimization_objectives
evalml.objectives.get_ranking_objectives
evalml.objectives.normalize_objectives
evalml.objectives.organize_objectives
evalml.objectives.ranking_only_objectives
evalml.objectives.recommendation_score


Problem Types
Expand Down
1 change: 1 addition & 0 deletions docs/source/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Release Notes
-------------
**Future Releases**
* Enhancements
* Added optional ``recommendation_score`` to rank pipelines during AutoMLSearch :pr:`4156`
* Added BytesIO support to PipelinBase.load() :pr:`4179`
* Fixes
* Capped numpy at <=1.23.5 as a temporary measure for SHAP :pr:`4172`
Expand Down
80 changes: 79 additions & 1 deletion docs/source/user_guide/automl.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,84 @@
"automl.rankings"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Recommendation Score\n",
"\n",
"If you would like a more robust evaluation of the performance of your models, EvalML additionally provides a recommendation score alongside the selected objective. The recommendation score is a weighted average of a number of default objectives for your problem type, normalized and scaled so that the final score can be interpreted as a percentage from 0 to 100. This weighted score provides a more holistic understanding of model performance, and prioritizes model generalizability rather than one single objective which may not completely serve your use case."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"automl.get_recommendation_scores(use_pipeline_names=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"automl.get_recommendation_scores(priority=\"F1\", use_pipeline_names=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To see what objectives are included in the recommendation score, you can use:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"evalml.objectives.get_default_recommendation_objectives(\"binary\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you would like to automatically rank your pipelines by this recommendation score, you can set `use_recommendation=True` when initializing `AutoMLSearch`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"automl_recommendation = evalml.automl.AutoMLSearch(\n",
" X_train=X_train,\n",
" y_train=y_train,\n",
" X_holdout=X_holdout,\n",
" y_holdout=y_holdout,\n",
" problem_type=\"binary\",\n",
" use_recommendation=True,\n",
")\n",
"automl_recommendation.search(interactive_plot=False)\n",
"\n",
"automl_recommendation.rankings[\n",
" [\n",
" \"id\",\n",
" \"pipeline_name\",\n",
" \"search_order\",\n",
" \"recommendation_score\",\n",
" \"holdout_score\",\n",
" \"mean_cv_score\",\n",
" ]\n",
"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -1092,7 +1170,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.5 ('evalml')",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
Expand Down
Loading