Closed
Description
While working on skops
's persistence, I realized sometimes it's faster for me to set OMP_NUM_THREADS=1
.
I tried to isolate the issue. The differences here aren't large, and couldn't reproduce a massive difference, but in terms of proportions, the diffs are sometimes significant.
Here's the code to run the relevant tests, w/o any skops
dependency:
import warnings
from functools import partial
from time import perf_counter
import numpy as np
import pytest
from scipy import sparse, special
from sklearn.base import is_regressor
from sklearn.cluster import Birch
from sklearn.compose import ColumnTransformer
from sklearn.datasets import load_sample_images, make_classification, make_regression
from sklearn.decomposition import SparseCoder
from sklearn.exceptions import SkipTestWarning
from sklearn.experimental import enable_halving_search_cv # noqa
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import (
GridSearchCV,
HalvingGridSearchCV,
HalvingRandomSearchCV,
RandomizedSearchCV,
)
from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
from sklearn.pipeline import FeatureUnion, Pipeline
from sklearn.preprocessing import (
FunctionTransformer,
MinMaxScaler,
Normalizer,
PolynomialFeatures,
StandardScaler,
)
from sklearn.utils import all_estimators
from sklearn.utils._tags import _safe_tags
from sklearn.utils._testing import SkipTest, set_random_state
from sklearn.utils.estimator_checks import (
_construct_instance,
_enforce_estimator_tags_y,
_get_check_estimator_ids,
)
UNSUPPORTED_TYPES = {Birch}
# Default settings for X
N_SAMPLES = 50
N_FEATURES = 20
def _tested_estimators(type_filter=None):
for name, Estimator in all_estimators(type_filter=type_filter):
if Estimator in UNSUPPORTED_TYPES:
continue
try:
# suppress warnings here for skipped estimators.
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore",
category=SkipTestWarning,
message="Can't instantiate estimator",
)
estimator = _construct_instance(Estimator)
# with the kind of data we pass, it needs to be 1 for the few
# estimators which have this.
if "n_components" in estimator.get_params():
estimator.set_params(n_components=1)
# Then n_best needs to be <= n_components
if "n_best" in estimator.get_params():
estimator.set_params(n_best=1)
if "patch_size" in estimator.get_params():
# set patch size to fix PatchExtractor test.
estimator.set_params(patch_size=(3, 3))
except SkipTest:
continue
yield estimator
# nested Pipeline & FeatureUnion
# fmt: off
yield Pipeline([
("features", FeatureUnion([
("scaler", StandardScaler()),
("scaled-poly", Pipeline([
("polys", FeatureUnion([
("poly1", PolynomialFeatures()),
("poly2", PolynomialFeatures(degree=3, include_bias=False))
])),
("scale", MinMaxScaler()),
])),
])),
("clf", LogisticRegression(random_state=0, solver="liblinear")),
])
# fmt: on
# FunctionTransformer with numpy functions
yield FunctionTransformer(
func=np.sqrt,
inverse_func=np.square,
)
# FunctionTransformer with scipy functions - problem is that they look like
# numpy ufuncs
yield FunctionTransformer(
func=special.erf,
inverse_func=special.erfinv,
)
# partial functions should be supported
yield FunctionTransformer(
func=partial(np.add, 10),
inverse_func=partial(np.add, -10),
)
yield KNeighborsClassifier(algorithm="kd_tree")
yield KNeighborsRegressor(algorithm="ball_tree")
yield ColumnTransformer(
[
("norm1", Normalizer(norm="l1"), [0]),
("norm2", Normalizer(norm="l1"), [1, 2]),
("norm3", Normalizer(norm="l1"), [True] + (N_FEATURES - 1) * [False]),
("norm4", Normalizer(norm="l1"), np.array([1, 2])),
("norm5", Normalizer(norm="l1"), slice(3)),
("norm6", Normalizer(norm="l1"), slice(-10, -3, 2)),
],
)
yield GridSearchCV(
LogisticRegression(random_state=0, solver="liblinear"),
{"C": [1, 2, 3, 4, 5]},
)
yield HalvingGridSearchCV(
LogisticRegression(random_state=0, solver="liblinear"),
{"C": [1, 2, 3, 4, 5]},
)
yield HalvingRandomSearchCV(
LogisticRegression(random_state=0, solver="liblinear"),
{"C": [1, 2, 3, 4, 5]},
)
yield RandomizedSearchCV(
LogisticRegression(random_state=0, solver="liblinear"),
{"C": [1, 2, 3, 4, 5]},
n_iter=3,
)
dictionary = np.random.randint(-2, 3, size=(5, N_FEATURES)).astype(float)
yield SparseCoder(
dictionary=dictionary,
transform_algorithm="lasso_lars",
)
def get_input(estimator):
# Return a valid input for estimator.fit
# TODO: make this a parameter and test with sparse data
# TODO: try with pandas.DataFrame as well
if is_regressor(estimator):
# classifier data can lead to failure of certain regressors to fit, e.g.
# RANSAC in sklearn 0.24, so regression data is needed
X, y = make_regression(
n_samples=N_SAMPLES, n_features=N_FEATURES, random_state=0
)
else:
X, y = make_classification(
n_samples=N_SAMPLES, n_features=N_FEATURES, random_state=0
)
y = _enforce_estimator_tags_y(estimator, y)
tags = _safe_tags(estimator)
if tags["pairwise"] is True:
return np.random.rand(N_FEATURES, N_FEATURES), None
if "2darray" in tags["X_types"]:
# Some models require positive X
return np.abs(X), y
if "1darray" in tags["X_types"]:
return X[:, 0], y
if "3darray" in tags["X_types"]:
return load_sample_images().images[1], None
if "1dlabels" in tags["X_types"]:
# model only expects y
return y, None
if "2dlabels" in tags["X_types"]:
return [(1, 2), (3,)], None
if "categorical" in tags["X_types"]:
return [["Male", 1], ["Female", 3], ["Female", 2]], None
if "dict" in tags["X_types"]:
return [{"foo": 1, "bar": 2}, {"foo": 3, "baz": 1}], None
if "string" in tags["X_types"]:
return [
"This is the first document.",
"This document is the second document.",
"And this is the third one.",
"Is this the first document?",
], None
if tags["X_types"] == "sparse":
# TfidfTransformer in sklearn 0.24 needs this
return sparse.csr_matrix(X), y
raise ValueError(f"Unsupported X type for estimator: {tags['X_types']}")
class catchtime:
def __init__(self, obj):
self.obj = obj
def __enter__(self):
self.time = perf_counter()
return self
def __exit__(self, type, value, traceback):
self.time = perf_counter() - self.time
with open("/tmp/times.csv", "a") as f:
f.write(f'"{str(self.obj)}",{self.time}\n')
@pytest.mark.parametrize(
"estimator", _tested_estimators(), ids=_get_check_estimator_ids
)
def test_can_persist_fitted(estimator, request):
"""Check that fitted estimators can be persisted and return the right results."""
set_random_state(estimator, random_state=0)
with catchtime(request.node.name):
X, y = get_input(estimator)
tags = _safe_tags(estimator)
if tags.get("requires_fit", True):
with warnings.catch_warnings():
warnings.filterwarnings("ignore", module="sklearn")
if y is not None:
estimator.fit(X, y)
else:
estimator.fit(X)
The two compared runs are:
OMP_NUM_THREADS=1 /bin/time pytest -vv -s -x /tmp/test_persist.py
and
/bin/time pytest -vv -s -x /tmp/test_persist.py
And merging the outputs of the files, calculating the time diff and sorting them, on my system I get:
EDIT: report and sort based on multi / single
times.
"test","time_single","time_multi","multi-single","multi / single"
"test_can_persist_fitted[LocalOutlierFactor()]","0.0010714689997257","0.0927494520001346",0.0916779830004089,86.56288891594512
"test_can_persist_fitted[GammaRegressor()]","0.0021223299991106","0.0836087440111441",0.08148641401203349,39.39478971045117
"test_can_persist_fitted[TweedieRegressor()]","0.0027183700003661","0.1029384389985352",0.10022006899816911,37.867707112965434
"test_can_persist_fitted[BisectingKMeans()]","0.0024171370023395","0.0770646570017561",0.0746475199994166,31.882618538860942
"test_can_persist_fitted[MiniBatchNMF(n_components=1)]","0.0018326569988857","0.0317566099984105",0.0299239529995248,17.328179805451477
"test_can_persist_fitted[SpectralCoclustering()]","0.008189896994736","0.1385050719982246",0.1303151750034886,16.911698900150732
"test_can_persist_fitted[GaussianMixture()]","0.0023726949875708","0.0248366449959576",0.022463950008386798,10.467693962377238
"test_can_persist_fitted[Isomap(n_components=1)]","0.0028434790001483","0.0244207729992922",0.0215772939991439,8.588343011507575
"test_can_persist_fitted[KMeans()]","0.0126020519965095","0.0913419629941927",0.0787399109976832,7.248181726237321
"test_can_persist_fitted[OPTICS()]","0.0183498749975115","0.1283333730098093",0.10998349801229779,6.993691947613436
"test_can_persist_fitted[HistGradientBoostingClassifier()]","0.0225414900050964","0.137676618003752",0.1151351279986556,6.107698203296443
"test_can_persist_fitted[SpectralBiclustering(n_best=1,n_components=1)]","0.0242698249930981","0.133240677008871",0.10897085201577289,5.489972714956216
"test_can_persist_fitted[LocallyLinearEmbedding(n_components=1)]","0.0047033659939188","0.0194478940102271",0.014744528016308302,4.134888510775514
"test_can_persist_fitted[QuantileRegressor()]","0.0140205890056677","0.057087950001005",0.0430673609953373,4.071722662858721
"test_can_persist_fitted[NuSVR()]","0.0007767990027787","0.0029766740044578",0.0021998750016791,3.8319745440067408
"test_can_persist_fitted[Nystroem(n_components=1)]","0.0009555270080454","0.0036264819937059",0.0026709549856605,3.79526895961228
"test_can_persist_fitted[SplineTransformer()]","0.0009607859974494","0.003511870992952",0.0025510849955026,3.6552062605772453
"test_can_persist_fitted[NuSVC()]","0.0012937059946125","0.0044799390016123",0.0031862330069998,3.462872569400255
"test_can_persist_fitted[Normalizer()]","0.0006453480018535","0.0022331239888444",0.0015877759869909,3.460340750154426
"test_can_persist_fitted[OAS()]","0.0009089880040846","0.0030464559968095",0.0021374679927249,3.3514809690777447
"test_can_persist_fitted[GaussianRandomProjection(n_components=1)]","0.0008345539972651","0.0027637859893729",0.0019292319921078,3.3116922313355963
"test_can_persist_fitted[NMF(n_components=1)]","0.0047911790024954","0.0157362389873014",0.010945059984806,3.2844189246750037
"test_can_persist_fitted[KBinsDiscretizer()]","0.0043756679951911","0.0142683290032437",0.0098926610080526,3.260834464343439
"test_can_persist_fitted[NeighborhoodComponentsAnalysis(n_components=1)]","0.0090429139963816","0.0284530789940617",0.0194101649976801,3.146450248829837
"test_can_persist_fitted[IsotonicRegression()]","0.0007055559981381","0.0021990679961163",0.0014935119979782,3.1167873307284557
"test_can_persist_fitted[LarsCV()]","0.0121437859925208","0.0369784909998998",0.024834705007379,3.0450545672226412
"test_can_persist_fitted[QuantileTransformer()]","0.0028861119935754","0.0087746539938962",0.0058885420003208,3.040302667889856
"test_can_persist_fitted[FeatureAgglomeration()]","0.0009043379977811","0.0027028719923691",0.001798533994588,2.988785165503291
"test_can_persist_fitted[BernoulliRBM(n_components=1)]","0.0033446660090703","0.0098701509996317",0.0065254849905614,2.9510124397668203
"test_can_persist_fitted[Binarizer()]","0.000752874999307","0.0022121270012576",0.0014592520019505997,2.9382394199485966
"test_can_persist_fitted[Lasso()]","0.0009258329955628","0.0027034779923269",0.0017776449967641002,2.9200493018543763
"test_can_persist_fitted[LinearSVR()]","0.0007726479962002","0.0022275270021054",0.0014548790059052,2.88297777650384
"test_can_persist_fitted[Lars()]","0.0027890229976037","0.0080353840021416",0.005246361004537901,2.8810748455805206
"test_can_persist_fitted[LogisticRegression()]","0.0034757880057441","0.0099455789895728",0.0064697909838287,2.861388258759366
"test_can_persist_fitted[GenericUnivariateSelect()]","0.0011314559960737","0.0032270969968521",0.0020956410007784,2.852163060738153
"test_can_persist_fitted[LinearSVC()]","0.0029173670045565","0.0082459510012995",0.005328583996743,2.8265045119179497
"test_can_persist_fitted[NearestCentroid()]","0.0010163379920413","0.0028491499979281",0.0018328120058868,2.803348905815893
"test_can_persist_fitted[FastICA(n_components=1)]","0.0015253439923981","0.0042679670004872",0.0027426230080890997,2.7980357360422223
"test_can_persist_fitted[SkewedChi2Sampler(n_components=1)]","0.0008273340063169","0.0022919409966561",0.0014646069903391998,2.770272923821048
"test_can_persist_fitted[FunctionTransformer()]","0.0007347120117628","0.0020166000031167",0.0012818879913538998,2.7447489231573288
"test_can_persist_fitted[LinearDiscriminantAnalysis(n_components=1)]","0.0013325559993973","0.0036443440039874",0.0023117880045901004,2.7348524231894915
"test_can_persist_fitted[GaussianProcessClassifier()]","0.003662921997602","0.0100116180110489",0.006348696013446899,2.733232653494448
"test_can_persist_fitted[GaussianNB()]","0.001269375992706","0.0034225059935124",0.0021531300008064,2.6962113772267364
"test_can_persist_fitted[SimpleImputer()]","0.0009062699973583","0.0024218929902417",0.0015156229928834,2.6723746756499853
"test_can_persist_fitted[NearestNeighbors()]","0.0009082900069188","0.002395991992671",0.0014877019857522,2.637915175131062
"test_can_persist_fitted[SpectralClustering(n_components=1)]","0.0127098130033118","0.0327692639984888",0.020059450995176996,2.5782648407140294
"test_can_persist_fitted[FactorAnalysis(n_components=1)]","0.0195348620036384","0.0497234249924076",0.030188562988769204,2.5453686329161953
"test_can_persist_fitted[TSNE(n_components=1)]","0.1255255159921944","0.317694390003453",0.19216887401125862,2.5309148302820628
"test_can_persist_fitted[LinearRegression()]","0.0009793620120035","0.002405147999525",0.0014257859875214998,2.455831418869047
"test_can_persist_fitted[GraphicalLasso()]","0.0086081100016599","0.0204216620040824",0.011813552002422501,2.3723746560097974
"test_can_persist_fitted[GaussianProcessRegressor()]","0.0004234910011291","0.0009836230019573",0.0005601320008282001,2.3226538446738934
"test_can_persist_fitted[KernelRidge()]","0.0008906929870136","0.0020350589911686",0.001144366004155,2.2848041029175934
"test_can_persist_fitted[FeatureHasher()]","0.0009295619965996","0.0020383999944897",0.0011088379978901,2.1928607257464305
"test_can_persist_fitted[HistGradientBoostingRegressor()]","0.0203921549982624","0.0434060730040073",0.0230139180057449,2.1285672361604693
"test_can_persist_fitted[MeanShift()]","0.0483692080015316","0.1026678279886255",0.054298619987093906,2.122586501424099
"test_can_persist_fitted[BayesianRidge()]","0.0014079749962547","0.0029236859991215",0.0015157110028668,2.0765184089907023
"test_can_persist_fitted[LabelBinarizer()]","0.0010816889989655","0.0022351079969666",0.0011534189980011,2.066312959736302
"test_can_persist_fitted[OneVsOneClassifier(estimator=LogisticRegression(C=1))]","0.0035561710101319","0.0072453939937986",0.0036892229836667,2.0374143912527605
"test_can_persist_fitted[EllipticEnvelope()]","0.0378726820053998","0.0719431110046571",0.034070428999257295,1.89960433735323
"test_can_persist_fitted[SGDRegressor()]","0.0010731799993664","0.0020019400108139",0.0009287600114474999,1.8654279915725553
"test_can_persist_fitted[RANSACRegressor(estimator=LinearRegression())]","0.0711863120086491","0.1266435039869975",0.055457191978348405,1.7790429144806714
"test_can_persist_fitted[MinCovDet()]","0.0332818409951869","0.0540667439927347",0.020784902997547802,1.624511817136367
"test_can_persist_fitted[DBSCAN()]","0.0011594509996939","0.0018382370035396",0.0006787860038457,1.5854374216977711
"test_can_persist_fitted[SpectralEmbedding(n_components=1)]","0.0044372770062182","0.0070096690033096",0.0025723919970913993,1.5797231034903985
"test_can_persist_fitted[GradientBoostingClassifier()]","0.0647526280081365","0.1017985090002184",0.037045880992081906,1.5721139377914808
"test_can_persist_fitted[BayesianGaussianMixture()]","0.0038830019911983","0.0060393379972083",0.00215633600601,1.5553270410104918
"test_can_persist_fitted[PowerTransformer()]","0.0224101670028176","0.0346972039988031",0.0122870369959855,1.5482795819611994
"test_can_persist_fitted[RidgeClassifierCV()]","0.0021108439977979","0.0031720449915155",0.0010612009937176,1.5027377650004825
"test_can_persist_fitted[VarianceThreshold()]","0.0008643930050311","0.0012846210011048",0.0004202279960737,1.4861538601397875
"test_can_persist_fitted[SparsePCA(n_components=1)]","0.0867362350109033","0.127830443001585",0.0410942079906817,1.4737836267105195
"test_can_persist_fitted[LassoCV()]","0.0380988410033751","0.0551571569958468",0.0170583159924717,1.4477384493391947
"test_can_persist_fitted[EmpiricalCovariance()]","0.0010117939964402","0.0014475229982053",0.00043572900176509994,1.4306499181633094
"test_can_persist_fitted[OneHotEncoder()]","0.0007435950101353","0.0010595619969535",0.00031596698681820006,1.4249181106805822
"test_can_persist_fitted[TfidfVectorizer()]","0.0013325569889275","0.0018945149931823",0.0005619580042548001,1.4217140496986087
"test_can_persist_fitted[MinMaxScaler()]","0.0007294279930647","0.0010341020097257",0.00030467401666099995,1.417688955671839
"test_can_persist_fitted[TfidfTransformer()]","0.0012206079991301","0.0017198150017065",0.0004992070025764,1.408982247316234
"test_can_persist_fitted[CCA(n_components=1)]","0.0010862969938898","0.001518039003713",0.00043174200982320013,1.3974438042742099
"test_can_persist_fitted[ARDRegression()]","0.0126483920030295","0.0176656460098456",0.0050172540068161,1.3966712927314702
"test_can_persist_fitted[OneVsRestClassifier(estimator=LogisticRegression(C=1))]","0.0039936749963089","0.0055577759922016",0.0015641009958926996,1.3916445372591157
"test_can_persist_fitted[HuberRegressor()]","0.0107131620025029","0.0145136320061283",0.003800470003625399,1.3547477395317555
"test_can_persist_fitted[Ridge()]","0.0006361050036503","0.0008559510024497",0.00021984599879940005,1.345612748740868
"test_can_persist_fitted[FunctionTransformer(func=<ufunc'erf'>,inverse_func=<ufunc'erfinv'>)]","0.0007440420013153","0.0009982040064642",0.0002541620051489,1.341596314051624
"test_can_persist_fitted[PoissonRegressor()]","0.0055465689947595","0.0073421239940216",0.0017955549992621006,1.3237235489107904
"test_can_persist_fitted[FunctionTransformer(func=functools.partial(<ufunc'add'>,10),inverse_func=functools.partial(<ufunc'add'>,-10))]","0.0006530280079459","0.0008636220009066",0.0002105939929607,1.322488454397421
"test_can_persist_fitted[KernelPCA(n_components=1)]","0.001298568007769","0.0017092789930757",0.00041071098530670006,1.316279919765096
"test_can_persist_fitted[GraphicalLassoCV()]","0.3661585500085493","0.481569366005715",0.11541081599716568,1.3151935575298488
"test_can_persist_fitted[VotingRegressor(estimators=[('est1',Ridge(alpha=0.1)),('est2',Ridge(alpha=1))])]","0.0016161160019692","0.0021203890064498",0.0005042730044806001,1.3120277281248098
"test_can_persist_fitted[MissingIndicator()]","0.0006886129995109","0.0008854990010149",0.000196886001504,1.2859167655037618
"test_can_persist_fitted[OneClassSVM()]","0.0011959840048803","0.0015293489996111",0.0003333649947308002,1.2787370009719863
"test_can_persist_fitted[DecisionTreeRegressor()]","0.0012525390047812","0.0015977739967638",0.00034523499198260005,1.2756281366606284
"test_can_persist_fitted[LabelEncoder()]","0.0016270780033664","0.0020700199966086",0.00044294199324220016,1.272231566234538
"test_can_persist_fitted[ShrunkCovariance()]","0.0010790710075525","0.0013700450072064",0.00029097399965389995,1.2696523190942495
"test_can_persist_fitted[SVR()]","0.0008788159902906","0.0011090990010416",0.0002302830107510001,1.2620378023331733
"test_can_persist_fitted[AdaBoostClassifier()]","0.050940952001838","0.0637439109996194",0.012802958997781402,1.2513294018792476
"test_can_persist_fitted[SelectPercentile()]","0.0009721020032884","0.0012072280078427",0.00023512600455430008,1.2418737990035225
"test_can_persist_fitted[KernelCenterer()]","0.0005867239960934","0.0007275149982888",0.00014079100219540003,1.2399612136759917
"test_can_persist_fitted[MultinomialNB()]","0.0012180370104033","0.0015100150048965",0.00029197799449320015,1.2397119233647296
"test_can_persist_fitted[RadiusNeighborsClassifier()]","0.0008196080016205","0.0010090029973071",0.00018939499568659997,1.2310799739779685
"test_can_persist_fitted[RadiusNeighborsTransformer()]","0.0006537840090459","0.0007985830015968",0.0001447989925509,1.2214783331305585
"test_can_persist_fitted[CalibratedClassifierCV(estimator=LogisticRegression(C=1))]","0.0218348740017972","0.0265728600061265",0.0047379860043293,1.2169916805537473
"test_can_persist_fitted[AdaBoostRegressor()]","0.0465619070018874","0.0561594290047651",0.009597522002877702,1.2061239030112891
"test_can_persist_fitted[VotingClassifier(estimators=[('est1',LogisticRegression(C=0.1)),('est2',LogisticRegression(C=1))])]","0.0065736309916246","0.0079231550043914",0.0013495240127668002,1.2052935454524625
"test_can_persist_fitted[HashingVectorizer()]","0.0007064819947117","0.0008509629988111",0.0001444810040994001,1.204507694719608
"test_can_persist_fitted[BernoulliNB()]","0.0016057890024967","0.0019301649881526",0.0003243759856559,1.2020041145826483
"test_can_persist_fitted[QuadraticDiscriminantAnalysis()]","0.001282765995711","0.0015390229964395",0.00025625700072850013,1.1997690939620396
"test_can_persist_fitted[LedoitWolf()]","0.0011327229876769","0.001345967000816",0.00021324401313910007,1.188257866626722
"test_can_persist_fitted[PLSCanonical(n_components=1)]","0.0008930790063459","0.0010565039992798",0.00016342499293390004,1.182990521300647
"test_can_persist_fitted[SVC()]","0.0013242099958006","0.0015611440030625",0.0002369340072618999,1.1789247989467506
"test_can_persist_fitted[OrdinalEncoder()]","0.0007790569943608","0.0009178610052913",0.00013880401093050007,1.1781692635265868
"test_can_persist_fitted[MiniBatchSparsePCA(n_components=1)]","0.5331204669928411","0.6277459029952297",0.0946254360023886,1.177493534502886
"test_can_persist_fitted[RidgeCV()]","0.0010370239906478","0.0012171739945188",0.0001801500038709999,1.173718260614651
"test_can_persist_fitted[LogisticRegressionCV()]","0.1866729580069659","0.2189319430035539",0.032258984996588,1.1728101667269033
"test_can_persist_fitted[ComplementNB()]","0.0012564180069603","0.0014726260124007",0.00021620800544039994,1.1720828611518233
"test_can_persist_fitted[StackingClassifier(estimators=[('est1',LogisticRegression(C=0.1)),('est2',LogisticRegression(C=1))])]","0.0341543770045973","0.0400117379904259",0.005857360985828598,1.1714966425837654
"test_can_persist_fitted[ExtraTreesClassifier()]","0.075037741989945","0.0878974350052885",0.012859693015343496,1.1713763324203796
"test_can_persist_fitted[KernelDensity()]","0.0007219630060717","0.0008428259898209",0.00012086298374919995,1.1674088322154235
"test_can_persist_fitted[ExtraTreeClassifier()]","0.0011761259956983","0.0013658559910254",0.00018972999532710006,1.1613177465858595
"test_can_persist_fitted[RidgeClassifier()]","0.0017092100024456","0.0019844030030071",0.0002751930005614998,1.161005961916759
"test_can_persist_fitted[LassoLarsCV()]","0.0119811650074552","0.0138928539963671",0.0019116889889119002,1.1595578549934304
"test_can_persist_fitted[MultiOutputClassifier(estimator=LogisticRegression(C=1))]","0.0032788190001156","0.0037978430045768",0.0005190240044612,1.1582960219648908
"test_can_persist_fitted[SelfTrainingClassifier(base_estimator=LogisticRegression(C=1))]","0.0034496400039643","0.0039106769982026",0.0004610369942382995,1.133647857083197
"test_can_persist_fitted[HalvingRandomSearchCV(estimator=LogisticRegression(random_state=0,solver='liblinear'),param_distributions={'C':[1,2,3,4,5]})]","0.0186055730009684","0.0209051120036747",0.0022995390027063,1.1235940974559941
"test_can_persist_fitted[RobustScaler()]","0.0028357779956422","0.0031639569933759",0.00032817899773370006,1.1157280288647489
"test_can_persist_fitted[RFE(estimator=LogisticRegression(C=1))]","0.0287706700037233","0.0319507169915596",0.003180046987836301,1.1105308631124948
"test_can_persist_fitted[RandomForestRegressor()]","0.1025792099972022","0.1136259829945629",0.011046772997360704,1.1076901742337653
"test_can_persist_fitted[KNeighborsRegressor()]","0.0005174600082682","0.0005709969991585",5.353699089030001e-05,1.1034611178349298
"test_can_persist_fitted[KNeighborsClassifier(algorithm='kd_tree')]","0.000879220009665","0.0009664180106483",8.719800098329995e-05,1.099176542872954
"test_can_persist_fitted[LassoLars()]","0.0025726489984663","0.0028255540091777",0.00025290501071139997,1.0983052918848124
"test_can_persist_fitted[MultiTaskElasticNet()]","0.0007665879966225","0.0008397030032938",7.311500667130002e-05,1.09537718695497
"test_can_persist_fitted[Pipeline(steps=[('features',FeatureUnion(transformer_list=[('scaler',StandardScaler()),('scaled-poly',Pipeline(steps=[('polys',FeatureUnion(transformer_list=[('poly1',PolynomialFeatures()),('poly2',PolynomialFeatures(degree=3,include_bias=False))])),('scale',MinMaxScaler())]))])),('clf',LogisticRegression(random_state=0,solver='liblinear'))])]","0.0157648290041834","0.0171720850048586",0.0014072560006751986,1.0892655416878778
"test_can_persist_fitted[HalvingGridSearchCV(estimator=LogisticRegression(random_state=0,solver='liblinear'),param_grid={'C':[1,2,3,4,5]})]","0.0417294619983295","0.0453058139974018",0.0035763519990723025,1.0857032855879012
"test_can_persist_fitted[PCA(n_components=1)]","0.0010547990095801","0.0011448959994595",9.009698987939982e-05,1.085416263251201
"test_can_persist_fitted[PLSSVD(n_components=1)]","0.0008858310029609","0.0009581610065652",7.233000360430003e-05,1.0816521473763463
"test_can_persist_fitted[IncrementalPCA(n_components=1)]","0.001100387002225","0.0011889339948538",8.854699262880001e-05,1.0804689554218259
"test_can_persist_fitted[RandomizedSearchCV(estimator=LogisticRegression(random_state=0,solver='liblinear'),n_iter=3,param_distributions={'C':[1,2,3,4,5]})]","0.0204526760062435","0.0220905689930077",0.0016378929867642,1.080082087364226
"test_can_persist_fitted[RBFSampler(n_components=1)]","0.0007984279945958","0.0008596959960414",6.12680014456e-05,1.0767357881490824
"test_can_persist_fitted[BaggingRegressor()]","0.0125537710118805","0.0134970329963834",0.0009432619845029001,1.0751377401746636
"test_can_persist_fitted[OutputCodeClassifier(estimator=LogisticRegression(C=1))]","0.0042471040069358","0.0045657730079256",0.0003186690009898,1.0750320690214774
"test_can_persist_fitted[MiniBatchKMeans()]","0.0078272259997902","0.0084100420062895",0.0005828160064992993,1.074460096912357
"test_can_persist_fitted[LatentDirichletAllocation(n_components=1)]","0.0174797929939813","0.0187050800013821",0.0012252870074008007,1.0700973408450944
"test_can_persist_fitted[ClassifierChain(base_estimator=LogisticRegression(C=1))]","0.003608583996538","0.0038580209948122",0.00024943699827419986,1.069123234629845
"test_can_persist_fitted[DictionaryLearning(n_components=1)]","0.0252839390013832","0.0269514709943905",0.0016675319930072978,1.0659522233824434
"test_can_persist_fitted[AdditiveChi2Sampler()]","0.0006624880043091","0.0007051800057524",4.2692001443300005e-05,1.0644419237263367
"test_can_persist_fitted[AffinityPropagation()]","0.003210470007616","0.003386052994756",0.00017558298714000003,1.0546907420793452
"test_can_persist_fitted[MultiTaskLassoCV()]","0.0190663599933031","0.020108753000386",0.0010423930070828993,1.054671841266452
"test_can_persist_fitted[SGDClassifier()]","0.0014912049955455","0.0015719160001026",8.071100455709994e-05,1.0541246876171944
"test_can_persist_fitted[DummyClassifier()]","0.0007533600000897","0.000793806000729",4.04460006393e-05,1.0536874809314063
"test_can_persist_fitted[StackingRegressor(estimators=[('est1',Ridge(alpha=0.1)),('est2',Ridge(alpha=1))])]","0.0102079740026965","0.010739988007117",0.0005320140044205012,1.0521174920978411
"test_can_persist_fitted[MiniBatchDictionaryLearning(n_components=1)]","5.44541486199887","5.713369516000967",0.2679546540020974,1.0492073902159473
"test_can_persist_fitted[DictVectorizer()]","0.0007831640104996","0.0008214319968828",3.826798638319998e-05,1.0488633107116194
"test_can_persist_fitted[SequentialFeatureSelector(estimator=LogisticRegression(C=1))]","1.5951796029985417","1.671207699997467",0.07602809699892532,1.0476611516697
"test_can_persist_fitted[RandomTreesEmbedding()]","0.0665871059900382","0.0697572490025777",0.0031701430125394975,1.0476089622067937
"test_can_persist_fitted[RFECV(estimator=LogisticRegression(C=1))]","0.2849091190000763","0.2977122179872822",0.012803098987205885,1.0449374840375063
"test_can_persist_fitted[IsolationForest()]","0.0864064729976235","0.0902635519887553",0.0038570789911318015,1.0446387736626848
"test_can_persist_fitted[MLPRegressor()]","0.0537431749980896","0.0561026689974824",0.002359493999392795,1.0439031374584153
"test_can_persist_fitted[KNNImputer()]","0.1559758450021036","0.1627859479922335",0.006810102990129907,1.043661266845761
"test_can_persist_fitted[ColumnTransformer(transformers=[('norm1',Normalizer(norm='l1'),[0]),('norm2',Normalizer(norm='l1'),[1,2]),('norm3',Normalizer(norm='l1'),[True,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False]),('norm4',Normalizer(norm='l1'),array([1,2])),('norm5',Normalizer(norm='l1'),slice(None,3,None)),('norm6',Normalizer(norm='l1'),slice(-10,-3,2))])]","0.0029084190027788","0.0030230859993025",0.00011466699652370018,1.039425886165007
"test_can_persist_fitted[RegressorChain(base_estimator=Ridge())]","0.0012361900007817","0.0012826549937017",4.646499291999988e-05,1.0375872583426642
"test_can_persist_fitted[ElasticNetCV()]","0.0392434490058803","0.0406295399880036",0.001386090982123299,1.0353203150394759
"test_can_persist_fitted[SGDOneClassSVM()]","0.0011231740063522","0.0011595130054047",3.6338999052499925e-05,1.0323538461956756
"test_can_persist_fitted[CategoricalNB()]","0.0025532580038998","0.0026260879967594",7.282999285960004e-05,1.0285243374341178
"test_can_persist_fitted[RandomForestClassifier()]","0.0921416700002737","0.0944151160074397",0.0022734460071659884,1.0246733753269204
"test_can_persist_fitted[KNeighborsRegressor(algorithm='ball_tree')]","0.0005623739998554","0.00057624198962",1.3867989764600012e-05,1.0246597278113245
"test_can_persist_fitted[GridSearchCV(estimator=LogisticRegression(random_state=0,solver='liblinear'),param_grid={'C':[1,2,3,4,5]})]","0.03257500899781","0.0333471889898646",0.000772179992054603,1.023704674712646
"test_can_persist_fitted[SelectFpr()]","0.0012472069938667","0.0012763069971697",2.910000330300002e-05,1.0233321360817436
"test_can_persist_fitted[PLSRegression(n_components=1)]","0.0008168109925463","0.0008356059988727",1.879500632639996e-05,1.023010226965493
"test_can_persist_fitted[TheilSenRegressor()]","0.627523786999518","0.6413168939907337",0.013793106991215609,1.0219802137814837
"test_can_persist_fitted[TruncatedSVD(n_components=1)]","0.0022353439999278","0.0022775029938202",4.2158993892399844e-05,1.0188601816515765
"test_can_persist_fitted[MLPClassifier()]","0.0623257219995139","0.0634916169947246",0.0011658949952106923,1.018706481975769
"test_can_persist_fitted[MaxAbsScaler()]","0.0007455649902112","0.0007583139959024",1.2749005691199949e-05,1.0170997912436694
"test_can_persist_fitted[MultiTaskElasticNetCV()]","0.0171599489985965","0.0174205939983949",0.00026064499979840117,1.0151891476961685
"test_can_persist_fitted[FunctionTransformer(func=<ufunc'sqrt'>,inverse_func=<ufunc'square'>)]","0.0007868840039009","0.0007969470025273",1.0062998626400024e-05,1.012788414272642
"test_can_persist_fitted[OrthogonalMatchingPursuitCV()]","0.0035778960009338","0.0036197010049363",4.180500400249995e-05,1.0116842423568457
"test_can_persist_fitted[CountVectorizer()]","0.0009604619990568","0.0009688299905974",8.36799154060007e-06,1.0087124649895756
"test_can_persist_fitted[KNeighborsTransformer()]","0.000647385008051","0.0006524830096168",5.098001565800045e-06,1.0078747599996916
"test_can_persist_fitted[PolynomialFeatures()]","0.0009139189933193","0.0009180089982692",4.090004949900078e-06,1.00447523793662
"test_can_persist_fitted[PassiveAggressiveClassifier()]","0.0012273150059627","0.0012305720010772",3.256995114500009e-06,1.002653756451014
"test_can_persist_fitted[ExtraTreesRegressor()]","0.0723351300111971","0.0724053549929522",7.02249817551015e-05,1.0009708281680594
"test_can_persist_fitted[LabelSpreading()]","0.0034299719991395","0.0034272470074938",-2.724991645699972e-06,0.9992055353086312
"test_can_persist_fitted[SparseRandomProjection(n_components=1)]","0.0010185150022152","0.0010163560073124",-2.1589949028000526e-06,0.9978802522318234
"test_can_persist_fitted[LassoLarsIC()]","0.003475163000985","0.0034607590059749",-1.4403995010099993e-05,0.9958551598857327
"test_can_persist_fitted[OrthogonalMatchingPursuit()]","0.000884089997271","0.0008785029931459",-5.587004125099933e-06,0.9936805029551903
"test_can_persist_fitted[SelectFromModel(estimator=SGDRegressor(random_state=0))]","0.0013246059970697","0.0013142800016794",-1.0325995390299963e-05,0.9922044778499092
"test_can_persist_fitted[MultiLabelBinarizer()]","0.0006304230046225","0.0006242560048121",-6.166999810399993e-06,0.9902176796132419
"test_can_persist_fitted[StandardScaler()]","0.0008629170042695","0.0008531649946235",-9.752009645999952e-06,0.9886987860967515
"test_can_persist_fitted[SelectKBest()]","0.001191697010654","0.0011690020037349",-2.2695006919100152e-05,0.9809557238826627
"test_can_persist_fitted[BaggingClassifier()]","0.013520027991035","0.0131783289980376",-0.00034169899299739924,0.9747264581682836
"test_can_persist_fitted[MultiTaskLasso()]","0.0009197390027111","0.0008949609909905",-2.4778011720600008e-05,0.9730597358081344
"test_can_persist_fitted[ElasticNet()]","0.0009588749962858","0.0009323559934273",-2.6519002858500025e-05,0.9723436287720284
"test_can_persist_fitted[GradientBoostingRegressor()]","0.0507029959990177","0.0491985010012285",-0.0015044949977892005,0.9703272958896089
"test_can_persist_fitted[Perceptron()]","0.0013301419967319","0.0012839510018238",-4.619099490810012e-05,0.9652736361820097
"test_can_persist_fitted[SelectFdr()]","0.0012765760038746","0.0012155559961684",-6.10200077062e-05,0.9522002548058282
"test_can_persist_fitted[MultiOutputRegressor(estimator=Ridge())]","0.0010373830009484","0.0009802540007513",-5.7129000197100096e-05,0.9449296931366029
"test_can_persist_fitted[PatchExtractor(patch_size=(3,3))]","0.0252411669935099","0.0238435880019096",-0.0013975789916003019,0.9446309676585218
"test_can_persist_fitted[RadiusNeighborsRegressor()]","0.0006319329986581","0.0005849159933859",-4.7017005272199995e-05,0.9255981166167301
"test_can_persist_fitted[DecisionTreeClassifier()]","0.0020924089913023","0.0019315929966978",-0.0001608159946044998,0.9231431353655152
"test_can_persist_fitted[KNeighborsClassifier()]","0.0010117110068676","0.0009287019929615",-8.30090139061e-05,0.9179518525125988
"test_can_persist_fitted[DummyRegressor()]","0.0004487870028242","0.0004042410000693",-4.4546002754900004e-05,0.9007413261200221
"test_can_persist_fitted[LabelPropagation()]","0.0034579390048747","0.0031091869896044",-0.00034875201527030013,0.8991445439671839
"test_can_persist_fitted[AgglomerativeClustering()]","0.0040330769988941","0.0034665849962038",-0.0005664920026903003,0.8595385104609615
"test_can_persist_fitted[PassiveAggressiveRegressor()]","0.0009137890010606","0.0007824159984011",-0.00013137300265949996,0.8562326724145067
"test_can_persist_fitted[ExtraTreeRegressor()]","0.0013952790031908","0.0010076239996124",-0.00038765500357839993,0.722166675846272
"test_can_persist_fitted[TransformedTargetRegressor()]","0.0022386700002243","0.0015261009975802",-0.0007125690026441001,0.6816998474215916
"test_can_persist_fitted[MDS(n_components=1)]","0.0108395830029621","0.0067648569965967",-0.004074726006365399,0.6240883062335597
"test_can_persist_fitted[PolynomialCountSketch(n_components=1)]","0.0022807060013292","0.0012844319862779",-0.0009962740150513002,0.5631729760562433
"test_can_persist_fitted[SelectFwe()]","0.0018083500035572","0.0009522119944449",-0.0008561380091122999,0.5265639906941724
"test_can_persist_fitted[SparseCoder(dictionary=array([[-2.,-1.,2.,0.,2.,-2.,1.,-2.,0.,0.,-1.,0.,2.,-2.,1.,0.,2.,1.,0.,-2.],[2.,1.,-2.,1.,1.,0.,-2.,-2.,0.,1.,-2.,2.,0.,-2.,1.,-1.,0.,1.,0.,-1.],[1.,0.,-1.,0.,-2.,1.,-2.,1.,1.,-2.,1.,-2.,0.,1.,-1.,1.,-2.,2.,-1.,1.],[1.,-1.,-1.,0.,-2.,1.,-2.,2.,0.,0.,-2.,0.,0.,-1.,2.,2.,-2.,-1.,-2.,1.],[0.,1.,2.,-2.,-2.,-1.,2.,-1.,-2.,-2.,0.,1.,2.,0.,0.,2.,-1.,2.,-1.,1.]]),transform_algorithm='lasso_lars')]","0.0005894329951843","","",""
"test_can_persist_fitted[SparseCoder(dictionary=array([[2.,-1.,0.,1.,-2.,-1.,-2.,2.,-2.,2.,2.,2.,1.,0.,2.,2.,-1.,2.,0.,2.],[-2.,-1.,0.,-2.,-1.,2.,0.,-1.,1.,-1.,0.,-2.,-2.,-1.,0.,2.,-2.,-1.,0.,1.],[-1.,-1.,-1.,2.,0.,1.,1.,2.,-2.,-1.,2.,1.,1.,1.,-1.,0.,-1.,0.,0.,2.],[1.,1.,2.,0.,-2.,0.,2.,1.,-1.,-2.,1.,1.,-1.,2.,0.,-1.,0.,-1.,-2.,0.],[2.,-2.,0.,2.,0.,1.,-2.,2.,-1.,-1.,0.,-1.,-1.,0.,-1.,-1.,-1.,2.,-1.,-1.]]),transform_algorithm='lasso_lars')]","","0.000741170006222","",""
I have a Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
with hyperthreading enabled.
Environment details:
$ mmamba list
List of packages in environment: "/home/adrin/miniforge3/envs/skops"
Name Version Build Channel
────────────────────────────────────────────────────────────────────────────────
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
_py-xgboost-mutex 2.0 cpu_0 conda-forge
alabaster 0.7.12 py_0 conda-forge
argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge
argon2-cffi-bindings 21.2.0 py310h5764c6d_2 conda-forge
asttokens 2.0.8 pyhd8ed1ab_0 conda-forge
attrs 22.1.0 pyh71513ae_1 conda-forge
babel 2.10.3 pyhd8ed1ab_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge
beautifulsoup4 4.11.1 pyha770c72_0 conda-forge
binutils 2.36.1 hdd6e379_2 conda-forge
binutils_impl_linux-64 2.36.1 h193b22a_2 conda-forge
binutils_linux-64 2.36 hf3e587d_10 conda-forge
black 22.8.0 py310hff52083_0 conda-forge
bleach 5.0.1 pyhd8ed1ab_0 conda-forge
brotli 1.0.9 h166bdaf_7 conda-forge
brotli-bin 1.0.9 h166bdaf_7 conda-forge
brotlipy 0.7.0 py310h5764c6d_1004 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-compiler 1.5.2 h0b41bf4_0 conda-forge
ca-certificates 2022.12.7 ha878542_0 conda-forge
certifi 2022.12.7 pyhd8ed1ab_0 conda-forge
cffi 1.15.1 py310h255011f_0 conda-forge
cfgv 3.3.1 pyhd8ed1ab_0 conda-forge
charset-normalizer 2.1.1 pyhd8ed1ab_0 conda-forge
click 8.1.3 py310hff52083_0 conda-forge
cmarkgfm 0.8.0 py310h5764c6d_1 conda-forge
colorama 0.4.5 pyhd8ed1ab_0 conda-forge
commonmark 0.9.1 py_0 conda-forge
compilers 1.5.2 ha770c72_0 conda-forge
contourpy 1.0.5 py310hbf28c38_0 conda-forge
cryptography 38.0.4 py310h600f1e7_0 conda-forge
cxx-compiler 1.5.2 hf52228f_0 conda-forge
cycler 0.11.0 pyhd8ed1ab_0 conda-forge
cython 0.29.33 py310heca2aa9_0 conda-forge
daal4py 2023.0.2 py310hd3e5ea5_0 conda-forge
dal 2023.0.1 ha770c72_26648 conda-forge
dataclasses 0.8 pyhc8e2a94_3 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
debugpy 1.6.3 py310hd8f1fbe_0 conda-forge
decorator 5.1.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
distlib 0.3.5 pyhd8ed1ab_0 conda-forge
docutils 0.19 py310hff52083_0 conda-forge
entrypoints 0.4 pyhd8ed1ab_0 conda-forge
execnet 1.9.0 pyhd8ed1ab_0 conda-forge
executing 1.1.0 pyhd8ed1ab_0 conda-forge
expat 2.4.9 h27087fc_0 conda-forge
filelock 3.8.0 pyhd8ed1ab_0 conda-forge
flaky 3.7.0 pyh9f0ad1d_0 conda-forge
flit-core 3.7.1 pyhd8ed1ab_0 conda-forge
fonttools 4.37.3 py310h5764c6d_0 conda-forge
fortran-compiler 1.5.2 hdb1a99f_0 conda-forge
freetype 2.12.1 hca18f0e_0 conda-forge
future 0.18.2 py310hff52083_5 conda-forge
gcc 11.3.0 h02d0930_11 conda-forge
gcc_impl_linux-64 11.3.0 haf7caf2_17 conda-forge
gcc_linux-64 11.3.0 he6f903b_10 conda-forge
gettext 0.19.8.1 h27087fc_1009 conda-forge
gfortran 11.3.0 ha859ce3_11 conda-forge
gfortran_impl_linux-64 11.3.0 he34c6f7_19 conda-forge
gfortran_linux-64 11.3.0 h3c55166_10 conda-forge
giflib 5.2.1 h36c2ea0_2 conda-forge
gxx 11.3.0 h02d0930_11 conda-forge
gxx_impl_linux-64 11.3.0 haf7caf2_17 conda-forge
gxx_linux-64 11.3.0 hc203a17_10 conda-forge
huggingface_hub 0.12.1 pyhd8ed1ab_0 conda-forge
icu 70.1 h27087fc_0 conda-forge
identify 2.5.5 pyhd8ed1ab_0 conda-forge
idna 3.4 pyhd8ed1ab_0 conda-forge
imagesize 1.4.1 pyhd8ed1ab_0 conda-forge
importlib-metadata 4.11.4 py310hff52083_0 conda-forge
importlib_metadata 4.11.4 hd8ed1ab_0 conda-forge
importlib_resources 5.9.0 pyhd8ed1ab_0 conda-forge
iniconfig 1.1.1 pyh9f0ad1d_0 conda-forge
ipykernel 6.16.0 pyh210e3f2_0 conda-forge
ipython 8.5.0 pyh41d4057_1 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
ipywidgets 8.0.2 pyhd8ed1ab_1 conda-forge
jaraco.classes 3.2.2 pyhd8ed1ab_0 conda-forge
jbig 2.1 h7f98852_2003 conda-forge
jedi 0.18.1 pyhd8ed1ab_2 conda-forge
jeepney 0.8.0 pyhd8ed1ab_0 conda-forge
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
joblib 1.2.0 pyhd8ed1ab_0 conda-forge
jpeg 9e h166bdaf_2 conda-forge
jsonschema 4.16.0 pyhd8ed1ab_0 conda-forge
jupyter_client 7.3.5 pyhd8ed1ab_0 conda-forge
jupyter_core 4.11.1 py310hff52083_0 conda-forge
jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge
jupyterlab_widgets 3.0.3 pyhd8ed1ab_0 conda-forge
kernel-headers_linux-64 2.6.32 he073ed8_15 conda-forge
keyring 23.9.3 py310hff52083_0 conda-forge
kiwisolver 1.4.4 py310hbf28c38_0 conda-forge
lcms2 2.12 hddcbb42_0 conda-forge
ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libblas 3.9.0 16_linux64_openblas conda-forge
libbrotlicommon 1.0.9 h166bdaf_7 conda-forge
libbrotlidec 1.0.9 h166bdaf_7 conda-forge
libbrotlienc 1.0.9 h166bdaf_7 conda-forge
libcblas 3.9.0 16_linux64_openblas conda-forge
libdeflate 1.14 h166bdaf_0 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libgcc-devel_linux-64 11.3.0 h16e4278_17 conda-forge
libgcc-ng 12.1.0 h8d9b700_16 conda-forge
libgfortran-ng 12.1.0 h69a702a_16 conda-forge
libgfortran5 12.1.0 hdcd56e2_16 conda-forge
libglib 2.74.0 h7a41b64_0 conda-forge
libgomp 12.1.0 h8d9b700_16 conda-forge
libhwloc 2.8.0 h32351e8_1 conda-forge
libiconv 1.17 h166bdaf_0 conda-forge
liblapack 3.9.0 16_linux64_openblas conda-forge
libnsl 2.0.0 h7f98852_0 conda-forge
libopenblas 0.3.21 pthreads_h78a6416_3 conda-forge
libpng 1.6.38 h753d276_0 conda-forge
libsanitizer 11.3.0 hd8f1017_17 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libsqlite 3.39.3 h753d276_0 conda-forge
libstdcxx-devel_linux-64 11.3.0 h16e4278_17 conda-forge
libstdcxx-ng 12.1.0 ha89aaad_16 conda-forge
libtiff 4.4.0 h55922b4_4 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp 1.2.4 h522a892_0 conda-forge
libwebp-base 1.2.4 h166bdaf_0 conda-forge
libxcb 1.13 h7f98852_1004 conda-forge
libxgboost 1.7.1 cpu_ha3b9936_0 conda-forge
libxml2 2.10.2 h4c7fe37_1 conda-forge
libxslt 1.1.35 h8affb1d_0 conda-forge
libzlib 1.2.12 h166bdaf_3 conda-forge
lxml 4.9.1 py310h5764c6d_0 conda-forge
lz4-c 1.9.3 h9c3ff4c_1 conda-forge
markupsafe 2.1.1 py310h5764c6d_1 conda-forge
matplotlib-base 3.6.0 py310h8d5ebf3_0 conda-forge
matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge
mistune 2.0.4 pyhd8ed1ab_0 conda-forge
more-itertools 8.14.0 pyhd8ed1ab_0 conda-forge
mpi 1.0 mpich conda-forge
mpich 4.0.3 h846660c_100 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
mypy_extensions 0.4.3 py310hff52083_5 conda-forge
nbclient 0.6.8 pyhd8ed1ab_0 conda-forge
nbconvert 7.0.0 pyhd8ed1ab_0 conda-forge
nbconvert-core 7.0.0 pyhd8ed1ab_0 conda-forge
nbconvert-pandoc 7.0.0 pyhd8ed1ab_0 conda-forge
nbformat 5.6.1 pyhd8ed1ab_0 conda-forge
ncurses 6.3 h27087fc_1 conda-forge
nest-asyncio 1.5.5 pyhd8ed1ab_0 conda-forge
nodeenv 1.7.0 pyhd8ed1ab_0 conda-forge
notebook 6.4.12 pyha770c72_0 conda-forge
numpy 1.23.3 py310h53a5b5f_0 conda-forge
numpydoc 1.4.0 pyhd8ed1ab_1 conda-forge
openjpeg 2.5.0 h7d73246_1 conda-forge
openssl 3.0.7 h0b41bf4_1 conda-forge
packaging 21.3 pyhd8ed1ab_0 conda-forge
pandas 1.5.0 py310h769672d_0 conda-forge
pandoc 2.19.2 ha770c72_0 conda-forge
pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge
parso 0.8.3 pyhd8ed1ab_0 conda-forge
pathspec 0.10.1 pyhd8ed1ab_0 conda-forge
pcre 8.45 h9c3ff4c_0 conda-forge
pcre2 10.37 hc3806b6_1 conda-forge
pexpect 4.8.0 pyh9f0ad1d_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 9.2.0 py310hbd86126_2 conda-forge
pip 22.2.2 pyhd8ed1ab_0 conda-forge
pkginfo 1.8.3 pyhd8ed1ab_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge
platformdirs 2.5.2 pyhd8ed1ab_1 conda-forge
pluggy 1.0.0 py310hff52083_3 conda-forge
pre-commit 2.20.0 py310hff52083_0 conda-forge
prometheus_client 0.14.1 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.31 pyha770c72_0 conda-forge
psutil 5.9.2 py310h5764c6d_0 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge
py 1.11.0 pyh6c4a22f_0 conda-forge
py-xgboost 1.7.1 cpu_py310hd1aba9c_0 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pygments 2.13.0 pyhd8ed1ab_0 conda-forge
pyopenssl 22.0.0 pyhd8ed1ab_1 conda-forge
pyparsing 3.0.9 pyhd8ed1ab_0 conda-forge
pyrsistent 0.18.1 py310h5764c6d_1 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
pytest 7.1.3 py310hff52083_0 conda-forge
pytest-forked 1.4.0 pyhd8ed1ab_0 conda-forge
pytest-xdist 2.5.0 pyhd8ed1ab_0 conda-forge
python 3.10.6 ha86cf86_0_cpython conda-forge
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-fastjsonschema 2.16.2 pyhd8ed1ab_0 conda-forge
python_abi 3.10 2_cp310 conda-forge
pytz 2022.2.1 pyhd8ed1ab_0 conda-forge
pyyaml 6.0 py310h5764c6d_4 conda-forge
pyzmq 24.0.1 py310h330234f_0 conda-forge
readline 8.1.2 h0f457ee_0 conda-forge
readme_renderer 37.2 pyhd8ed1ab_0 conda-forge
requests 2.28.1 pyhd8ed1ab_1 conda-forge
requests-toolbelt 0.9.1 py_0 conda-forge
rfc3986 2.0.0 pyhd8ed1ab_0 conda-forge
rich 12.5.1 pyhd8ed1ab_0 conda-forge
scikit-learn 1.1.2 py310h0c3af53_0 conda-forge
scikit-learn-intelex 2023.0.2 py310hff52083_0 conda-forge
scipy 1.9.1 py310hdfbd76f_0 conda-forge
secretstorage 3.3.3 py310hff52083_0 conda-forge
send2trash 1.8.0 pyhd8ed1ab_0 conda-forge
setuptools 65.4.0 pyhd8ed1ab_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge
soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge
sphinx 5.2.2 pyhd8ed1ab_0 conda-forge
sphinx-gallery 0.11.1 pyhd8ed1ab_0 conda-forge
sphinxcontrib-applehelp 1.0.2 py_0 conda-forge
sphinxcontrib-devhelp 1.0.2 py_0 conda-forge
sphinxcontrib-htmlhelp 2.0.0 pyhd8ed1ab_0 conda-forge
sphinxcontrib-jsmath 1.0.1 py_0 conda-forge
sphinxcontrib-qthelp 1.0.3 py_0 conda-forge
sphinxcontrib-serializinghtml 1.1.5 pyhd8ed1ab_2 conda-forge
sqlite 3.39.3 h4ff8645_0 conda-forge
stack_data 0.5.1 pyhd8ed1ab_0 conda-forge
sysroot_linux-64 2.12 he073ed8_15 conda-forge
tbb 2021.7.0 h924138e_1 conda-forge
terminado 0.16.0 pyh41d4057_0 conda-forge
threadpoolctl 3.1.0 pyh8a188c0_0 conda-forge
tinycss2 1.1.1 pyhd8ed1ab_0 conda-forge
tk 8.6.12 h27826a3_0 conda-forge
toml 0.10.2 pyhd8ed1ab_0 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
tornado 6.2 py310h5764c6d_0 conda-forge
tqdm 4.64.1 pyhd8ed1ab_0 conda-forge
traitlets 5.4.0 pyhd8ed1ab_0 conda-forge
twine 4.0.1 pyhd8ed1ab_1 conda-forge
typed-ast 1.5.4 py310h5764c6d_0 conda-forge
typing-extensions 4.3.0 hd8ed1ab_0 conda-forge
typing_extensions 4.3.0 pyha770c72_0 conda-forge
tzdata 2022d h191b570_0 conda-forge
ukkonen 1.0.1 py310hbf28c38_2 conda-forge
unicodedata2 14.0.0 py310h5764c6d_1 conda-forge
urllib3 1.26.11 pyhd8ed1ab_0 conda-forge
virtualenv 20.16.5 py310hff52083_0 conda-forge
wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge
webencodings 0.5.1 py_1 conda-forge
wheel 0.37.1 pyhd8ed1ab_0 conda-forge
widgetsnbextension 4.0.3 pyhd8ed1ab_0 conda-forge
xgboost 1.7.1 cpu_py310hd1aba9c_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yaml 0.2.5 h7f98852_2 conda-forge
zeromq 4.3.4 h9c3ff4c_1 conda-forge
zipp 3.8.1 pyhd8ed1ab_0 conda-forge
zlib 1.2.12 h166bdaf_3 conda-forge
zstd 1.5.2 h6239696_4 conda-forge