Preview Functionality

Some of implemented functionality in Extension for Scikit-learn* doesn’t meet one or few of next requirements for being enabled by default for all users:

  • The functionality misses performance targets compared to stock scikit-learn or to previously available versions.

  • The functionality API is not stable and may change in future.

  • The functionality doesn’t have full compatibility with its analog from scikit-learn.

  • The functionality is not fully tested.

This type of functionality is available under preview mode of Extension for Scikit-learn* and located in submodule sklearnex.preview.

Functionalities under preview will be made available after patching when preview mode is enabled, but note that some might be extension estimators without analogs in scikit-learn.

Estimators in preview can be enabled by either setting environment variable SKLEARNEX_PREVIEW before patching scikit-learn, or by passing argument preview=True to function patch_sklearn.

For example, the environment variable can be set from a terminal before starting python:

  • On Linux* OS

    export SKLEARNEX_PREVIEW=1
    
  • On Windows* OS

    set SKLEARNEX_PREVIEW=1
    

Or it can be set within a Python process:

import os
os.environ["SKLEARNEX_PREVIEW"] = "1"

Then, patched estimators in preview mode can be imported from the slearn module when they participate in patching:

from sklearnex import patch_sklearn
patch_sklearn()
from sklearn.decomposition import IncrementalPCA
print(IncrementalPCA.__module__)
# output:
# sklearnex.preview.decomposition.incremental_pca

Alternatively, estimators can be imported directly from sklearnex.preview without patching and without setting environment variable SKLEARNEX_PREVIEW:

from sklearnex.preview.covariance import EmpiricalCovariance

Current list of preview estimators:

Estimator name

Module

Is patching supported

sklearn.covariance.EmpiricalCovariance

sklearnex.preview.covariance

Yes

sklearn.decomposition.IncrementalPCA

sklearnex.preview.decomposition

Yes

LogisticRegressionCV

sklearnex.preview.linear_model

Yes