In [1]:
from sklearn_benchmarks.reporting.hp_match import HpMatchReporting
from sklearn_benchmarks.utils import default_run_dir, default_report_config
from pathlib import Path
import pandas as pd
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

scikit-learn-intelex (Intel® oneAPI) vs. scikit-learn

In [2]:
run_dir = default_run_dir()
report_config = default_report_config("scikit_learn_intelex_vs_scikit_learn")
In [3]:
# Parameters
report_config = {
    "parameters": {"n_cols": 2},
    "estimators": [
        {
            "title": "KNeighborsClassifier (brute force)",
            "name": "KNeighborsClassifier_brute_force",
            "split_bars_by_parameters": ["n_jobs"],
        },
        {
            "title": "KNeighborsClassifier (KD tree)",
            "name": "KNeighborsClassifier_kd_tree",
            "split_bars_by_parameters": ["n_jobs"],
        },
        {"title": "KMeans (tall)", "name": "KMeans_tall"},
        {"title": "KMeans (short)", "name": "KMeans_short"},
        {"title": "Logistic Regression", "name": "LogisticRegression"},
        {"title": "LinearRegression", "name": "LinearRegression"},
        {"title": "Ridge", "name": "Ridge"},
        {"title": "TSNE", "name": "TSNE"},
        {"title": "PCA", "name": "PCA"},
    ],
    "log_scale": True,
    "other_library": "sklearnex",
    "benchmarking_estimator_parameters": {
        "sklearn_KNeighborsClassifier_brute_force": [
            "n_neighbors",
            "algorithm",
            "n_jobs",
        ],
        "sklearnex_KNeighborsClassifier_brute_force": [],
        "sklearn_KNeighborsClassifier_kd_tree": ["n_neighbors", "algorithm", "n_jobs"],
        "sklearnex_KNeighborsClassifier_kd_tree": [],
        "sklearn_KMeans_tall": [
            "init",
            "algorithm",
            "n_clusters",
            "max_iter",
            "n_init",
            "tol",
        ],
        "sklearnex_KMeans_tall": [],
        "sklearn_KMeans_short": [
            "init",
            "algorithm",
            "n_clusters",
            "max_iter",
            "n_init",
            "tol",
        ],
        "sklearnex_KMeans_short": [],
        "sklearn_LogisticRegression": [
            "penalty",
            "dual",
            "tol",
            "C",
            "fit_intercept",
            "intercept_scaling",
            "class_weight",
            "random_state",
            "solver",
            "max_iter",
            "multi_class",
            "verbose",
            "warm_start",
            "n_jobs",
            "l1_ratio",
        ],
        "sklearnex_LogisticRegression": [],
        "sklearn_LinearRegression": [],
        "sklearnex_LinearRegression": [],
        "sklearn_Ridge": ["alpha"],
        "sklearnex_Ridge": [],
        "sklearn_TSNE": [],
        "sklearnex_TSNE": [],
        "sklearn_PCA": ["n_components"],
        "sklearnex_PCA": [],
        "sklearn_HistGradientBoostingClassifier_best": [
            "learning_rate",
            "n_iter_no_change",
            "max_leaf_nodes",
            "max_bins",
            "min_samples_leaf",
            "max_iter",
        ],
        "sklearn_HistGradientBoostingClassifier": [
            "learning_rate",
            "n_iter_no_change",
            "max_leaf_nodes",
            "max_bins",
            "min_samples_leaf",
            "max_iter",
            "early_stopping",
        ],
        "lightgbm": [
            "learning_rate",
            "num_leaves",
            "max_bin",
            "min_data_in_leaf",
            "bagging_fraction",
            "feature_fraction_bynode",
            "n_estimators",
        ],
        "xgboost": [
            "validate_parameters",
            "tree_method",
            "use_label_encoder",
            "learning_rate",
            "max_leaves",
            "max_bin",
            "min_child_weight",
            "subsample",
            "colsample_bynode",
            "n_estimators",
        ],
        "catboost_lossguide": [
            "allow_writing_files",
            "grow_policy",
            "bootstrap_type",
            "learning_rate",
            "max_leaves",
            "border_count",
            "min_data_in_leaf",
            "subsample",
            "rsm",
            "max_depth",
            "iterations",
        ],
        "catboost_symmetric": [
            "allow_writing_files",
            "grow_policy",
            "bootstrap_type",
            "learning_rate",
            "border_count",
            "min_data_in_leaf",
            "subsample",
            "rsm",
            "max_depth",
            "iterations",
        ],
    },
}
run_dir = "./results/local/20220322T182254/"
In [4]:
run_dir = Path(run_dir)
In [5]:
reporting = HpMatchReporting(**report_config, run_dir=run_dir)
reporting.make_report()

We assume here there is a perfect match between the hyperparameters of both librairies. For a given set of parameters and a given dataset, we compute the speed-up time scikit-learn / time sklearnex. For instance, a speed-up of 2 means that sklearnex is twice as fast as scikit-learn for a given set of parameters and a given dataset.

KNeighborsClassifier (brute force)

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: algorithm=brute.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_jobs n_neighbors mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 100000 100000 100 1.072 0.018 0.075 0.0 -1 1 0.047 0.001 22.613 22.615
3 Download Download fit 100000 100000 100 1.009 0.011 0.079 0.0 -1 5 0.044 0.000 23.121 23.121
6 Download Download fit 100000 100000 100 1.023 0.016 0.078 0.0 1 100 0.044 0.000 23.202 23.203
9 Download Download fit 100000 100000 100 1.024 0.018 0.078 0.0 -1 100 0.047 0.000 21.703 21.703
12 Download Download fit 100000 100000 100 1.025 0.018 0.078 0.0 1 5 0.047 0.000 21.734 21.734
15 Download Download fit 100000 100000 100 1.018 0.017 0.079 0.0 1 1 0.045 0.002 22.514 22.532
18 Download Download fit 100000 100000 2 0.041 0.001 0.039 0.0 -1 1 0.008 0.000 5.386 5.390
21 Download Download fit 100000 100000 2 0.041 0.000 0.039 0.0 -1 5 0.008 0.000 5.408 5.410
24 Download Download fit 100000 100000 2 0.040 0.001 0.040 0.0 1 100 0.008 0.000 5.290 5.292
27 Download Download fit 100000 100000 2 0.041 0.001 0.039 0.0 -1 100 0.008 0.000 5.431 5.433
30 Download Download fit 100000 100000 2 0.045 0.000 0.035 0.0 1 5 0.008 0.000 5.980 5.983
33 Download Download fit 100000 100000 2 0.045 0.001 0.036 0.0 1 1 0.008 0.000 5.898 5.899

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_jobs n_neighbors mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 100000 1000 100 2.209 0.076 0.000 0.002 -1 1 0.163 0.001 13.527 13.527
2 Download Download predict 100000 1 100 0.021 0.002 0.000 0.021 -1 1 0.008 0.000 2.709 2.712
4 Download Download predict 100000 1000 100 2.693 0.081 0.000 0.003 -1 5 0.159 0.001 16.925 16.925
5 Download Download predict 100000 1 100 0.022 0.003 0.000 0.022 -1 5 0.008 0.000 2.830 2.831
7 Download Download predict 100000 1000 100 1.743 0.011 0.000 0.002 1 100 0.195 0.001 8.947 8.947
8 Download Download predict 100000 1 100 0.018 0.000 0.000 0.018 1 100 0.008 0.000 2.319 2.321
10 Download Download predict 100000 1000 100 2.435 0.042 0.000 0.002 -1 100 0.195 0.002 12.479 12.479
11 Download Download predict 100000 1 100 0.022 0.002 0.000 0.022 -1 100 0.008 0.000 2.841 2.842
13 Download Download predict 100000 1000 100 1.725 0.003 0.000 0.002 1 5 0.158 0.001 10.903 10.903
14 Download Download predict 100000 1 100 0.018 0.000 0.000 0.018 1 5 0.008 0.000 2.389 2.392
16 Download Download predict 100000 1000 100 1.115 0.005 0.001 0.001 1 1 0.158 0.001 7.062 7.062
17 Download Download predict 100000 1 100 0.018 0.000 0.000 0.018 1 1 0.008 0.001 2.236 2.244
19 Download Download predict 100000 1000 2 1.620 0.036 0.000 0.002 -1 1 0.024 0.000 66.663 66.666
20 Download Download predict 100000 1 2 0.004 0.002 0.000 0.004 -1 1 0.001 0.000 5.176 5.235
22 Download Download predict 100000 1000 2 2.285 0.022 0.000 0.002 -1 5 0.025 0.001 90.171 90.199
23 Download Download predict 100000 1 2 0.007 0.002 0.000 0.007 -1 5 0.001 0.000 9.380 9.538
25 Download Download predict 100000 1000 2 1.690 0.013 0.000 0.002 1 100 0.057 0.000 29.808 29.808
26 Download Download predict 100000 1 2 0.002 0.000 0.000 0.002 1 100 0.001 0.000 2.886 2.914
28 Download Download predict 100000 1000 2 2.382 0.065 0.000 0.002 -1 100 0.057 0.000 41.941 41.941
29 Download Download predict 100000 1 2 0.005 0.002 0.000 0.005 -1 100 0.001 0.000 6.663 6.723
31 Download Download predict 100000 1000 2 1.829 0.006 0.000 0.002 1 5 0.025 0.000 72.623 72.625
32 Download Download predict 100000 1 2 0.003 0.000 0.000 0.003 1 5 0.001 0.000 3.431 3.458
34 Download Download predict 100000 1000 2 1.062 0.006 0.000 0.001 1 1 0.024 0.000 43.678 43.681
35 Download Download predict 100000 1 2 0.002 0.000 0.000 0.002 1 1 0.001 0.000 2.204 2.246

Profiling traces can be visualized using Perfetto UI.

KNeighborsClassifier (KD tree)

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: algorithm=kd_tree.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_jobs n_neighbors mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000000 1000000 10 2.579 0.037 0.031 0.0 -1 1 0.638 0.003 4.041 4.041
3 Download Download fit 1000000 1000000 10 2.616 0.044 0.031 0.0 -1 5 0.642 0.010 4.075 4.075
6 Download Download fit 1000000 1000000 10 2.581 0.026 0.031 0.0 1 100 0.649 0.014 3.975 3.976
9 Download Download fit 1000000 1000000 10 2.567 0.023 0.031 0.0 -1 100 0.648 0.010 3.960 3.960
12 Download Download fit 1000000 1000000 10 2.641 0.048 0.030 0.0 1 5 0.645 0.012 4.096 4.097
15 Download Download fit 1000000 1000000 10 2.639 0.023 0.030 0.0 1 1 0.642 0.007 4.110 4.110
18 Download Download fit 1000 1000 2 0.000 0.000 0.032 0.0 -1 1 0.001 0.000 0.563 0.568
21 Download Download fit 1000 1000 2 0.000 0.000 0.033 0.0 -1 5 0.001 0.000 0.538 0.543
24 Download Download fit 1000 1000 2 0.000 0.000 0.032 0.0 1 100 0.001 0.000 0.566 0.576
27 Download Download fit 1000 1000 2 0.000 0.000 0.032 0.0 -1 100 0.001 0.000 0.560 0.564
30 Download Download fit 1000 1000 2 0.000 0.000 0.032 0.0 1 5 0.001 0.000 0.542 0.548
33 Download Download fit 1000 1000 2 0.000 0.000 0.032 0.0 1 1 0.001 0.000 0.570 0.574

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_jobs n_neighbors mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 1000000 1000 10 0.356 0.004 0.000 0.000 -1 1 0.093 0.001 3.813 3.813
2 Download Download predict 1000000 1 10 0.003 0.001 0.000 0.003 -1 1 0.000 0.000 9.272 10.033
4 Download Download predict 1000000 1000 10 0.655 0.005 0.000 0.001 -1 5 0.170 0.005 3.854 3.856
5 Download Download predict 1000000 1 10 0.003 0.000 0.000 0.003 -1 5 0.000 0.000 8.601 9.191
7 Download Download predict 1000000 1000 10 4.109 0.023 0.000 0.004 1 100 0.508 0.017 8.085 8.089
8 Download Download predict 1000000 1 10 0.002 0.001 0.000 0.002 1 100 0.001 0.000 4.136 4.300
10 Download Download predict 1000000 1000 10 2.220 0.012 0.000 0.002 -1 100 0.503 0.007 4.413 4.413
11 Download Download predict 1000000 1 10 0.004 0.001 0.000 0.004 -1 100 0.001 0.000 6.945 7.324
13 Download Download predict 1000000 1000 10 1.250 0.013 0.000 0.001 1 5 0.165 0.002 7.602 7.602
14 Download Download predict 1000000 1 10 0.001 0.000 0.000 0.001 1 5 0.000 0.000 3.928 4.195
16 Download Download predict 1000000 1000 10 0.651 0.010 0.000 0.001 1 1 0.093 0.001 6.991 6.991
17 Download Download predict 1000000 1 10 0.001 0.000 0.000 0.001 1 1 0.000 0.000 3.813 4.042
19 Download Download predict 1000 1000 2 0.020 0.001 0.001 0.000 -1 1 0.001 0.000 40.359 41.108
20 Download Download predict 1000 1 2 0.002 0.000 0.000 0.002 -1 1 0.000 0.000 15.793 18.216
22 Download Download predict 1000 1000 2 0.021 0.001 0.001 0.000 -1 5 0.001 0.000 26.981 27.526
23 Download Download predict 1000 1 2 0.002 0.000 0.000 0.002 -1 5 0.000 0.000 14.742 17.338
25 Download Download predict 1000 1000 2 0.030 0.000 0.001 0.000 1 100 0.004 0.000 7.150 7.169
26 Download Download predict 1000 1 2 0.001 0.000 0.000 0.001 1 100 0.000 0.000 3.662 4.254
28 Download Download predict 1000 1000 2 0.030 0.000 0.001 0.000 -1 100 0.004 0.000 6.805 6.844
29 Download Download predict 1000 1 2 0.002 0.000 0.000 0.002 -1 100 0.000 0.000 14.758 16.816
31 Download Download predict 1000 1000 2 0.019 0.000 0.001 0.000 1 5 0.001 0.000 22.601 23.297
32 Download Download predict 1000 1 2 0.001 0.000 0.000 0.001 1 5 0.000 0.000 3.760 4.420
34 Download Download predict 1000 1000 2 0.017 0.000 0.001 0.000 1 1 0.000 0.000 36.654 38.035
35 Download Download predict 1000 1 2 0.001 0.000 0.000 0.001 1 1 0.000 0.000 4.020 4.502

Profiling traces can be visualized using Perfetto UI.

KMeans (tall)

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: algorithm=full, n_clusters=3, max_iter=30, n_init=1, tol=1e-16.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter init mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000000 1000000 2 0.439 0.002 0.036 0.0 30 random 0.354 0.024 1.239 1.241
3 Download Download fit 1000000 1000000 2 0.514 0.003 0.031 0.0 30 k-means++ 0.390 0.020 1.316 1.318
6 Download Download fit 1000000 1000000 100 4.332 0.197 0.185 0.0 30 random 2.485 0.010 1.743 1.743
9 Download Download fit 1000000 1000000 100 4.620 0.058 0.173 0.0 30 k-means++ 2.626 0.009 1.759 1.759

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter init mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 1000000 1000 2 0.0 0.0 0.070 0.0 30 random 0.0 0.0 1.151 1.288
2 Download Download predict 1000000 1 2 0.0 0.0 0.000 0.0 30 random 0.0 0.0 1.306 1.486
4 Download Download predict 1000000 1000 2 0.0 0.0 0.075 0.0 30 k-means++ 0.0 0.0 1.048 1.168
5 Download Download predict 1000000 1 2 0.0 0.0 0.000 0.0 30 k-means++ 0.0 0.0 1.148 1.334
7 Download Download predict 1000000 1000 100 0.0 0.0 1.842 0.0 30 random 0.0 0.0 1.425 1.515
8 Download Download predict 1000000 1 100 0.0 0.0 0.004 0.0 30 random 0.0 0.0 1.261 1.366
10 Download Download predict 1000000 1000 100 0.0 0.0 1.894 0.0 30 k-means++ 0.0 0.0 1.195 1.255
11 Download Download predict 1000000 1 100 0.0 0.0 0.004 0.0 30 k-means++ 0.0 0.0 1.153 1.336

Profiling traces can be visualized using Perfetto UI.

KMeans (short)

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: algorithm=full, n_clusters=300, max_iter=20, n_init=1, tol=1e-16.

Mismatches between validation scores

WARNING! Mismatch between validation scores for 2 predictions (25.0%).
The observed differences can be found in the diff_adjusted_rand_scores column.
The chosen difference threshold is 0.01 for adjusted_rand_score.
The biggest difference is 0.077 for adjusted_rand_score.
See details in the dataframe below.
estimator library diff_adjusted_rand_scores function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter algorithm init max_iter n_clusters n_init tol adjusted_rand_score_sklearn mean_duration_sklearnex std_duration_sklearnex adjusted_rand_score_sklearnex speedup std_speedup
7 sklearn_KMeans_short sklearn 0.074768 predict 10000 1000 100 0.001253 0.000204 0.638494 0.000001 20 full random 20 300 1 1.000000e-16 0.222701 0.001082 0.000136 0.297469 1.157530 1.166648
10 sklearn_KMeans_short sklearn 0.076616 predict 10000 1000 100 0.001242 0.000216 0.644047 0.000001 20 full k-means++ 20 300 1 1.000000e-16 0.408030 0.001076 0.000158 0.331414 1.154312 1.166629

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter init mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 10000 10000 2 0.074 0.001 0.002 0.0 20 random 0.029 0.000 2.571 2.572
3 Download Download fit 10000 10000 2 0.186 0.002 0.001 0.0 20 k-means++ 0.079 0.001 2.348 2.348
6 Download Download fit 10000 10000 100 0.181 0.002 0.044 0.0 20 random 0.121 0.002 1.491 1.492
9 Download Download fit 10000 10000 100 0.512 0.010 0.016 0.0 20 k-means++ 0.309 0.002 1.656 1.656

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter init mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 10000 1000 2 0.001 0.0 0.025 0.0 20 random 0.001 0.0 1.021 1.032
2 Download Download predict 10000 1 2 0.000 0.0 0.000 0.0 20 random 0.000 0.0 1.357 1.457
4 Download Download predict 10000 1000 2 0.001 0.0 0.024 0.0 20 k-means++ 0.001 0.0 1.001 1.017
5 Download Download predict 10000 1 2 0.000 0.0 0.000 0.0 20 k-means++ 0.000 0.0 1.601 1.839
7 Download Download predict 10000 1000 100 0.001 0.0 0.638 0.0 20 random 0.001 0.0 1.158 1.167
8 Download Download predict 10000 1 100 0.000 0.0 0.003 0.0 20 random 0.000 0.0 1.132 1.206
10 Download Download predict 10000 1000 100 0.001 0.0 0.644 0.0 20 k-means++ 0.001 0.0 1.154 1.167
11 Download Download predict 10000 1 100 0.000 0.0 0.003 0.0 20 k-means++ 0.000 0.0 1.211 1.323

Profiling traces can be visualized using Perfetto UI.

Logistic Regression

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: penalty=l2, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1.0, class_weight=nan, random_state=nan, solver=lbfgs, max_iter=100, multi_class=auto, verbose=0, warm_start=False, n_jobs=nan, l1_ratio=nan.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000000 1000000 100 9.529 0.066 0.084 0.000 [20] 1.679 0.003 5.676 5.676
3 Download Download fit 1000 1000 10000 0.688 0.046 0.116 0.001 [27] 0.693 0.057 0.993 0.996

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 1000000 1000 100 0.000 0.0 2.893 0.0 [20] 0.000 0.0 0.717 0.765
2 Download Download predict 1000000 1 100 0.000 0.0 0.015 0.0 [20] 0.000 0.0 0.248 0.266
4 Download Download predict 1000 100 10000 0.002 0.0 5.204 0.0 [27] 0.003 0.0 0.527 0.530
5 Download Download predict 1000 1 10000 0.000 0.0 0.962 0.0 [27] 0.001 0.0 0.112 0.115

Profiling traces can be visualized using Perfetto UI.

LinearRegression

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters:

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency copy_X fit_intercept normalize positive mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000 1000 10000 1.261 0.012 0.063 0.001 True True deprecated False 1.422 0.015 0.887 0.887
3 Download Download fit 1000000 1000000 100 7.059 0.044 0.113 0.000 True True deprecated False 0.174 0.001 40.480 40.481

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency copy_X fit_intercept normalize positive mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 1000 1000 10000 0.01 0.0 8.346 0.0 True True deprecated False 0.016 0.0 0.595 0.595
2 Download Download predict 1000 10 10000 0.00 0.0 6.137 0.0 True True deprecated False 0.000 0.0 0.469 0.491
4 Download Download predict 1000000 1000 100 0.00 0.0 6.170 0.0 True True deprecated False 0.000 0.0 0.310 0.321
5 Download Download predict 1000000 10 100 0.00 0.0 0.133 0.0 True True deprecated False 0.000 0.0 0.444 0.473

Profiling traces can be visualized using Perfetto UI.

Ridge

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: alpha=1e-06.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000 1000 10000 0.159 0.001 0.504 0.0 0.167 0.001 0.952 0.952
3 Download Download fit 1000000 1000000 100 1.110 0.009 0.721 0.0 0.212 0.000 5.244 5.244

predict

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
1 Download Download predict 1000 1000 10000 0.01 0.0 8.367 0.0 0.016 0.0 0.588 0.588
2 Download Download predict 1000 10 10000 0.00 0.0 5.666 0.0 0.000 0.0 0.489 0.521
4 Download Download predict 1000000 1000 100 0.00 0.0 4.625 0.0 0.000 0.0 0.575 0.620
5 Download Download predict 1000000 10 100 0.00 0.0 0.152 0.0 0.000 0.0 0.329 0.368

Profiling traces can be visualized using Perfetto UI.

TSNE

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters:

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency n_iter angle early_exaggeration init learning_rate method metric min_grad_norm n_components n_iter_without_progress perplexity square_distances verbose mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 1000 1000 3 3.395 0.168 0.0 0.003 1000 0.5 12.0 warn warn barnes_hut euclidean 0.0 2 300 30.0 legacy 0 3.409 0.236 0.996 0.998

Profiling traces can be visualized using Perfetto UI.

PCA

scikit-learn-intelex (2021.20220207.123530) vs. scikit-learn (1.0.2)

Speedup barplots

All estimators share the following parameters: n_components=10.

Raw results

fit

sklearn_profiling sklearnex_profiling function n_samples_train n_samples n_features mean_duration_sklearn std_duration_sklearn iteration_throughput latency mean_duration_sklearnex std_duration_sklearnex speedup std_speedup
0 Download Download fit 100000 100000 100 0.425 0.008 0.188 0.0 0.027 0.004 15.888 16.104
1 Download Download fit 10000 10000 1000 0.356 0.004 0.224 0.0 0.176 0.011 2.025 2.029

Profiling traces can be visualized using Perfetto UI.

Benchmark environment information

System

python 3.8.12 | packaged by conda-forge | (default, Jan 30 2022, 23:42:07) [GCC 9.4.0]
executable /usr/share/miniconda/envs/sklbench/bin/python
machine Linux-5.11.0-1028-azure-x86_64-with-glibc2.10

Dependencies

pip 22.0.4
setuptools 60.10.0
sklearn 1.0.2
numpy 1.22.3
scipy 1.8.0
Cython None
pandas 1.4.1
matplotlib 3.5.1
joblib 1.1.0
threadpoolctl 3.1.0

Threadpool

user_api internal_api prefix filepath version threading_layer architecture num_threads
0 blas openblas libopenblas /usr/share/miniconda/envs/sklbench/lib/libopenblasp-r0.3.18.so 0.3.18 pthreads SkylakeX 2
1 openmp openmp libgomp /usr/share/miniconda/envs/sklbench/lib/libgomp.so.1.0.0 None NaN NaN 2

Cpu_count

cpu_count 2
physical_cpu_count 2