Release Notes

23.1.1

Features and Improvements

  • Unsupervised anomaly detection

    • Implemented N-1 experts for hyperparameter tuning

    • Added N-1 experts-based contamination factor identification

  • Overhauled package documentation

Bug fixes

  • Fixed a bug in feature importance explainers for when the dataset contains feature names that are numpy integers and an AutoML pipeline is being explained.

23.1.0

Features and Improvements

  • Fairness metrics are now available to measure bias in both datasets and trained models. Fairness metrics can be imported from automl.fairness.metrics .

  • Explanations can now be computed from custom user-defined metrics.

  • Introduced max_tuning_trials option that controls maximum HPO trials per algorithm.

  • New explainer (Counterfactual)

    • Added a model-agnostic counterfactual explainer for classification, regression, and anomaly detection tasks.

    • The explainer can find diverse counterfactuals for the desired prediction, while the user is able to choose which features to vary and their permitted range.

    • Counterfactual explanations can be visualized either with What-if explainer or dataframe.

  • Added support of surrogate explainer for local text explanation.

  • Code updated to comply with security checks with Python Bandit.

  • Added catboost as a new classification model.

Bug fixes

  • Fixed a bug on LIME’s explanation Bar Chart where annotations were misplaced for dataset stringified integers feature names.

  • Fixed a bug where features would be placed incorrectly on plots’ axis when trying to visualize explanations for categorical features.

  • Deleted internal state to reduce memory consumption in explanations

  • Fixed a bug where dataset downcasting to int32 and float32 was only applied during training but not for doing the final fit or collecting predictions.

  • Preprocessing of datetime columns is now much faster.

  • Fixed a bug where dependencies of automl would on import initialize a rootLogger preventing subsequent applications from using logging.basicConfig() .

  • Fixed a bug where the AutoTune step would override default params even if it did not find any better params than the default ones.

  • Propogated dataset downcasting to all relevant pipeline stages, potentially reducing memory consumption for very large datasets.

  • Changed AutoTune behavior to consider using default hyper-parameters scored at the end of feature selection step if they performed better than those AutoTune tried within timebudget. .

22.4.2

Features and Improvements

  • Added support for explaining selected features in local and global permutation importance, as well as automatically detecting which features were selected by an AutoML model.

Bug fixes

  • Fixed a bug in local perturbation-based feature attribution explainers for the n_iter='auto' option that caused the iterations to be set too high.

  • Enhanced performance of local feature importance explainers to improve running times by batching inference calls together.

22.4.1

Features and Improvements

  • Pipeline now accepts a min_class_instances input argument to manually specify the number of examples every class must have when doing classification. The value for min_class_instances must be at least 2.

Bug fixes

  • Fixed a bug where IPython and ipywidgets are not properly guarded as an optional dependencies which makie them required.

  • Fixed a bug introduced by last dependency update which caused fbprophet to not produce forecasts with correct index type, when fbprophet was installed manually.

22.4.0

Features and Improvements

  • New feature dependence explainers

    • Added an Accumulated Local Effects (ALE) explainer

    • ALE explanations can be computed for up to two features if at least one is not categorical.

  • New explainer (What-IF)

    • Added a What-IF explainer for classification and regression tasks

    • What-IF explanations include exploration of the behavior of an ML model on a single sample as well as on the entire dataset.

    • Sample exploration (edit a sample value and see how the model predictions changes) and relationships’ visualization (how a feature is related to predictions or other features) are supported.

  • New feature importance aggregators

    • Added ALFI (Aggregate Local Feature Importance) that gives a visual summary of multiple local explanations.

  • New local feature importance explainer

    • Added support for surrogate-based (LIME+) local feature importance explainers

Bug fixes

  • Import failure due to CUDA: The package no longer crashes when imported on a machine with CUDA installed.

  • Fixed a bug where TorchMLPClassifier would fail when trying to predict a single instance.

  • Fixed a bug where OracleAutoMLx_Forecasting.ipynb would fail if visualization packages were not already installed.

  • Fixed a bug that caused the pipeline.transform to raise an exception if a single row was passed.

  • Explanation documentation

    • Our documentation website (http://automl.oraclecorp.com/) now includes documentation for the explanation objects returned by our explainers.

  • Enhanced performance of local feature importance explainers to address long running times.

  • Improved visualization of facet for the columns with cardinality equal to 1 by selecting the bars’ width and pads properly.

22.3.0

Features and Improvements

  • New Explainer

    • Added support for KernelSHAP (a new feature importance tabulator), which provides fast approximations for the Shapley feature importance method.

  • Support ARM architecture ( aarch64 )

    • Released platform-specific wheel file for ARM machines.

Miscellaneous

  • Clarified documentation on the accepted data formats for input datasets and added a more meaningful corresponding error message.

22.2.0

Features and Improvements

  • New profiler

    • Profiler tracks CPU and memory utilization

  • Timeseries forecasting pipeline

    • Added the support for multivariate datasets

    • Added the support for exogenous variables

    • Enhanced heteroskedasticity detection technique

    • Applied Box-Cox transform-inverse_transform with params determined via MLE to handle heteroskedasticity

  • Explainers / MLX integration

    • New global text explainer

      • Added support

    • New feature importance attribution explainers

      • Added several local and global feature importance explainers, including permutation importance, exactly Shapley, and SHAP-PI.

      • The explainers support for classification, regression and anomaly detection

      • The explainers can also be configured to explain the importance of features to any model (explanation_type=’observational’) as well as for a particular model (explanation_type=’interventional’).

      • Observational explanations are supported for all tasks; interventional explanations are only supported for classification and regression.

    • New feature dependence explainers

      • Added a partial dependence plot (PDP) and individual conditional expectations (ICE) explainer

      • PDP explanations include vizualization support for up to 4 dimensions. PDPs in higher dimension can be returned as dataframes.

  • Unsupervised Anomaly Detection

    • Added N-1 Experts: a new experimental metric for UAD Model Selection

  • Documentation

    • Added the description of init function of the automl to documentation

    • Cleaned up documentation for more consistency among different sections and added cross-references

Bug fixes

  • Timeseries forecasting pipeline

    • Statsmodel exception for some frequencies, users are now able to pass in timeperiod as a parameter

  • Preprocessing

    • Datetime preprocessor

      • Fixed the bug regarding column expansion and None/Null/Nan values

    • Standard preprocessor refitting

      • The standard preprocessor used to first be fit on a subsample of the training set, and then re-fit at the very end of the pipeline using the full training set. This occasionaly resulted in a different number of engineered features being produced. As a result, the features identified during the model selection module could no longer exist. The standard preprocessor is now fit only once.

  • ONNX predictions inconsistency

    • Changed the ONNX conversion function to reduce the difference between the ONNX dumped model and the original pipeline object predictions

    • Improved ONNX conversion runtime

    • ONNX conversion now only requires a sample from the training or test set as input. This sample is used to infer the final types and shapes

Possibly breaking changes

  • Removed matplotlib as a dependency of the AutoMLx package

    • Forecasting predictions can now instead be visualized only using plotly using the same interface as before, automl.utils.plot_forecast. The alternate visualizations that were provided with plotly using automl.utils.plot_forecast_interactive has been removed.

  • Updated the AutoMLx package dependencies

    • All dependency versions have been reviewed and updated to address all known CVEs

    • A few unneeded dependencies have also been removed.