Skip to content

Releases: uxlfoundation/scikit-learn-intelex

Intel(R) Extension for Scikit-learn 2021.7.1

01 Dec 14:40
9764b19
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.7.1 introduces the following changes:

📚 Support Materials

🚨 What's New

  • oneAPI interface for kNN regression
  • Fix for wrong column names of pandas DataFrame in sklearn.model_selection.train_test_split patched function

Intel(R) Extension for Scikit-learn 2021.6

18 Aug 09:37
650005c
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.6 introduces the following changes:

📚 Support Materials

Kaggle kernels:

🛠️ Library Engineering

  • Reduced the size of oneDAL python run-time package by approximately 8%
  • Added Python 3.10 support for daal4py and Intel(R) Extension for Scikit-learn packages

🚨 What's new

  • Improved performance for the following Intel® Extension for Scikit-learn algorithms:

    • t-SNE for “Burnes-Hut” algorithm
  • Introduced new functionality for Intel® Extension for Scikit-learn:

    • Manhattan, Minkowski, Chebyshev and Cosine distances for KNeighborsClassifier and NearestNeighbors with “brute” algorithm
  • Fixed the following issues in Intel® Extension for Scikit-learn:

    • An issue with the search of common data type in pandas DataFrame
    • Patching overhead of finiteness checker for specific small data sizes
    • Incorrect values in a tree visualization with plot_tree function in RandomForestClassifier
    • Unexpected error for device strings in {device}:{device_index} format while using config context

Intel(R) Extension for Scikit-learn 2021.5

22 Dec 15:00
e0185a2
Compare
Choose a tag to compare

The release Intel® Extension for Scikit-learn 2021.5 introduces the following changes:

📚 Support Materials

🛠️ Library Engineering

  • Reduced the size of oneDAL library by approximately ~15%, this is a required dependency of Intel® extension for scikit learn.

🚨 New Features

  • Scikit-learn 1.0 support

🚀 ​Improved performance

  • [GPU] KNN algorithm prediction
  • [GPU] SVC and SVR algorithms training

🐛 Bug Fixes

  • Stabilized the results of Linear Regression in oneDAL and Intel® Extension for Scikit-learn
  • Fixed an issue with RPATH on MacOS

Intel(R) Extension for Scikit-learn 2021.4

14 Oct 09:55
356bf04
Compare
Choose a tag to compare

The release Intel(R) Extension for Scikit-learn 2021.4 introduces the following changes:

📚 Support Materials

🛠️ Library Engineering

  • Introduced new functionality for Intel® Extension for Scikit-learn*:
    • Enabled patching for all Scikit-learn applications at once:
    • Added the support of Python 3.9 for both Intel® Extension for Scikit-learn and daal4py. The packages are available from PyPI and the Intel Channel on Anaconda Cloud.

🚨 New Features

  • Enabled the global patching of all Scikit-learn applications
  • Provided an integration with dpctl for heterogeneous computing (the support of dpctl.tensor.usm_ndarray for input and output)
  • Extended API with set_config and get_config methods. Added the support of target_offload and allow_fallback_to_host options for device offloading scenarios
  • Added the support of predict_proba in RandomForestClassifier estimator
  • [CPU] Added the support of Sigmoid kernel in SVM algorithms
  • [GPU] Added binary SVC support with Linear and RBF kernels

🚀 ​Improved performance

  • [CPU] SVR algorithm training
  • [CPU] NuSVC and NuSVR algorithms training
  • [CPU] RandomForestRegression and RandomForestClassifier algorithms training and prediction
  • [CPU] KMeans algorithm training

🐛 Bug Fixes

  • Fixed an incorrectly raised exception during the patching of Random Forest algorithm when the number of trees was more than 7000.
  • [CPU] Fixed an accuracy issue in Random Forest algorithm caused by the exclusion of constant features.
  • [CPU] Fixed an issue in NuSVC Multiclass.
  • [CPU] Fixed an issue with KMeans convergence inconsistency.
  • [CPU] Fixed incorrect work of train_test_split with specific subset sizes.
  • [GPU] Fixed incorrect bias calculation in SVM.

❗ Known Issues

  • [GPU] For most algorithms, performance degradations were observed when the 2021.4 version of Intel® oneAPI DPC++ Compiler was used.
  • [GPU] Examples are failing when run with Visual Studio Solutions on hardware that does not support double precision floating-point operations.

Intel(R) Extension for Scikit-learn 2021.3

05 Jul 10:16
fb0972c
Compare
Choose a tag to compare

The release Intel(R) Extension for Scikit-learn 2021.3 introduces the following changes:

📚 Support Materials

🛠️ Library Engineering

  • Introduced optional dependencies on DPC++ runtime to Intel Extension for Scikit-learn and daal4py. To enable DPC++ backend, install dpcpp_cpp_rt package. It reduces the default package size with all dependencies from 1.2GB to 400 MB.

🚨 New Features

  • Introduced the support of scikit-learn 1.0 version in Intel(R) Extension for Scikit-learn. The 2021.3 release of Intel(R) Extension for Scikit-learn supports the latest scikit-learn releases: 0.22.X, 0.23.X, 0.24.X and 1.0.X.
  • The support of patch_sklearn for several algorithms: patch_sklearn(["SVC", "DBSCAN"])
  • [CPU] Acceleration of SVR estimator
  • [CPU] Acceleration of NuSVC and NuSVR estimators
  • [CPU] Polynomial kernel support in SVM algorithms

🚀 ​Improved performance

  • [CPU] SVM algorithms training and prediction
  • [CPU] Linear, Ridge, ElasticNet, and Lasso regressions prediction

🐛 Bug Fixes

  • Fixed binary incompatibility for the versions of numpy earlier than 1.19.4
  • Fixed an issue with a very large number of trees (> 7000) for Random Forest algorithm
  • Fixed patch_sklearn to patch both fit and predict methods of Logistic Regression when the algorithm is given as a single parameter to patch_sklearn
  • [CPU] Reduced the memory consumption of SVM prediction
  • [GPU] Fixed an issue with kernel compilation on the platforms without hardware FP64 support

❗ Known Issues

  • Intel(R) Extension for Scikit-learn package installed from PyPI repository can’t be found on Debian systems (including Google Collab). Mitigation: add “site-packages” folder into Python packages searching before importing the packages:
import sys 
import os 
import site 
sys.path.append(os.path.join(os.path.dirname(site.getsitepackages()[0]), "site-packages")) 

Intel(R) Extension for Scikit-learn 2021.2.3

27 May 21:31
a78649b
Compare
Choose a tag to compare

🚨 New Features

  • Added support of patching scikit-learn version 1.0. scikit-learn version 0.21. * is no longer supported

Intel(R) Extension for Scikit-learn 2021.2

30 Mar 20:46
24cd6bf
Compare
Choose a tag to compare

⚡️ New package - Intel(R) Extension for Scikit-learn*

  • Intel(R) Extension for Scikit-learn* contains scikit-learn patching functionality originally available in daal4py package. All future updates for the patching will be available in Intel(R) Extension for Scikit-learn only. Please use the package instead of daal4py.

⚠️ Deprecations

  • Scikit-learn patching functionality in daal4py was deprecated and moved to a separate package - Intel(R) Extension for Scikit-learn*. All future updates for the patching will be available in Intel(R) Extension for Scikit-learn only. Please use the package instead of daal4py for the Scikit-learn acceleration.

📚 Support Materials

🛠️ Library Engineering

  • Enabled new PyPI distribution channel for Intel(R) Extension for Scikit-learn and daal4py:
    • Four latest Python versions (3.6, 3.7, 3.8) are supported on Linux, Windows and MacOS.
    • Support of both CPU and GPU is included in the package.
    • You can download daal4py using the following command: pip install daal4py
    • You can download Intel(R) Extension for Scikit-learn using the following command: pip install scikit-learn-intelex

🚨 New Features

  • Patches for four latest scikit-learn releases: 0.21.X, 0.22.X, 0.23.X and 0.24.X
  • [CPU] Acceleration of roc_auc_score function
  • [CPU] Bit-to-bit results reproducibility for: LinearRegression, Ridge, SVC, KMeans, PCA, Lasso, ElasticNet, tSNE, KNeighborsClassifier, KNeighborsRegressor, NearestNeighbors, RandomForestClassifier, RandomForestRegressor

🚀 ​Improved performance

  • [CPU] RandomForestClassifier and RandomForestRegressor scikit-learn estimators: training and prediction
  • [CPU] Principal Component Analysis (PCA) scikit-learn estimator: training
  • [CPU] Support Vector Classification (SVC) scikit-learn estimators: training and prediction
  • [CPU] Support Vector Classification (SVC) scikit-learn estimator with the probability==True parameter: training and prediction

🐛 Bug Fixes

  • [CPU] Improved accuracy of RandomForestClassifier and RandomForestRegressor scikit-learn estimators
  • [CPU] Fixed patching issues with pairwise_distances
  • [CPU] Fixed the behavior of the patch_sklearn and unpatch_sklearn functions
  • [CPU] Fixed unexpected behavior that made accelerated functionality unavailable through scikit-learn patching if the input was not of float32 or float64 data types. Scikit-learn patching now works with all numpy data types.
  • [CPU] Fixed a memory leak that appeared when DataFrame from pandas was used as an input type
  • [CPU] Fixed performance issue for interoperability with Modin

Intel® daal4py 2020 Update 3 Patch 1

25 Dec 12:19
df1d2a7
Compare
Choose a tag to compare
Pre-release

What's New

  • Added support of patching scikit-learn version 0.24.

Intel® daal4py 2021.1

14 Dec 12:00
ed41c1a
Compare
Choose a tag to compare

What's New

Introduced new daal4py functionality:

  • GPU:
    • Batch algorithms: K-means, Covariance, PCA, Logistic Regression, Linear Regression, Random Forest Classification and Regression, Gradient Boosting Classification and Regression, kNN, SVM, DBSCAN and Low-order moments
    • Online algorithms: Covariance, PCA, Linear Regression and Low-order moments

Improved daal4py performance for the following algorithms:

  • CPU:
    • Logistic Regression training and prediction
    • k-Nearest Neighbors prediction with Brute Force method
    • Logistic Loss and Cross Entropy objective functions

Introduced new functionality for scikit-learn patching through daal4py:

  • CPU:
    • Acceleration of NearestNeighbors and KNeighborsRegressor scikit-learn estimators with Brute Force and K-D tree methods
    • Acceleration of TSNE scikit-learn estimator
  • GPU:
    • Intel GPU support in scikit-learn for DBSCAN, K-means, Linear and Logistic Regression

Improved performance of the following scikit-learn estimators via scikit-learn patching:

  • CPU:
    • LogisticRegression fit, predict and predict_proba methods
    • KNeighborsClassifier predict, predict_proba and kneighbors methods with “brute” method

Known Issues

  • train_test_split in daal4py patches for Scikit-learn can produce incorrect shuffling on Windows*

Installation

To install this package with conda run the following:

conda install -c intel daal4py

Intel® daal4py 2020 Update 3

06 Nov 11:25
ed3ccf8
Compare
Choose a tag to compare

What's New in Intel® daal4py 2020 Update 3:

Introduced new daal4py functionality:

  • Conversion of trained XGBoost* and LightGBM* models into a daal4py Gradient Boosted Trees model for fast prediction
  • Support of Modin* DataFrame as an input
  • Brute Force method for k-Nearest Neighbors classification algorithm, which for datasets with more than 13 features demonstrates a better performance than the existing K-D tree method
  • k-Nearest Neighbors search for K-D tree and Brute Force methods with computation of distances to nearest neighbors and their indices

Extended existing daal4py functionality:

  • Voting methods for prediction in k-Nearest Neighbors classification and search: based on inverse-distance and uniform weighting
  • New parameters in Decision Forest classification and regression: minObservationsInSplitNode, minWeightFractionInLeafNode, minImpurityDecreaseInSplitNode, maxLeafNodes with best-first strategy and sample weights
  • Support of Support Vector Machine (SVM) decision function for Multi-class Classifier

Improved daal4py performance for the following algorithms:

  • SVM training and prediction
  • Decision Forest classification training
  • RBF and Linear kernel functions

Introduced new functionality for scikit-learn patching through daal4py:

  • Acceleration of KNeighborsClassifier scikit-learn estimator with Brute Force and K-D tree methods
  • Acceleration of RandomForestClassifier and RandomForestRegressor scikit-learn estimators
  • Sparse input support for KMeans and Support Vector Classification (SVC) scikit-learn estimators
  • Prediction of probabilities for SVC scikit-learn estimator
  • Support of ‘normalize’ parameter for Lasso and ElasticNet scikit-learn estimators

Improved performance of the following functionality for scikit-learn patching through daal4py:

  • train_test_split()
  • Support Vector Classification (SVC) fit and prediction

To install this package with conda run the following:
conda install -c intel daal4py