All Projects → intel → scikit-learn-intelex

intel / scikit-learn-intelex

Licence: Apache-2.0 license
Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
cython
566 projects
shell
77523 projects
CMake
9771 projects
c
50402 projects - #5 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to scikit-learn-intelex

Ds and ml projects
Data Science & Machine Learning projects and tutorials in python from beginner to advanced level.
Stars: ✭ 56 (-93.69%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Bet On Sibyl
Machine Learning Model for Sport Predictions (Football, Basketball, Baseball, Hockey, Soccer & Tennis)
Stars: ✭ 190 (-78.58%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Modal
A modular active learning framework for Python
Stars: ✭ 1,148 (+29.43%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Machinejs
[UNMAINTAINED] Automated machine learning- just give it a data file! Check out the production-ready version of this project at ClimbsRocks/auto_ml
Stars: ✭ 412 (-53.55%)
Mutual labels:  scikit-learn, machine-learning-algorithms
subsemble
subsemble R package for ensemble learning on subsets of data
Stars: ✭ 40 (-95.49%)
Mutual labels:  big-data, machine-learning-algorithms
Model Describer
model-describer : Making machine learning interpretable to humans
Stars: ✭ 22 (-97.52%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Python Machine Learning Book
The "Python Machine Learning (1st edition)" book code repository and info resource
Stars: ✭ 11,428 (+1188.39%)
Mutual labels:  scikit-learn, machine-learning-algorithms
RobustPCA
No description or website provided.
Stars: ✭ 15 (-98.31%)
Mutual labels:  scikit-learn, machine-learning-algorithms
SGDLibrary
MATLAB/Octave library for stochastic optimization algorithms: Version 1.0.20
Stars: ✭ 165 (-81.4%)
Mutual labels:  big-data, machine-learning-algorithms
GDLibrary
Matlab library for gradient descent algorithms: Version 1.0.1
Stars: ✭ 50 (-94.36%)
Mutual labels:  big-data, machine-learning-algorithms
ML-For-Beginners
12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all
Stars: ✭ 40,023 (+4412.18%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+2385.68%)
Mutual labels:  big-data, scikit-learn
MachineLearning
Implementations of machine learning algorithm by Python 3
Stars: ✭ 16 (-98.2%)
Mutual labels:  scikit-learn, machine-learning-algorithms
100 Days Of Ml Code
100 Days of ML Coding
Stars: ✭ 33,641 (+3692.67%)
Mutual labels:  scikit-learn, machine-learning-algorithms
pycobra
python library implementing ensemble methods for regression, classification and visualisation tools including Voronoi tesselations.
Stars: ✭ 111 (-87.49%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Daal4py
sources for daal4py - a convenient Python API to oneDAL
Stars: ✭ 113 (-87.26%)
Mutual labels:  scikit-learn, machine-learning-algorithms
dpnp
NumPy drop-in replacement for Intel(R) XPUs
Stars: ✭ 42 (-95.26%)
Mutual labels:  intel, oneapi
Igel
a delightful machine learning tool that allows you to train, test, and use models without writing code
Stars: ✭ 2,956 (+233.26%)
Mutual labels:  scikit-learn, machine-learning-algorithms
Datascience Ai Machinelearning Resources
Alex Castrounis' curated set of resources for artificial intelligence (AI), machine learning, data science, internet of things (IoT), and more.
Stars: ✭ 414 (-53.33%)
Mutual labels:  big-data, machine-learning-algorithms
Eland
Python Client and Toolkit for DataFrames, Big Data, Machine Learning and ETL in Elasticsearch
Stars: ✭ 235 (-73.51%)
Mutual labels:  big-data, scikit-learn

Intel(R) Extension for Scikit-learn*

Installation   |   Documentation   |   Examples   |   Support   |   FAQ   

Build Status Coverity Scan Build Status Join the community on GitHub Discussions PyPI Version Conda Version python version scikit-learn supported versions

With Intel(R) Extension for Scikit-learn you can accelerate your Scikit-learn applications and still have full conformance with all Scikit-Learn APIs and algorithms. This is a free software AI accelerator that brings over 10-100X acceleration across a variety of applications. And you do not even need to change the existing code!

How it works?

Intel(R) Extension for Scikit-learn offers you a way to accelerate existing scikit-learn code. The acceleration is achieved through patching: replacing the stock scikit-learn algorithms with their optimized versions provided by the extension.

One of the ways to patch scikit-learn is by modifying the code. First, you import an additional Python package (sklearnex) and enable optimizations via sklearnex.patch_sklearn(). Then import scikit-learn estimators:

  • Enable Intel CPU optimizations

    import numpy as np
    from sklearnex import patch_sklearn
    patch_sklearn()
    
    from sklearn.cluster import DBSCAN
    
    X = np.array([[1., 2.], [2., 2.], [2., 3.],
                [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32)
    clustering = DBSCAN(eps=3, min_samples=2).fit(X)
  • Enable Intel GPU optimizations

    import numpy as np
    import dpctl
    from sklearnex import patch_sklearn, config_context
    patch_sklearn()
    
    from sklearn.cluster import DBSCAN
    
    X = np.array([[1., 2.], [2., 2.], [2., 3.],
                [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32)
    with config_context(target_offload="gpu:0"):
        clustering = DBSCAN(eps=3, min_samples=2).fit(X)

👀 Read about other ways to patch scikit-learn and other methods for offloading to GPU devices. Check out available notebooks for more examples.

This software acceleration is achieved through the use of vector instructions, IA hardware-specific memory optimizations, threading, and optimizations for all upcoming Intel platforms at launch time.

Supported Algorithms

The patching only affects selected algorithms and their parameters.

You may still use algorithms and parameters not supported by Intel(R) Extension for Scikit-learn in your code. You will not get an error if you do this. When you use algorithms or parameters not supported by the extension, the package fallbacks into original stock version of scikit-learn.

🚀 Acceleration

Configurations:

  • HW: c5.24xlarge AWS EC2 Instance using an Intel Xeon Platinum 8275CL with 2 sockets and 24 cores per socket
  • SW: scikit-learn version 0.24.2, scikit-learn-intelex version 2021.2.3, Python 3.8

Benchmarks code

🛠 Installation

System Requirements   |    Install via pip or conda   |   Build from sources

Intel(R) Extension for Scikit-learn is available at the Python Package Index, on Anaconda Cloud in Conda-Forge channel and in Intel channel. You can also build the extension from sources.

The extension is also available as a part of Intel® AI Analytics Toolkit (AI Kit). If you already have AI Kit installed, you do not need to install the extension.

Installation via pip package manager is recommended by default:

pip install scikit-learn-intelex

🔗 Important Links

👀 Follow us on Medium

We publish blogs on Medium, so follow us to learn tips and tricks for more efficient data analysis with the help of Intel(R) Extension for Scikit-learn. Here are our latest blogs:

FAQ

[See answers to frequently asked questions]

Are all algorithms affected by patching?

No. The patching only affects selected algorithms and their parameters.

What happens if I use parameters not supported by the extension?

In cases when unsupported parameters are used, the package fallbacks into original stock version of scikit-learn. You will not get an error.

What happens if I run algorithms not supported by the extension?

If you use algorithms for which no optimizations are available, their original version from the stock scikit-learn is used.

Can I see which implementation of the algorithm is currently used?

Yes. To find out which implementation of the algorithm is currently used (Intel(R) Extension for Scikit-learn or original Scikit-learn), use the verbose mode.

How much faster scikit-learn is after the patching?

We compare the performance of Intel(R) Extension for Scikit-Learn to other frameworks in Machine Learning Benchmarks. Read our blogs on Medium if you are interested in the detailed comparison.

What if the patching does not cover my scenario?

If the patching does not cover your scenarios, submit an issue on GitHub with the description of what you would want to have.

💬 Support

Report issues, ask questions, and provide suggestions using:

You may reach out to project maintainers privately at [email protected]

oneAPI

Intel(R) Extension for Scikit-learn is part of oneAPI and Intel® AI Analytics Toolkit (AI Kit).

daal4py and oneDAL

The acceleration is achieved through the use of the Intel(R) oneAPI Data Analytics Library (oneDAL). Learn more:


⚠️Intel(R) Extension for Scikit-learn contains scikit-learn patching functionality that was originally available in daal4py package. All future updates for the patches will be available only in Intel(R) Extension for Scikit-learn. We recommend you to use scikit-learn-intelex package instead of daal4py. You can learn more about daal4py in daal4py documentation.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].