§
    rŠtjË" ã            	      ól  — d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZ ddlmZ ddlmZmZ dd	lmZmZ ddlZddlZdd
lmZ ddlmZ ddlmZ ddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@ ddlAmBZBmCZCmDZD ddlEmFZFmGZGmHZH ddlImJZJ ddlKmLZL ddlMmNZNmOZO ddlPmQZQmRZR ddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZ ddlSm[Z\ ddl]m^Z^ ddl_m`Z`maZambZbmcZcmdZdmeZe ddlfmgZgmhZhmiZimjZjmkZkmlZl ddlmmnZnmoZompZp ddlqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z} ddl~mZm€Z€m�Z� da‚d „ Zƒd!„ Z„d"„ Z…d#„ Z†d$„ Z‡d%„ Zˆd&„ Z‰d'„ ZŠdÇd)„Z‹dÈd,„ZŒd-„ Z�	 	 	 	 dÉdÊd4„ZŽ	 dËdÌd7„Z�d8dddd9œdÍd:„Z�d8ddd;œdÎd=„Z‘ eed>ge’dg ebd?h¦  «        dg ebd@d?h¦  «        dge“dgdAœd(¬B¦  «        	 dËd8dd?d@ddAœdÏdH„¦   «         Z”dI„ Z• G dJ„ dK¦  «        Z–dL„ Z—dM„ Z˜ e{e™¬N¦  «        dO„ ¦   «         Zš	 	 	 	 dÐdP„Z›	 	 	 	 	 dÑdQ„Zœ	 	 	 dÒdS„Z�	 	 	 dÓdT„Zž	 dËdU„ZŸdV„ Z dW„ Z¡dX„ Z¢dY„ Z£dZ„ Z¤ e{e™¬N¦  «        d[„ ¦   «         Z¥ e{e™¬N¦  «        d\„ ¦   «         Z¦ e{e™¬N¦  «        d]„ ¦   «         Z§ e{e™¬N¦  «        d^„ ¦   «         Z¨ e{e™¬N¦  «        d_„ ¦   «         Z© e{e™¬N¦  «        d`„ ¦   «         Zªda„ Z«db„ Z¬dc„ Z­ e{e™e®f¬N¦  «        dd„ ¦   «         Z¯de„ Z°e{df„ ¦   «         Z±dg„ Z² e{e™¬N¦  «        dh„ ¦   «         Z³ e{e™¬N¦  «        di„ ¦   «         Z´dj„ Zµ e{e™¬N¦  «        dk„ ¦   «         Z¶ e{e™¬N¦  «        dl„ ¦   «         Z·e{dm„ ¦   «         Z¸e{dn„ ¦   «         Z¹e{do„ ¦   «         Zº e{e™¬N¦  «        dÇdp„¦   «         Z» e{e™¬N¦  «        dq„ ¦   «         Z¼ e{e™¬N¦  «        dr„ ¦   «         Z½ e{e™¬N¦  «        ds„ ¦   «         Z¾dt„ Z¿e{du„ ¦   «         ZÀe{dv„ ¦   «         ZÁe{dw„ ¦   «         ZÂe{dx„ ¦   «         ZÃdy„ ZÄ e{e™¬N¦  «        dz„ ¦   «         ZÅ e{e™¬N¦  «        d{„ ¦   «         ZÆe{d|„ ¦   «         ZÇe{dÇd}„¦   «         ZÈ e{e™¬N¦  «        d~„ ¦   «         ZÉ e{e™¬N¦  «        d„ ¦   «         ZÊ e{e™¬N¦  «        d€„ ¦   «         ZË e{e™¬N¦  «        dÇd�„¦   «         ZÌ e{e™¬N¦  «        d‚„ ¦   «         ZÍ e{e™¬N¦  «        dƒ„ ¦   «         ZÎ e{e™¬N¦  «        d„„ ¦   «         ZÏe{	 dÔd…„¦   «         ZÐd†„ ZÑdÕd‡„ZÒdˆ„ ZÓ e{e™¬N¦  «        d‰„ ¦   «         ZÔ e{e™¬N¦  «        dŠ„ ¦   «         ZÕ e{e™¬N¦  «        d‹„ ¦   «         ZÖ e{e™¬N¦  «        dŒ„ ¦   «         Z× e{e™¬N¦  «        d�„ ¦   «         ZØ e{e™¬N¦  «        dŽ„ ¦   «         ZÙ e{e™¬N¦  «        d�„ ¦   «         ZÚe{d�„ ¦   «         ZÛ e{e™¬N¦  «        d‘„ ¦   «         ZÜe{d’„ ¦   «         ZÝd“„ ZÞd”„ Zß e{e™¬N¦  «        d•„ ¦   «         Zà e{e™¬N¦  «        d(ejá        fd–„¦   «         Zâe{d—„ ¦   «         Zã e{e™¬N¦  «        d˜„ ¦   «         Zä e{e™¬N¦  «        d™„ ¦   «         Zå e{e™¬N¦  «        dš„ ¦   «         Zæ e{e™¬N¦  «        d›„ ¦   «         Zç e{e™¬N¦  «        dœ„ ¦   «         Zè e{e™¬N¦  «        d�„ ¦   «         Zé e{e™¬N¦  «        dž„ ¦   «         Zê e{e™¬N¦  «        dŸ„ ¦   «         Zë e{e™¬N¦  «        d „ ¦   «         Zìd¡„ Zíd¢„ Zîd£„ Zïd¤„ ZðdeBfd¥„Zñ e{e™¬N¦  «        d¦„ ¦   «         Zò e{e™¬N¦  «        d§„ ¦   «         Zó e{e™¬N¦  «        d¨„ ¦   «         Zô e{e™¬N¦  «        d©„ ¦   «         Zõ e{e™¬N¦  «        dª„ ¦   «         Zö e{e™¬N¦  «        d«„ ¦   «         Z÷ e{e™¬N¦  «        d¬„ ¦   «         Zød­„ Zùd®„ Zúd¯„ Zûd°„ Züd±„ Zýd²„ Zþ e{e™¬N¦  «        d³„ ¦   «         Zÿd´„ �Z dµ„ �Zd¶„ �Zd·„ �Zd¸„ �Zd¹„ �Zdº„ �Zd»„ �Zd¼„ �Zd½„ �Z	d¾„ �Z
d¿„ �ZdÀ„ �ZdÁ„ �ZdÂ„ �ZdÃ„ �Z e{e™¬N¦  «        dÄ„ ¦   «         �ZdÅ„ �ZdÆ„ �ZdS )ÖzQVarious utilities to check the compatibility of estimators with scikit-learn API.é    )ÚannotationsN)Únullcontext)Údeepcopy)ÚpartialÚwraps)Ú	signature)ÚIntegralÚReal)ÚCallableÚLiteral)Úsparse)Úrankdata)Úconfig_context)ÚBaseEstimatorÚBiclusterMixinÚClassifierMixinÚClassNamePrefixFeaturesOutMixinÚClusterMixinÚDensityMixinÚMetaEstimatorMixinÚMultiOutputMixinÚOneToOneFeatureMixinÚOutlierMixinÚRegressorMixinÚTransformerMixinÚcloneÚis_classifierÚis_outlier_detectorÚis_regressor)Ú	load_irisÚ
make_blobsÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚDataConversionWarningÚEstimatorCheckFailedWarningÚNotFittedErrorÚSkipTestWarning)ÚLinearClassifierMixin)Úaccuracy_scoreÚadjusted_rand_scoreÚf1_score)Úlinear_kernelÚpairwise_distancesÚ
rbf_kernel)ÚLeaveOneGroupOutÚShuffleSplitÚtrain_test_split)Ú_safe_split)Úmake_pipeline)ÚStandardScalerÚscale)Ú_safe_indexingÚshuffle)ÚNamespaceAndDeviceÚ_atol_for_typeÚ_max_precision_float_dtypeÚget_namespaceÚmove_toÚ(yield_mixed_namespace_input_permutationsÚ)yield_namespace_device_dtype_combinations©Údevice)Úis_scalar_nan)ÚIntervalÚInvalidParameterErrorÚ
StrOptionsÚgenerate_invalid_param_valÚmake_constraintÚvalidate_params)ÚClassifierTagsÚ	InputTagsÚRegressorTagsÚ
TargetTagsÚTransformerTagsÚget_tags)ÚCROSS_DECOMPOSITIONÚ_get_check_estimator_idsÚ_yield_instances_for_check)ÚSkipTestÚ_array_api_for_testsÚ	_get_argsÚassert_allcloseÚassert_allclose_dense_sparseÚassert_array_almost_equalÚassert_array_equalÚassert_array_lessÚcreate_memmap_backed_dataÚignore_warningsÚraisesÚset_random_state)Ú_num_samplesÚcheck_is_fittedÚhas_fit_parameterc                óà   — t          | ¦  «        }|j                             dd¦  «        }t          ||¦  «        €3t	          d| j        j        › d|› d|› d|j        › d|j        › d�¦  «        ‚d S )	NÚMixinÚ ú
Estimator z seems to be a z, but the `zB` tag is not set. Either set the tag manually or inherit from the z2. Note that the order of inheritance matters, the z" should come before BaseEstimator.)rN   Ú__name__ÚreplaceÚgetattrÚRuntimeErrorÚ	__class__)Ú	estimatorÚtag_namerb   ÚtagsÚestimator_types        ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/utils/estimator_checks.pyÚ_raise_for_missing_tagsro   r   s±   € Ý�IÑÔ€DØ”^×+Ò+¨G°RÑ8Ô8€NÝˆt�XÑÔÐ&ÝðP˜Ô,Ô5ð Pð PÀnð Pð PØ!ðPð Pà$)¤NðPð Pð #œ^ðPð Pð Pñ
ô 
ð 	
ð 'Ð&ó    c              #  ó®  K  — t          | t          ¦  «        s)t          j        d| j        j        › d�t          ¬¦  «         t          | ¦  «        }t          V — t          V — t          V — t          V — t          V — t          V — t          V — t          V — t           V — |j        r	t$          V — t&          V — t(          V — t*          V — t,          V — d S )Nrd   z‚ does not inherit from `sklearn.base.BaseEstimator`. This might lead to unexpected behavior, or even errors when collecting tests.©Úcategory)Ú
isinstancer   ÚwarningsÚwarnri   re   ÚUserWarningrN   Úcheck_estimator_tags_renamedÚcheck_valid_tag_typesÚcheck_estimator_reprÚcheck_no_attributes_set_in_initÚcheck_fit_score_takes_yÚ!check_estimators_overwrite_paramsÚcheck_dont_overwrite_parametersÚ!check_estimators_fit_returns_selfÚcheck_readonly_memmap_inputÚrequires_fitÚcheck_estimators_unfittedÚ/check_do_not_raise_errors_in_init_or_set_paramsÚ!check_n_features_in_after_fittingÚcheck_mixin_orderÚ"check_positive_only_tag_during_fit)rj   rl   s     rn   Ú_yield_api_checksr‡   ~   s  è è € Ý�i¥Ñ/Ô/ð 
ÝŒð2˜Ô,Ô5ð 2ð 2ð 2õ !ð		
ñ 	
ô 	
ð 	
õ �IÑÔ€Dõ 'Ð&Ð&Ð&Ý
ÐÐÐÝ
ÐÐÐÝ
)Ð)Ð)Ð)Ý
!Ð!Ð!Ð!Ý
+Ð+Ð+Ð+Ý
)Ð)Ð)Ð)Ý
+Ð+Ð+Ð+Ý
%Ð%Ð%Ð%ØÔð (Ý'Ð'Ð'Ð'Ý
9Ð9Ð9Ð9Ý
+Ð+Ð+Ð+Ý
ÐÐÐÝ
,Ð,Ð,Ð,Ð,Ð,rp   c              #  óô  K  — | j         j        }t          | ¦  «        }t          V — t	          | d¦  «        r`t
          V — t          V — t          V — t          V — |j	        j
        s0t          V — t          V — t          V — |j	        j        r	t          V — |j        st"          V — t$          V — t&          V — |t(          vr	t*          V — |j	        j        s|j        s	t.          V — |j	        j
        r	t0          V — t3          | d¦  «        r	t4          V — t6          V — t8          V — t:          V — t<          V — t?          t<          d¬¦  «        V — tA          | |j!         ¬¦  «        D ]}|V — ŒtD          V — d S )NÚsample_weightÚsparsifyT©Úreadonly_memmap)Ú
only_numpy)#ri   re   rN   Úcheck_estimators_dtypesr`   Ú"check_sample_weights_pandas_seriesÚ!check_sample_weights_not_an_arrayÚcheck_sample_weights_listÚ#check_all_zero_sample_weights_errorÚ
input_tagsÚpairwiseÚcheck_sample_weights_shapeÚ$check_sample_weights_not_overwrittenÚ-check_sample_weight_equivalence_on_dense_datar   Ú.check_sample_weight_equivalence_on_sparse_dataÚno_validationÚcheck_complex_dataÚcheck_dtype_objectÚ$check_estimators_empty_data_messagesrO   Úcheck_pipeline_consistencyÚ	allow_nanÚcheck_estimators_nan_infÚcheck_nonsquare_errorÚhasattrÚcheck_sparsify_coefficientsÚcheck_estimator_sparse_tagÚcheck_estimator_sparse_arrayÚcheck_estimator_sparse_matrixÚcheck_estimators_pickler   Ú_yield_array_api_checksÚarray_api_supportÚ"check_f_contiguous_array_estimator)rj   Únamerl   Úchecks       rn   Ú_yield_checksr¬   ž   sñ  è è € ØÔÔ'€DÝ�IÑÔ€Då
!Ð!Ð!Ð!Ý˜ OÑ4Ô4ð EÝ0Ð0Ð0Ð0Ý/Ð/Ð/Ð/Ý'Ð'Ð'Ð'Ý1Ð1Ð1Ð1ØŒÔ'ð 	Eå,Ð,Ð,Ð,Ý6Ð6Ð6Ð6Ý?Ð?Ð?Ð?ØŒÔ%ð EÝDÐDÐDÐDð Ôð 3Ý Ð Ð Ð Ý Ð Ð Ð Ý2Ð2Ð2Ð2àÕ&Ð&Ð&å(Ð(Ð(Ð(àŒ?Ô$ð '¨TÔ-?ð 'å&Ð&Ð&Ð&à„Ôð $å#Ð#Ð#Ð#åˆy˜*Ñ%Ô%ð *Ý)Ð)Ð)Ð)å
$Ð$Ð$Ð$Ý
&Ð&Ð&Ð&Ý
'Ð'Ð'Ð'õ "Ð!Ð!Ð!Ý
Õ)¸4Ð
@Ñ
@Ô
@Ð@Ð@Ð@å(ØØÔ-Ð-ðñ ô ð ð ˆð ˆˆˆˆå
,Ð,Ð,Ð,Ð,Ð,rp   c              #  óH  K  — t          | dt          ¦  «         t          | ¦  «        }t          V — t          V — t
          V — t          V — t          V — |j        j	        r	t          V — t          V — t          t          d¬¦  «        V — t          t          dd¬¦  «        V — t          V — |j        j        r$t           V — t"          V — t$          V — t&          V — |j        st*          V — |j        j        r	t.          V — d|                      ¦   «                              ¦   «         v r	t4          V — t6          V — t8          V — t;          | t<          ¦  «        r1d|                      ¦   «                              ¦   «         v r	t>          V — |j        j         stB          V — d S d S )NÚclassifier_tagsTr‹   Úfloat32©rŒ   ÚX_dtypeÚclass_weight)"ro   r   rN   Ú"check_classifier_data_not_an_arrayÚcheck_classifiers_one_labelÚ*check_classifiers_one_label_sample_weightsÚcheck_classifiers_classesÚ'check_estimators_partial_fit_n_featuresÚtarget_tagsÚmulti_outputÚcheck_classifier_multioutputÚcheck_classifiers_trainr   Ú#check_classifiers_regression_targetr®   Úmulti_labelÚ6check_classifiers_multilabel_representation_invarianceÚ2check_classifiers_multilabel_output_format_predictÚ8check_classifiers_multilabel_output_format_predict_probaÚ<check_classifiers_multilabel_output_format_decision_functionr™   Úcheck_supervised_y_no_nanÚsingle_outputÚcheck_supervised_y_2dÚ
get_paramsÚkeysÚcheck_class_weight_classifiersÚ'check_non_transformer_estimators_n_iterÚ check_decision_proba_consistencyrt   r)   Ú-check_class_weight_balanced_linear_classifierÚmulti_classÚ*check_classifier_not_supporting_multiclass)Ú
classifierrl   s     rn   Ú_yield_classifier_checksrÎ   Ø   sñ  è è € Ý˜JÐ(9½?ÑKÔKÐKÝ�JÑÔ€Dõ -Ð,Ð,Ð,å
%Ð%Ð%Ð%Ý
4Ð4Ð4Ð4Ý
#Ð#Ð#Ð#Ý
1Ð1Ð1Ð1ØÔÔ$ð +Ý*Ð*Ð*Ð*å
!Ð!Ð!Ð!Ý
Õ)¸4Ð
@Ñ
@Ô
@Ð@Ð@Ð@Ý
Õ)¸4ÈÐ
SÑ
SÔ
SÐSÐSÐSÝ
-Ð-Ð-Ð-ØÔÔ'ð KÝDÐDÐDÐDÝ@Ð@Ð@Ð@ÝFÐFÐFÐFÝJÐJÐJÐJØÔð (Ý'Ð'Ð'Ð'ØÔÔ)ð 	(Ý'Ð'Ð'Ð'Ø˜×.Ò.Ñ0Ô0×5Ò5Ñ7Ô7Ð7Ð7Ý,Ð,Ð,Ð,å
1Ð1Ð1Ð1å
*Ð*Ð*Ð*õ 	�:Õ4Ñ5Ô5ð<à˜j×3Ò3Ñ5Ô5×:Ò:Ñ<Ô<Ð<Ð<å;Ð;Ð;Ð;àÔÔ+ð 9Ý8Ð8Ð8Ð8Ð8Ð8ð9ð 9rp   c              #  óº  K  — t          | dt          ¦  «         t          | ¦  «        }t          V — t	          t          d¬¦  «        V — t	          t          dd¬¦  «        V — t
          V — t          V — |j        j        r	t          V — t          V — |j        s|j        j        r	t          V — t          V — | j        j        }|dk    r	t"          V — t$          V — d S )NÚregressor_tagsTr‹   r¯   r°   ÚCCA)ro   r   rN   Úcheck_regressors_trainr   Ú!check_regressor_data_not_an_arrayr·   r¸   r¹   Úcheck_regressor_multioutputÚ%check_regressors_no_decision_functionr™   rÃ   rÄ   rÂ   ri   re   Úcheck_regressors_intrÈ   )Ú	regressorrl   rª   s      rn   Ú_yield_regressor_checksrØ     s
  è è € Ý˜IÐ'7½ÑHÔHÐHÝ�IÑÔ€Dõ !Ð Ð Ð Ý
Õ(¸$Ð
?Ñ
?Ô
?Ð?Ð?Ð?Ý
Õ(¸$È	Ð
RÑ
RÔ
RÐRÐRÐRÝ
+Ð+Ð+Ð+Ý
1Ð1Ð1Ð1ØÔÔ$ð *Ý)Ð)Ð)Ð)Ý
/Ð/Ð/Ð/ØÔð $ $Ô"2Ô"@ð $Ý#Ð#Ð#Ð#Ý
#Ð#Ð#Ð#ØÔÔ'€DØˆu‚}€}å"Ð"Ð"Ð"Ý
1Ð1Ð1Ð1Ð1Ð1rp   c              #  ól  K  — t          | dt          ¦  «         t          | ¦  «        }|j        s	t          V — t
          V — |j        j        r	t          V — t          t
          d¬¦  «        V — t          | ¦  «        j
        r
t          V — n	t          V — g d¢}| j        j        }||vrt          V — d S d S )NÚtransformer_tagsTr‹   )ÚIsomapÚ	KernelPCAÚLocallyLinearEmbeddingÚLogisticRegressionCVÚBisectingKMeans)ro   r   rN   r™   Ú#check_transformer_data_not_an_arrayÚcheck_transformer_generalrÚ   Úpreserves_dtypeÚ!check_transformer_preserve_dtypesr   r�   Úcheck_transformers_unfittedÚ%check_transformers_unfitted_statelessri   re   Úcheck_transformer_n_iter)Útransformerrl   Úexternal_solverrª   s       rn   Ú_yield_transformer_checksré     sñ   è è € Ý˜KÐ);Õ=MÑNÔNÐNÝ�KÑ Ô €Dð Ôð 2Ý1Ð1Ð1Ð1å
#Ð#Ð#Ð#ØÔÔ,ð 0Ý/Ð/Ð/Ð/Ý
Õ+¸TÐ
BÑ
BÔ
BÐBÐBÐBÝ�ÑÔÔ)ð 4Ý)Ð)Ð)Ð)Ð)å3Ð3Ð3Ð3ðð ð €Oð Ô Ô)€DØ�?Ð"Ð"Ý&Ð&Ð&Ð&Ð&Ð&ð #Ð"rp   c              #  óÆ   K  — t           V — | j        j        }|dvr*t          V — t	          t          d¬¦  «        V — t
          V — t          | d¦  «        st          V — d S d S )N)ÚWardAgglomerationÚFeatureAgglomerationTr‹   Ú	transform)Ú&check_clusterer_compute_labels_predictri   re   Úcheck_clusteringr   r·   r¡   rÈ   )Ú	clustererrª   s     rn   Ú_yield_clustering_checksrñ   ;  s‹   è è € Ý
0Ð0Ð0Ð0ØÔÔ'€DØÐ@Ð@Ð@õ ÐÐÐÝÕ&¸Ð=Ñ=Ô=Ð=Ð=Ð=Ý5Ð5Ð5Ð5Ý�9˜kÑ*Ô*ð 6Ý5Ð5Ð5Ð5Ð5Ð5ð6ð 6rp   c              #  óô   K  — t          | d¦  «        r	t          V — t          | d¦  «        r	t          V — t          | d¦  «        r*t          V — t	          t          d¬¦  «        V — t
          V — t          V — d S )NÚcontaminationÚfit_predictÚpredictTr‹   )r¡   Úcheck_outlier_contaminationÚcheck_outliers_fit_predictÚcheck_outliers_trainr   r³   rÈ   )rj   s    rn   Ú_yield_outliers_checksrù   H  sœ   è è € åˆy˜/Ñ*Ô*ð *Ý)Ð)Ð)Ð)õ ˆy˜-Ñ(Ô(ð )Ý(Ð(Ð(Ð(õ ˆy˜)Ñ$Ô$ð 1Ý"Ð"Ð"Ð"ÝÕ*¸DÐAÑAÔAÐAÐAÐAå0Ð0Ð0Ð0Ý
1Ð1Ð1Ð1Ð1Ð1rp   Fc              #  ó.  K  — |rt          t          dd¬¦  «        V — d S t          ¦   «         D ] \  }}}t          t          |||¬¦  «        V — Œ!t          ¦   «         D ]\  }}}t          t          ||¬¦  «        V — Œ t          t
          d¬¦  «        V — d S )NÚnumpyF)Úarray_namespaceÚexpect_only_array_outputs)rü   Údevice_nameÚ
dtype_name)Úother_ns_and_deviceÚX_ns_and_deviceÚarray_api_strict)rü   )r   Úcheck_array_api_inputr?   r>   Úcheck_array_api_mixed_inputsÚcheck_array_api_same_namespace)rj   r�   rü   rþ   rÿ   r   r  Ú_s           rn   r§   r§   Z  s  è è € àð -
õ Ý!Ø#Ø&+ð
ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
õ 7Ñ8Ô8ð	
	ð 
	ñ 
ØØØåÝ%Ø /Ø'Ø%ð	ñ ô ð ð ð ð õ 6Ñ7Ô7ð			ð 		ñ 
ØØØåÝ,Ø$7Ø /ðñ ô ð ð ð ð õ Ý*Ø.ð
ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
rp   ÚlegacyÚboolc              #  ól  K  — | j         j        }t          | ¦  «        }|j        j        s5t          j        d                     ||j        ¦  «        t          ¦  «         d S |j	        r/t          j        d                     |¦  «        t          ¦  «         d S t          | ¦  «        D ]}|V — Œ|sd S t          | ¦  «        D ]}|V — Œt          | ¦  «        rt          | ¦  «        D ]}|V — Œt          | ¦  «        rt          | ¦  «        D ]}|V — Œt!          | d¦  «        rt#          | ¦  «        D ]}|V — Œt%          | t&          ¦  «        rt)          | ¦  «        D ]}|V — Œt+          | ¦  «        rt-          | ¦  «        D ]}|V — Œt.          V — |j        st2          V — t4          V — t6          V — t8          V — t:          V — t<          V — t>          V — t@          V — tB          V — |j"        s0tF          V — tH          V — tJ          V — |j&        j'        r	tP          V — |j        j)        rtT          V — d S d S )Nz8Can't test estimator {} which requires input  of type {}z2Explicit SKIP via _skip_test tag for estimator {}.rí   )+ri   re   rN   r“   Útwo_d_arrayru   rv   Úformatr(   Ú
_skip_testr‡   r¬   r   rÎ   r   rØ   r¡   ré   rt   r   rñ   r   rù   Ú&check_parameters_default_constructibleÚnon_deterministicÚ%check_methods_sample_order_invarianceÚcheck_methods_subset_invarianceÚcheck_fit2d_1sampleÚcheck_fit2d_1featureÚcheck_get_params_invarianceÚcheck_set_paramsÚcheck_dict_unchangedÚcheck_fit_idempotentÚcheck_fit_check_is_fittedr™   Úcheck_n_features_inÚcheck_fit1dÚcheck_fit2d_predict1dr¸   ÚrequiredÚcheck_requires_y_noneÚpositive_onlyÚcheck_fit_non_negative)rj   r  rª   rl   r«   s        rn   Ú_yield_all_checksr  Œ  sâ  è è € ØÔÔ'€DÝ�IÑÔ€DØŒ?Ô&ð ÝŒØF×MÒMØ�d”oñô õ ñ		
ô 	
ð 	
ð 	ˆØ„ð ÝŒØ@×GÒGÈÑMÔMÝñ	
ô 	
ð 	
ð 	ˆå" 9Ñ-Ô-ð ð ˆØˆˆˆˆàð Øˆå˜yÑ)Ô)ð ð ˆØˆˆˆˆÝ�YÑÔð Ý-¨iÑ8Ô8ð 	ð 	ˆEØˆKˆKˆKˆKÝ�IÑÔð Ý,¨YÑ7Ô7ð 	ð 	ˆEØˆKˆKˆKˆKÝˆy˜+Ñ&Ô&ð Ý.¨yÑ9Ô9ð 	ð 	ˆEØˆKˆKˆKˆKÝ�)�\Ñ*Ô*ð Ý-¨iÑ8Ô8ð 	ð 	ˆEØˆKˆKˆKˆKÝ˜9Ñ%Ô%ð Ý+¨IÑ6Ô6ð 	ð 	ˆEØˆKˆKˆKˆKÝ
0Ð0Ð0Ð0ØÔ!ð .Ý3Ð3Ð3Ð3Ý-Ð-Ð-Ð-Ý
ÐÐÐÝ
ÐÐÐÝ
%Ð%Ð%Ð%Ý
ÐÐÐÝ
ÐÐÐÝ
ÐÐÐÝ
#Ð#Ð#Ð#ØÔð (Ý!Ð!Ð!Ð!ÝÐÐÐÝ#Ð#Ð#Ð#ØÔÔ$ð 	(Ý'Ð'Ð'Ð'Ø„Ô$ð %Ý$Ð$Ð$Ð$Ð$Ð$ð%ð %rp   c                óš   — t          | d¦  «        rt          | j        ¦  «        S t          | t          ¦  «        r| j        j        n| j        S )NÚ__wrapped__)r¡   Ú_check_namer!  rt   r   Úfuncre   )r«   s    rn   r"  r"  Ê  sF   € Ýˆu�mÑ$Ô$ð .Ý˜5Ô,Ñ-Ô-Ð-Ý",¨UµGÑ"<Ô"<ÐPˆ5Œ:ÔÐÀ%Ä.ÐPrp   Úexpected_failed_checksúdict[str, str] | NoneÚmarkúLiteral['xfail', 'skip', None]Úxfail_strictúbool | Nonec                óH  ‡‡‡	— t          | ‰|¦  «        \  }Š	|r|€| ‰fS | j        j        Š|dk    rR|€|j                             ‰	¬¦  «        }n|j                             ‰	|¬¦  «        }|                     | ‰|¬¦  «        S t          ‰¦  «        ˆˆˆ	fd„¦   «         }| |fS )a  Mark the test as xfail or skip if needed.

    Parameters
    ----------
    estimator : estimator object
        Estimator instance for which to generate checks.
    check : partial or callable
        Check to be marked.
    expected_failed_checks : dict[str, str], default=None
        Dictionary of the form {check_name: reason} for checks that are expected to
        fail.
    mark : "xfail" or "skip" or None
        Whether to mark the check as xfail or skip.
    pytest : pytest module, default=None
        Pytest module to use to mark the check. This is only needed if ``mark`` is
        `"xfail"`. Note that one can run `check_estimator` without having `pytest`
        installed. This is used in combination with `parametrize_with_checks` only.
    xfail_strict : bool, default=None
        Whether to run checks in xfail strict mode. This option is ignored unless
        `mark="xfail"`. If True, checks that are expected to fail but actually
        pass will lead to a test failure. If False, unexpectedly passing tests
        will be marked as xpass. If None, the default pytest behavior is used.

        .. versionadded:: 1.8
    NÚxfail)Úreason)r,  Ústrict)Úmarksc                 óN   •— t          dt          ‰¦  «        › d‰› d‰› �¦  «        ‚)Nz	Skipping ú for ú: )rR   r"  )ÚargsÚkwargsr«   Úestimator_namer,  s     €€€rn   Úwrappedz_maybe_mark.<locals>.wrapped  s8   ø€ åØO�K¨Ñ.Ô.ÐOÐO°^ÐOÐOÀvÐOÐOñô ð rp   )Ú_should_be_skipped_or_markedri   re   r&  r+  Úparamr   )
rj   r«   r$  r&  Úpytestr(  Úshould_be_markedr5  r4  r,  s
    `      @@rn   Ú_maybe_markr:  Ð  sè   øøø€ õB  <Ø�5Ð0ñ ô  ÑÐ�fð ð  ˜t˜|Ø˜%ÐÐàÔ(Ô1€NØˆw‚€ð ÐØ”;×$Ò$¨FÐ$Ñ3Ô3ˆDˆDà”;×$Ò$¨F¸<Ð$ÑHÔHˆDØ�|Š|˜I u°Dˆ|Ñ9Ô9Ð9õ 
ˆu‰Œð	ð 	ð 	ð 	ð 	ð 	ñ 
Œð	ð
 ˜'Ð!Ð!rp   Úreturnútuple[bool, str]c                óH   — |pi }t          |¦  «        }||v r
d||         fS dS )a>  Check whether a check should be skipped or marked as xfail.

    Parameters
    ----------
    estimator : estimator object
        Estimator instance for which to generate checks.
    check : partial or callable
        Check to be marked.
    expected_failed_checks : dict[str, str], default=None
        Dictionary of the form {check_name: reason} for checks that are expected to
        fail.

    Returns
    -------
    should_be_marked : bool
        Whether the check should be marked as xfail or skipped.
    reason : str
        Reason for skipping the check.
    T)FzCheck is not expected to fail)r"  )rj   r«   r$  Ú
check_names       rn   r6  r6    s?   € ð. 4Ð9°rÐå˜UÑ#Ô#€JØÐ+Ð+Ð+ØÐ+¨JÔ7Ð7Ð7à1Ð1rp   T)r  r$  r&  r(  c          
   #  ó  K  — |dk    rddl }nd}t          | ¦  «        j        }| t          t          |¦  «        fV — t          | |¬¦  «        D ]<}t          ||¦  «        }t          || ¦  «        D ]}	t          |	|||||¬¦  «        V — ŒŒ=dS )añ  Iteratively yield all check callables for an estimator.

    This function is used by
    :func:`~sklearn.utils.estimator_checks.parametrize_with_checks` and
    :func:`~sklearn.utils.estimator_checks.check_estimator` to yield all check callables
    for an estimator. In most cases, these functions should be used instead. When
    implementing a custom equivalent, please refer to their source code to
    understand how `estimator_checks_generator` is intended to be used.

    .. versionadded:: 1.6

    Parameters
    ----------
    estimator : estimator object
        Estimator instance for which to generate checks.
    legacy : bool, default=True
        Whether to include legacy checks. Over time we remove checks from this category
        and move them into their specific category.
    expected_failed_checks : dict[str, str], default=None
        Dictionary of the form {check_name: reason} for checks that are expected to
        fail.
    mark : {"xfail", "skip"} or None, default=None
        Whether to mark the checks that are expected to fail as
        xfail(`pytest.mark.xfail`) or skip. Marking a test as "skip" is done via
        wrapping the check in a function that raises a
        :class:`~sklearn.exceptions.SkipTest` exception.
    xfail_strict : bool, default=None
        Whether to run checks in xfail strict mode. This option is ignored unless
        `mark="xfail"`. If True, checks that are expected to fail but actually
        pass will lead to a test failure. If False, unexpectedly passing tests
        will be marked as xpass. If None, the default pytest behavior is used.

        .. versionadded:: 1.8

    Returns
    -------
    estimator_checks_generator : generator
        Generator that yields (estimator, check) tuples.
    r+  r   N)r  )r$  r&  r8  r(  )r8  Útypere   r   Úcheck_estimator_cloneabler  rQ   r:  )
rj   r  r$  r&  r(  r8  rª   r«   Úcheck_with_nameÚcheck_instances
             rn   Úestimator_checks_generatorrD  ,  sÙ   è è € ð^ ˆw‚€Øˆˆˆˆàˆå�	‰?Œ?Ô#€Dð •WÕ6¸Ñ=Ô=Ð
=Ð=Ð=Ð=Ý" 9°VÐ<Ñ<Ô<ð 
ð 
ˆÝ! %¨Ñ.Ô.ˆÝ8¸À	ÑJÔJð 	ð 	ˆNÝØØØ'=ØØØ)ðñ ô ð ð ð ð ð	ð
ð 
rp   )r  r$  r(  úCallable | Nonec               óÄ   ‡— ddl }t          d„ | D ¦   «         ¦  «        rd}t          |¦  «        ‚ˆfd„}|j                             d || ||¦  «        t
          ¬¦  «        S )a
  Pytest specific decorator for parametrizing estimator checks.

    Checks are categorised into the following groups:

    - API checks: a set of checks to ensure API compatibility with scikit-learn.
      Refer to https://scikit-learn.org/dev/developers/develop.html a requirement of
      scikit-learn estimators.
    - legacy: a set of checks which gradually will be grouped into other categories.

    The `id` of each check is set to be a pprint version of the estimator
    and the name of the check with its keyword arguments.
    This allows to use `pytest -k` to specify which tests to run::

        pytest test_check_estimators.py -k check_estimators_fit_returns_self

    Parameters
    ----------
    estimators : list of estimators instances
        Estimators to generated checks for.

        .. versionchanged:: 0.24
           Passing a class was deprecated in version 0.23, and support for
           classes was removed in 0.24. Pass an instance instead.

        .. versionadded:: 0.24


    legacy : bool, default=True
        Whether to include legacy checks. Over time we remove checks from this category
        and move them into their specific category.

        .. versionadded:: 1.6

    expected_failed_checks : callable, default=None
        A callable that takes an estimator as input and returns a dictionary of the
        form::

            {
                "check_name": "my reason",
            }

        Where `"check_name"` is the name of the check, and `"my reason"` is why
        the check fails. These tests will be marked as xfail if the check fails.

        .. versionadded:: 1.6

    xfail_strict : bool, default=None
        Whether to run checks in xfail strict mode. If True, checks that are
        expected to fail but actually pass will lead to a test failure. If
        False, unexpectedly passing tests will be marked as xpass. If None,
        the default pytest behavior is used.

        .. versionadded:: 1.8

    Returns
    -------
    decorator : `pytest.mark.parametrize`

    See Also
    --------
    check_estimator : Check if estimator adheres to scikit-learn conventions.

    Examples
    --------
    >>> from sklearn.utils.estimator_checks import parametrize_with_checks
    >>> from sklearn.linear_model import LogisticRegression
    >>> from sklearn.tree import DecisionTreeRegressor

    >>> @parametrize_with_checks([LogisticRegression(),
    ...                           DecisionTreeRegressor()])
    ... def test_sklearn_compatible_estimator(estimator, check):
    ...     check(estimator)

    r   Nc              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S ©N)rt   r@  )Ú.0Úests     rn   ú	<genexpr>z*parametrize_with_checks.<locals>.<genexpr>Ä  s,   è è € Ð
7Ð
7 S�:�c�4Ñ Ô Ð
7Ð
7Ð
7Ð
7Ð
7Ð
7rp   úuPassing a class was deprecated in version 0.23 and isn't supported anymore from 0.24.Please pass an instance instead.c              3  ó‚   •K  — | D ]8}||d‰dœ}t          |¦  «        r ||¦  «        |d<   t          di |¤ŽE d {V —† Œ9d S )Nr+  )rj   r  r&  r(  r$  © )ÚcallablerD  )Ú
estimatorsr  r$  rj   r2  r(  s        €rn   Ú_checks_generatorz2parametrize_with_checks.<locals>._checks_generatorÌ  s‹   øè è € Ø#ð 		:ð 		:ˆIà&Ø ØØ ,ð	ð ˆDõ Ð.Ñ/Ô/ð SØ1GÐ1GÈ	Ñ1RÔ1R�Ð-Ñ.Ý1Ð9Ð9°DÐ9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ð		:ð 		:rp   zestimator, check)Úids)r8  ÚanyÚ	TypeErrorr&  ÚparametrizerP   )rP  r  r$  r(  r8  ÚmsgrQ  s      `   rn   Úparametrize_with_checksrW  q  s™   ø€ ðb €M€M€Må
Ð
7Ð
7¨JÐ
7Ñ
7Ô
7Ñ7Ô7ð ð/ð 	õ
 ˜‰nŒnÐð
:ð 
:ð 
:ð 
:ð 
:ð Œ;×"Ò"ØØÐ˜* fÐ.DÑEÔEÝ$ð #ñ ô ð rp   Úbooleanrv   Úraise)r  r$  Úon_skipÚon_failÚcallback)Úprefer_skip_nested_validationrZ  úLiteral['warn'] | Noner[  úLiteral['raise', 'warn'] | Noner\  c               óD  — t          | t          ¦  «        rd}t          |¦  «        ‚|dk    r|�t          d¦  «        ‚t          | ¦  «        j        }g }t          | ||d¬¦  «        D �]7\  } }	t          | |	|¦  «        \  }
}	  |	| ¦  «         | t          |	¦  «        dd|
|dœ}nÛ# t          $ rk}| t          |	¦  «        |d|
|dœ}|d	k    rEt          j
        d
t          |	¦  «        › d|› dt          |¦  «        j        › d|› �t          ¦  «         Y d}~nkd}~wt          $ r[}|dk    r|
s‚ | t          |	¦  «        ||
|dœ}|
rd|d<   nd|d<   |d	k    r t          di |¤Ž}t          j
        |¦  «         Y d}~nd}~ww xY w|                     |¦  «         |r |di |¤Ž �Œ9|S )aK  Check if estimator adheres to scikit-learn conventions.

    This function will run an extensive test-suite for input validation,
    shapes, etc, making sure that the estimator complies with `scikit-learn`
    conventions as detailed in :ref:`rolling_your_own_estimator`.
    Additional tests for classifiers, regressors, clustering or transformers
    will be run if the Estimator class inherits from the corresponding mixin
    from sklearn.base.

    scikit-learn also provides a pytest specific decorator,
    :func:`~sklearn.utils.estimator_checks.parametrize_with_checks`, making it
    easier to test multiple estimators.

    Checks are categorised into the following groups:

    - API checks: a set of checks to ensure API compatibility with scikit-learn.
      Refer to https://scikit-learn.org/dev/developers/develop.html a requirement of
      scikit-learn estimators.
    - legacy: a set of checks which gradually will be grouped into other categories.

    Parameters
    ----------
    estimator : estimator object
        Estimator instance to check.

    legacy : bool, default=True
        Whether to include legacy checks. Over time we remove checks from this category
        and move them into their specific category.

        .. versionadded:: 1.6

    expected_failed_checks : dict, default=None
        A dictionary of the form::

            {
                "check_name": "this check is expected to fail because ...",
            }

        Where `"check_name"` is the name of the check, and `"my reason"` is why
        the check fails.

        .. versionadded:: 1.6

    on_skip : "warn", None, default="warn"
        This parameter controls what happens when a check is skipped.

        - "warn": A :class:`~sklearn.exceptions.SkipTestWarning` is logged
          and running tests continue.
        - None: No warning is logged and running tests continue.

        .. versionadded:: 1.6

    on_fail : {"raise", "warn"}, None, default="raise"
        This parameter controls what happens when a check fails.

        - "raise": The exception raised by the first failing check is raised and
          running tests are aborted. This does not included tests that are expected
          to fail.
        - "warn": A :class:`~sklearn.exceptions.EstimatorCheckFailedWarning` is logged
          and running tests continue.
        - None: No exception is raised and no warning is logged.

        Note that if ``on_fail != "raise"``, no exception is raised, even if the checks
        fail. You'd need to inspect the return result of ``check_estimator`` to check
        if any checks failed.

        .. versionadded:: 1.6

    callback : callable, or None, default=None
        This callback will be called with the estimator and the check name,
        the exception (if any), the status of the check (xfail, failed, skipped,
        passed), and the reason for the expected failure if the check is
        expected to fail. The callable's signature needs to be::

            def callback(
                estimator,
                check_name: str,
                exception: Exception,
                status: Literal["xfail", "failed", "skipped", "passed"],
                expected_to_fail: bool,
                expected_to_fail_reason: str,
            )

        ``callback`` cannot be provided together with ``on_fail="raise"``.

        .. versionadded:: 1.6

    Returns
    -------
    test_results : list
        List of dictionaries with the results of the failing tests, of the form::

            {
                "estimator": estimator,
                "check_name": check_name,
                "exception": exception,
                "status": status (one of "xfail", "failed", "skipped", "passed"),
                "expected_to_fail": expected_to_fail,
                "expected_to_fail_reason": expected_to_fail_reason,
            }

    Raises
    ------
    Exception
        If ``on_fail="raise"``, the exception raised by the first failing check is
        raised and running tests are aborted.

        Note that if ``on_fail != "raise"``, no exception is raised, even if the checks
        fail. You'd need to inspect the return result of ``check_estimator`` to check
        if any checks failed.

    See Also
    --------
    parametrize_with_checks : Pytest specific decorator for parametrizing estimator
        checks.
    estimator_checks_generator : Generator that yields (estimator, check) tuples.

    Examples
    --------
    >>> from sklearn.utils.estimator_checks import check_estimator
    >>> from sklearn.linear_model import LogisticRegression
    >>> check_estimator(LogisticRegression())
    [...]
    rL  rY  Nz9callback cannot be provided together with on_fail='raise')r  r$  r&  Úpassed)rj   r>  Ú	exceptionÚstatusÚexpected_to_failÚexpected_to_fail_reasonÚskippedrv   zSkipping check r0  z because it raised r1  )rj   r>  rb  rd  re  r+  rc  ÚfailedrN  )rt   r@  rT  Ú
ValueErrorre   rD  r6  r"  rR   ru   rv   r(   Ú	Exceptionr&   Úappend)rj   r  r$  rZ  r[  r\  rV  rª   Útest_resultsr«   Útest_can_failr,  Úcheck_resultÚeÚwarnings                  rn   Úcheck_estimatorrp  ß  s�  € õ^ �)�TÑ"Ô"ð ð/ð 	õ
 ˜‰nŒnÐà�'ÒÐ˜hÐ2ÝÐTÑUÔUÐUå�	‰?Œ?Ô#€Dà€Lå6ØØØ5àðñ ô ð A%ñ A%Ñˆ	�5õ !=Ø�uÐ4ñ!
ô !
Ñˆ�vð2	ØˆE�)ÑÔÐðV 'Ý)¨%Ñ0Ô0Ø!Ø"Ø$1Ø+1ðð ˆLˆLøõS ð 	ð 	ð 	ð
 'Ý)¨%Ñ0Ô0ØØ#Ø$1Ø+1ðð ˆLð ˜&Ò Ð Ý”ð/¥k°%Ñ&8Ô&8ð /ð /¸tð /ð /Ý˜A‘w”wÔ'ð/ð /Ø+,ð/ð /å#ñô ð øøøøøøøøøõ
 ð 	'ð 	'ð 	'Ø˜'Ò!Ð!¨-Ð!Øð 'Ý)¨%Ñ0Ô0ØØ$1Ø+1ðð ˆLð ð 2ð *1�˜XÑ&Ð&à)1�˜XÑ&à˜&Ò Ð Ý5ÐEÐE¸ÐEÐE�Ý”˜gÑ&Ô&Ð&øøøøøøøøøð+	'øøøð@ 	×Ò˜LÑ)Ô)Ð)àð 	%ØˆHÐ$Ð$�|Ð$Ð$Ð$ùàÐs&   ÂB$Â$
E<Â.A!DÄE<Ä!AE7Å7E<c                 óî   — t           €=t          dddddd¬¦  «        \  } }t          ¦   «                              | ¦  «        } | |fa t           \  } }|                      ¦   «         |                     ¦   «         fS )NéÈ   é
   é   ç      @é   é*   )Ú	n_samplesÚ
n_featuresÚn_informativeÚbiasÚnoiseÚrandom_state)ÚREGRESSION_DATASETr$   r5   Úfit_transformÚcopy)ÚXÚys     rn   Ú_regression_datasetrƒ  Ã  s{   € åÐ!ÝØØØØØØð
ñ 
ô 
‰ˆˆ1õ ÑÔ×*Ò*¨1Ñ-Ô-ˆØ ˜TÐÝ�D€A€qà�6Š6‰8Œ8�Q—V’V‘X”XÐÐrp   c                  ó&   — e Zd ZdZd„ Zdd„Zd„ ZdS )Ú_NotAnArrayzvAn object that is convertible to an array.

    Parameters
    ----------
    data : array-like
        The data.
    c                ó8   — t          j        |¦  «        | _        d S rH  )ÚnpÚasarrayÚdata)Úselfr‰  s     rn   Ú__init__z_NotAnArray.__init__Þ  s   € Ý”J˜tÑ$Ô$ˆŒ	ˆ	ˆ	rp   Nc                ó   — | j         S rH  )r‰  )rŠ  Údtyper€  s      rn   Ú	__array__z_NotAnArray.__array__á  s
   € ØŒyÐrp   c                ój   — |j         dk    rdS t          d                     |j         ¦  «        ¦  «        ‚)NÚmay_share_memoryTz%Don't want to call array_function {}!)re   rT  r  )rŠ  r#  Útypesr2  r3  s        rn   Ú__array_function__z_NotAnArray.__array_function__ä  s4   € ØŒ=Ð.Ò.Ð.Ø�4ÝÐ?×FÒFÀtÄ}ÑUÔUÑVÔVÐVrp   )NN)re   Ú
__module__Ú__qualname__Ú__doc__r‹  rŽ  r’  rN  rp   rn   r…  r…  Õ  sU   € € € € € ðð ð%ð %ð %ðð ð ð ðWð Wð Wð Wð Wrp   r…  c                óJ   — t          | dd¦  «        }t          |dk    ¦  «        S )zõReturns True if estimator accepts pairwise metric.

    Parameters
    ----------
    estimator : object
        Estimator object to test.

    Returns
    -------
    out : bool
        True if _pairwise is set to True and False otherwise.
    ÚmetricNÚprecomputed)rg   r  )rj   r—  s     rn   Ú_is_pairwise_metricr™  ê  s(   € õ �Y ¨$Ñ/Ô/€Få�˜-Ò'Ñ(Ô(Ð(rp   c              #  ó  K  — | j         dk    sJ ‚d|                      ¦   «         fV — dD ]}||                      |¦  «        fV — Œ|                      d¦  «        }|j                             d¦  «        |_        |j                             d¦  «        |_        d|fV — dD ]^}|                      |¦  «        }|j                             d¦  «        |_        |j                             d¦  «        |_        |dz   |fV — Œ_dS )	au  Generate sparse matrices or arrays with {32,64}bit indices of diverse format.

    Parameters
    ----------
    X_csr: scipy.sparse.csr_matrix or scipy.sparse.csr_array
        Input in CSR format.

    Returns
    -------
    out: iter(Matrices) or iter(Arrays)
        In format['dok', 'lil', 'dia', 'bsr', 'csr', 'csc', 'coo',
        'coo_64', 'csc_64', 'csr_64']
    Úcsr)ÚdokÚlilÚdiaÚbsrÚcscÚcoor¡  Úint64Úcoo_64)r   r›  Ú_64N)r  r€  ÚasformatÚrowÚastypeÚcolÚindicesÚindptr)ÚX_csrÚsparse_formatÚX_coor�  s       rn   Ú_generate_sparse_datar®  ü  s#  è è € ð Œ<˜5Ò Ð Ð Ð Ø
�—’‘”Ð
ÐÐÐØCð ;ð ;ˆØ˜UŸ^š^¨MÑ:Ô:Ð:Ð:Ð:Ð:Ð:ð �NŠN˜5Ñ!Ô!€EØ”	× Ò  Ñ)Ô)€E„IØ”	× Ò  Ñ)Ô)€E„IØ
�Eˆ/ÐÐÐà'ð 'ð 'ˆØ�NŠN˜=Ñ)Ô)ˆØ”I×$Ò$ WÑ-Ô-ˆŒ	Ø”8—?’? 7Ñ+Ô+ˆŒØ˜eÑ# QÐ&Ð&Ð&Ð&Ð&ð	'ð 'rp   rr   c                óF  — t          |¦  «        }t          j                             d¦  «        }|                     d¬¦  «        }t          j        t          j        fD ]Ã}t          j        d|¦  «        }t          ||¦  «        }|j	        }| 
                    d¦  «        r3d|v s/|                     d¦  «        st          j        |¦  «        rd}nd	}nd }d
| › d�}	t          t          ||	¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒÄd S )Nix  )rs  é   ©Úsizers  úsklearn.Útest_Ú_testingzJInput (y|Y) contains infinity or a value too large for dtype\('float64'\).zInput (y|Y) contains NaN.rd   z< should have raised error on fitting array y with inf value.©ÚmatchÚerr_msg)r   r‡  ÚrandomÚRandomStateÚstandard_normalÚnanÚinfÚfullÚ_enforce_estimator_tags_yr“  Ú
startswithÚendswithÚisinfr\   rh  Úfit)
rª   Úestimator_origrj   Úrngr�  Úvaluer‚  Úmodule_namer·  r¸  s
             rn   rÂ   rÂ     s„  € õ �nÑ%Ô%€IÝ
Œ)×
Ò
 Ñ
$Ô
$€CØ×Ò ÐÑ)Ô)€Aå”&�"œ&Ð!ð  ð  ˆÝŒG�B˜ÑÔˆÝ% i°Ñ3Ô3ˆàÔ*ˆØ×!Ò! *Ñ-Ô-ð 	Ø�{Ð"Ð" k×&:Ò&:¸:Ñ&FÔ&FÐ"õ Œx˜‰Œð 5ð,ð �ð
 5��ð ˆEð˜ð ð ð ð 	õ •J e°WÐ=Ñ=Ô=ð 	 ð 	 Ø�MŠM˜!˜QÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 øð1 ð  s   Ã2DÄD	ÄD	c           	     óô  — t          |j        |j        |¦  «        \  }}t          |j        |j        ¦  «        \  }	}
t          ddd¬¦  «        \  }}|€t	          ||¦  «        }||j        k    rdnd}|                     |d¬	¦  «        }t          | |¦  «        }t          | |¦  «        }t          | ¦  «        }t          |¦  «         |                     ||¬
¦  «        }|	                     ||
¬
¦  «        }i }i }|rst          | d¦  «        rct	          |	|
¦  «        }||	j        k    rdnd}t          j        |j        d         |¬¦  «        |d<   |	                     |d         |
¬
¦  «        |d<    |j        ||fi |¤Ž t          |¦  «        }t#          d¬¦  «        5   |j        ||fi |¤Ž ddd¦  «         n# 1 swxY w Y   |j        }d„ t'          |¦  «                             ¦   «         D ¦   «         }|                     ¦   «         D �]�\  }}t+          ||¦  «        }t#          d¬¦  «        5  t-          |¦  «        d         j        }ddd¦  «         n# 1 swxY w Y   |dk    r||k    sJ d|› d|› d|› �¦   «         ‚t#          d¬¦  «        5  |dk    r"t/          |¦  «        t/          |¦  «        k    sJ ‚ddd¦  «         n# 1 swxY w Y   t1          |t          d¬¦  «        }|r*t3          |||› d�t5          |j        ¦  «        ¬¦  «         �Œ
|j        |j        k    sJ ‚|j        }t          j        |j        t          j        ¦  «        r-t	          ||j        ¬
¦  «        }||j        k    rt          j        }|j        |k    sJ ‚�Œƒd}	 t          j        |¦  «         t          j        |¦  «         |j        dk    }n# t<          t>          t@          f$ r d}Y nw xY w|rZt          |¦  «                             ||¦  «        } |D ]4}!t+          | |!d¦  «        }"|"€Œ|!dk    r |"||¦  «         Œ) |"|¦  «         Œ5|D �]¶}!t+          ||!d¦  «        }"|"€Œ|!dk    r© |"||¦  «        }#t#          d¬¦  «        5   t+          ||!¦  «        ||¦  «        }$ddd¦  «         n# 1 swxY w Y   tC          |#tD          ¦  «        sJ ‚tC          |$tD          ¦  «        sJ ‚|r*tG          |#|$z
  ¦  «        t5          |j        ¦  «        k     sJ ‚ŒÆ |"|¦  «        }#t#          d¬¦  «        5   t+          ||!¦  «        |¦  «        }$ddd¦  «         n# 1 swxY w Y   t#          d¬¦  «        5  t-          |$¦  «        d         j        }%ddd¦  «         n# 1 swxY w Y   |%|k    sJ d|"› d|› d|%› d�¦   «         ‚|rÁt#          d¬¦  «        5  t/          |$¦  «        t/          |¦  «        k    sJ ‚	 ddd¦  «         n# 1 swxY w Y   t1          |$t          d¬¦  «        }&|r)t3          |#|&|"› d�t5          |j        ¦  «        ¬¦  «         n4tI          |#d ¦  «        r$|#j        |&j        k    sJ ‚|#j        |&j        k    sJ ‚|!d!k    �r~tI          |d"¦  «        �rm| %                    |#¦  «        }'t#          d¬¦  «        5  | %                    |$¦  «        }(ddd¦  «         n# 1 swxY w Y   |�rt#          d¬¦  «        5  t-          |(¦  «        d         j        })ddd¦  «         n# 1 swxY w Y   |)|k    sJ d#|› d|)› d�¦   «         ‚t#          d¬¦  «        5  t/          |$¦  «        t/          |¦  «        k    sJ ‚	 ddd¦  «         n# 1 swxY w Y   t1          |(t          d¬¦  «        }*|r't3          |'|*d$t5          |j        ¦  «        ¬¦  «         �Œ‚tI          |#d ¦  «        r$|'j        |*j        k    sJ ‚|'j        |*j        k    sJ ‚�Œ¸dS )%z8Helper to check estimator attributes and method outputs.é   rs  rw  ©rx  ry  r}  Nr¯   Úfloat64F©r€  r@   r‰   r   ©r�  T©Úarray_api_dispatchc                óN   — i | ]"\  }}t          |t          j        ¦  «        ¯||“Œ#S rN  )rt   r‡  Úndarray©rI  ÚkeyrÆ  s      rn   ú
<dictcomp>z)_check_array_api_core.<locals>.<dictcomp>t  s?   € ð ð ð Ù!�s˜E½*ÀUÍBÌJÑ:WÔ:WðØˆUðð ð rp   Úclasses_ú'z,' attribute is in wrong namespace, expected z got Úcpu)ÚxprA   z not the same©r¸  Úatol)ÚscoreÚscore_samplesÚdecision_functionrõ   Úpredict_log_probaÚpredict_probarí   r  rÛ  z)' output is in wrong namespace, expected ú, got ú.z# did not the return the same resultÚshaperí   Úinverse_transformz;'inverse_transform' output is in wrong namespace, expected z4inverse_transform did not the return the same result)&rS   rØ  rA   r"   r;   r¯   r§  Ú_enforce_estimator_tags_Xr¿  r   r]   rˆ  r`   r‡  Úonesrâ  rÃ  r   re   ÚvarsÚitemsrg   r<   Úarray_devicer=   rU   r:   r�  Ú
issubdtypeÚfloatingrT  rh   rh  rt   ÚfloatÚabsr¡   rã  )+rÄ  r  r   rÿ   Úcheck_valuesÚcheck_sample_weightrý   Úxp_XÚdevice_XÚxp_otherÚdevice_otherr�  r‚  Úmax_float_dtyperJ  ÚX_xpÚy_xpÚ
fit_kwargsÚfit_kwargs_xpÚmax_dtype_otherÚdtype_otherÚest_xpÚX_nsÚarray_attributesrÓ  Ú	attributeÚest_xp_paramÚattribute_nsÚest_xp_param_npÚexpected_dtypeÚmethodsÚnumpy_asarray_worksÚest_fitted_with_as_arrayÚmethod_nameÚmethodÚresultÚ	result_xpÚ	result_nsÚresult_xp_npÚinverse_resultÚinverse_result_xpÚinverse_result_nsÚinverse_result_xp_nps+                                              rn   Ú_check_array_api_corer  @  sŽ  € õ *ØÔ˜OÔ2°Jñô �N€Dˆ(õ 2ØÔÐ 3Ô :ñô Ñ€Hˆlõ ¨¸ÈÐLÑLÔL�D€A€qØÐÝ4°T¸8ÑDÔDˆà"1°T´\Ò"AÐ"A�Y�YÀyˆ
à	�Š� %ˆÑ(Ô(€Aå! .°!Ñ4Ô4€AÝ! .°!Ñ4Ô4€Aå
�Ñ
Ô
€CÝ�SÑÔÐà�<Š<˜ (ˆ<Ñ+Ô+€DØ×Ò˜A lÐÑ3Ô3€Dà€JØ€MØð 
Õ0°ÀÑQÔQð 
Ý4°X¸|ÑLÔLˆØ#2°hÔ6FÒ#FÐ#F�i�iÈIˆÝ&(¤g¨a¬g°a¬jÀÐ&LÑ&LÔ&Lˆ
�?Ñ#Ø)1×)9Ò)9Ø�Ô'°ð *:ñ *
ô *
ˆ�oÑ&ð €C„GˆAˆqÐÐ�JÐÐÐå�3‰ZŒZ€FÝ	¨4Ð	0Ñ	0Ô	0ð 0ð 0ØˆŒ
�4˜Ð/Ð/ Ð/Ð/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð Œ=€Dðð Ý%)¨#¡Y¤Y§_¢_Ñ%6Ô%6ðñ ô Ðð +×0Ò0Ñ2Ô2ð  ;ñ  ;‰ˆˆYÝ˜v sÑ+Ô+ˆÝ¨tÐ4Ñ4Ô4ð 	Cð 	CÝ(¨Ñ6Ô6°qÔ9ÔBˆLð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cà�*ÒÐØ 4Ò'Ð'Ð'ð&�Cð &ð &ÀTð &ð &Ø#ð&ð &ñ (Ô'Ð'õ
 ¨tÐ4Ñ4Ô4ð 	Hð 	HØ�jÒ Ð Ý# LÑ1Ô1µ\À$Ñ5GÔ5GÒGÐGÐGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ " ,µ2¸eÐDÑDÔDˆØð 	;ÝØØØÐ-Ð-Ð-Ý# A¤GÑ,Ô,ð	ñ ô ð ñ ð ”? oÔ&;Ò;Ð;Ð;Ð;Ø&œ_ˆNÝŒ}˜Yœ_­b¬kÑ:Ô:ð 0Ý"<Ø Ô!7ð#ñ #ô #�ð # d¤lÒ2Ð2Ý%'¤Z�NØ"Ô(¨NÒ:Ð:Ð:Ð:Ñ:ð€Gð$Ý
Œ
�4ÑÔÐÝ
Œ
�4ÑÔÐð #œmÐ/AÒAÐÐøå•|¥ZÐ0ð $ð $ð $ð
 $ÐÐÐð$øøøð ð õ $)¨¡:¤:§>¢>°$¸Ñ#=Ô#=Ð ð #ð 	ð 	ˆKÝÐ5°{ÀDÑIÔIˆFØˆ~Øà˜gÒ%Ð%Ø��t˜TÑ"Ô"Ð"Ð"à��t‘”��àð DNñ DNˆÝ˜˜k¨4Ñ0Ô0ˆØˆ>Øà˜'Ò!Ð!Ø�V˜A˜q‘\”\ˆFÝ°4Ð8Ñ8Ô8ð Eð EØ8�G F¨KÑ8Ô8¸¸tÑDÔD�	ðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ ˜f¥eÑ,Ô,Ð,Ð,Ð,Ý˜i­Ñ/Ô/Ð/Ð/Ð/Øð IÝ˜6 IÑ-Ñ.Ô.µÀÄÑ1HÔ1HÒHÐHÐHÐHØà�V˜A‘Y”YˆFÝ°4Ð8Ñ8Ô8ð ?ð ?Ø8�G F¨KÑ8Ô8¸Ñ>Ô>�	ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ ¨tÐ4Ñ4Ô4ð 	=ð 	=Ý% iÑ0Ô0°Ô3Ô<ˆIð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=à˜DÒ Ð Ð ð �ð  ð  Àð  ð  Øð ð  ð  ñ !Ô Ð ð
 %ð 	:Ý°4Ð8Ñ8Ô8ð Eð EÝ# IÑ.Ô.µ,¸tÑ2DÔ2DÒDÐDÐDÐDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ # 9µ¸EÐBÑBÔBˆLØð 	:ÝØØ Ø%ÐJÐJÐJÝ'¨¬Ñ0Ô0ð	ñ ô ð ð õ ˜ Ñ)Ô)ð :Ø”| |Ô'9Ò9Ð9Ð9Ð9Ø”| |Ô'9Ò9Ð9Ð9Ð9à˜+Ò%Ñ%­'°#Ð7JÑ*KÔ*KÑ%Ø ×2Ò2°6Ñ:Ô:ˆNÝ°4Ð8Ñ8Ô8ð Hð HØ$*×$<Ò$<¸YÑ$GÔ$GÐ!ðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð )ñ NÝ#°tÐ<Ñ<Ô<ð Uð UÝ(5Ð6GÑ(HÔ(HÈÔ(KÔ(TÐ%ðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uà(¨DÒ0Ð0Ð0ð9Øð9ð 9Ø$5ð9ð 9ð 9ñ 1Ô0Ð0õ $°tÐ<Ñ<Ô<ð Ið IÝ'¨	Ñ2Ô2µlÀ4Ñ6HÔ6HÒHÐHÐHÐHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iõ (/Ð/@ÅRÐPUÐ'VÑ'VÔ'VÐ$Øð 	NÝ#Ø&Ø,Ø VÝ+¨A¬GÑ4Ô4ð	ñ ô ð ñ õ ˜V WÑ-Ô-ð NØ)Ô/Ð3GÔ3MÒMÐMÐMÐMØ)Ô/Ð3GÔ3MÒMÐMÐMÐMùðIDNð DNsÆ   ÆF8Æ8F<Æ?F<È/IÉI	ÉI	Ê)KËK		ËK		Î3O ÏOÏOÑ9R Ò R$	Ò'R$	Ô!UÕU	ÕU	Õ"V	Ö	V	ÖV	× #W0×0W4	×7W4	Ú.[Û[	Û[	Û.\Ü\	Ü\	Ý#]7Ý7];	Ý>];	c           	     óR   — t          ||¦  «        }t          |||||||¬¦  «         dS )a®  Check that the estimator can work consistently with the Array API.

    All inputs are of the same namespace/device. See `check_array_api_mixed_inputs`
    for testing of inputs from different namespaces/devices.

    By default, this just checks that the types and shapes of the arrays are
    consistent with calling the same estimator with numpy arrays.

    Parameters
    ----------
    name : str
        The name of the estimator. Used in error messages but ignored here.

    estimator_orig : estimator
        Original (uncloned) estimator instance.

    array_namespace : str
        The name of the Array API namespace of all estimator inputs.

    device_name : str, default=None
        The name of the device on which to allocate the estimator input arrays.

    dtype_name : str, default=None
        The name of the data type to use for arrays. If `None`,
        `_max_precision_float_dtype` of namespace and device of
        `X_ns_and_device` used.

    check_values : bool, default=False
        Whether to check the values of attributes, method outputs (including
        `inverse_transform`) obtained with array API inputs match that of all-NumPy
        inputs. If `False` only the namespace, device, shape and dtype of attributes
        and method outputs are checked.

    check_sample_weight : bool, default=False
        Whether to pass dummy weights to the fit call.

    expect_only_array_outputs : bool, default=True
        Whether to expect non-array outputs such as sparse data structures and lists.
        If `False` the checks are looser; device, shape and dtype checks for method
        outputs are skipped and only a smoke test is performed for `inverse_transform`.
    ©r  r   rÿ   rí  rî  rý   N)r9   r  )	rª   rÄ  rü   rþ   rÿ   rí  rî  rý   r  s	            rn   r  r    sJ   € õf )¨¸+ÑFÔF€OÝØØ'à+ØØ!Ø/Ø";ð	ñ 	ô 	ð 	ð 	ð 	rp   rË  c           	     ó.   — t          | ||||d|¬¦  «        S )NT)rü   rþ   rÿ   rí  rî  )r  )rª   rÄ  rü   rþ   rÿ   rî  s         rn   Ú check_array_api_input_and_valuesr  Q  s0   € õ !ØØØ'ØØØØ/ðñ ô ð rp   c           	     ó2   — t          |||d|||¬¦  «         dS )a9  Check `estimator_orig` works with mixed namespace/device array API inputs.

    For this check the input `X` uses one namespace/device, and the other inputs
    (`y` and `sample_weight`) use another namespace/device. The tested namespace
    combinations are generated by `yield_mixed_namespace_input_permutations`.
    The goal of the check is to make sure estimators move `y` and `sample_weight`
    to the namespace/device of `X` when needed.

    See `check_array_api_input` for testing of inputs from the same
    namespaces/devices.

    Note that the default of `check_sample_weight` is `True`, unlike
    `check_array_api_input`.

    Parameters
    ----------
    name : str
        The name of the estimator. Used in error messages but ignored here.

    estimator_orig : estimator
        Original (uncloned) estimator instance.

    X_ns_and_device : NamedTuple
        Namespace and device of reference array API input: `X` as "everything
        follows X".

    other_ns_and_device : NamedTuple
        Namespace and device of other array API inputs. Used for `y` and
        `sample_weight`.

    check_values : bool, default=False
        Whether to check the values of attributes, method outputs (including
        `inverse_transform`) obtained with array API inputs match that of all-NumPy
        inputs. If `False` only the namespace, device, shape and dtype of attributes
        and method outputs are checked.

    check_sample_weight : bool, default=True
        Whether to pass dummy weights to the fit call.

    expect_only_array_outputs : bool, default=True
        Whether to expect non-array outputs such as sparse data structures and lists.
        If `False` the checks are looser; device, shape and dtype checks for method
        outputs are skipped and only a smoke test is performed for `inverse_transform`.
    Nr  )r  )rª   rÄ  r  r   rí  rî  rý   s          rn   r  r  d  s;   € õj ØØ'Ø/ØØ!Ø/Ø";ðñ ô ð ð ð rp   c           
     ó(  — t          ||d¦  «        \  }}t          ddd¬¦  «        \  }}|                     dd¬¦  «        }t          ||¦  «        }t	          ||¦  «        }t          |¦  «        }t          |¦  «         |                     ||¬¦  «        }	|                     ||¬¦  «        }
t          d	¬
¦  «        5  | 	                    |	|
¦  «         ddd¦  «         n# 1 swxY w Y   d}|D ]¢}t          ||d¦  «        }|€Œt          d	¬
¦  «        5  	  ||¦  «         nK# t          $ r>}dt          |¦  «        v r'| › d|› d�t          |¦  «        v rY d}~ddd¦  «         Œv‚ d}~ww xY wt          | › d|› d|› d�¦  «        ‚# 1 swxY w Y   Œ£dS )aC  Check that estimator raises when predict/transform namespace differs from fit.

    Array API compatible estimators should call ``check_same_namespace`` in
    their ``predict``, ``transform``, and similar methods to verify that the
    input arrays are from the same namespace and device as the fitted
    attributes.
    rË  rÉ  rs  rw  rÊ  FrÌ  r@   TrÎ  N)rÝ  rõ   rÞ  rß  rí   zmust use the same namespacerá  z()z‘() did not raise when called with a different array namespace than the one used during fit. Add a call to check_same_namespace() at the start of z to fix this.)rS   r"   r§  rä  r¿  r   r]   rˆ  r   rÃ  rg   rh  ÚstrÚAssertionError)rª   rÄ  rü   rþ   rØ  rA   r�  r‚  rJ  rô  rõ  r  r  r  rn  s                  rn   r  r  ¤  s‰  € õ & o°{ÀIÑNÔN�J€Bˆå¨¸ÈÐLÑLÔL�D€A€qØ	�Š� ˆÑ'Ô'€Aå! .°!Ñ4Ô4€AÝ! .°!Ñ4Ô4€Aå
�Ñ
Ô
€CÝ�SÑÔÐà�:Š:�a ˆ:Ñ'Ô'€DØ�:Š:�a ˆ:Ñ'Ô'€Då	¨4Ð	0Ñ	0Ô	0ð ð Ø�Š��dÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð€Gð ð ð ˆÝ˜˜k¨4Ñ0Ô0ˆØˆ>Øå¨tÐ4Ñ4Ô4ð 	ð 	ðØ��q‘	”	�	�	øÝð ð ð Ø0µCØñ5ô 5ð ð àÐ/Ð/ Ð/Ð/Ð/µ3°q±6´6Ð9Ð9Ø�H�H�Hð	ð 	ð 	ñ 	ô 	ð 	ð 	ð øøøøðøøøõ !Øð .ð .˜+ð .ð .ð ð.ð .ð .ñô ð ð	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ðð sT   Â=C Ã C$Ã'C$ÄFÄD#Ä"FÄ#
E+Ä-(E&ÅFÅ%E&Å&E+Å+FÆF
	ÆF
	c                ó�  — t          |¦  «        }t          j                             d¦  «        }| dk    rdnd}|                     |df¬¦  «        }d||dk     <   |                     dd|¬¦  «        }t          ||¦  «        }t          ||¦  «        }t          j	        |¦  «        }t          |¦  «        }|j        j        rN	 |                     ||¦  «         dS # t          $ r(}d| › d	|j        j        › d
�}	t          |	¦  «        |‚d}~ww xY wd| › d|j        j        › d�}		 |                     ||¦  «         nn# t          t           f$ r=}t#          j        dt'          |¦  «        ¦  «        rY d}~dS t          |	¦  «        |‚d}~wt          $ r}t          |	¦  «        |‚d}~ww xY wt          d| › d|j        j        › d�¦  «        ‚)zLCheck that estimator tag related with accepting sparse data is properly set.r   ÚSpectralCoclusteringé   é(   é   r±  ç333333ã?rd   z5 raised an exception. The tag self.input_tags.sparse=z­ might not be consistent with the estimator's ability to handle sparse data (i.e. controlled by the parameter `accept_sparse` in `validate_data` or `check_array` functions).Nzx raised an exception. The estimator failed when fitted on sparse data in accordance with its tag self.input_tags.sparse=z½ but didn't raise the appropriate error: error message should state explicitly that sparse input is not supported if this is not the case, e.g. by using check_array(X, accept_sparse=False).z	[Ss]parsezd didn't fail when fitted on sparse data but should have according to its tag self.input_tags.sparse=z,. The tag is inconsistent and must be fixed.)r   r‡  r¹  rº  ÚuniformÚrandinträ  r¿  r   Ú	csr_arrayrN   r“   rÃ  ri  r  rh  rT  ÚreÚsearchr  )
rª   rÄ  rj   rÅ  rx  r�  r‚  rl   rn  r¸  s
             rn   r£   r£   Ý  sH  € å�nÑ%Ô%€Iå
Œ)×
Ò
 Ñ
"Ô
"€CØÐ4Ò4Ð4��¸"€IØ�Š˜) Q˜ˆÑ(Ô(€AØ€A€aˆ#‚g�JØ�Š�A�q˜yˆÑ)Ô)€AÝ! )¨QÑ/Ô/€AÝ! )¨QÑ/Ô/€AÝÔ˜ÑÔ€Aå�IÑÔ€DØ„Ôð #
ð
	1Ø�MŠM˜!˜QÑÔÐÐÐøÝð 	1ð 	1ð 	1ðC˜Tð Cð CØ26´/Ô2HðCð Cð Cð õ ! Ñ)Ô)¨qÐ0øøøøð	1øøøðO˜ð Oð Oà37´?Ô3IðOð Oð Oð 	ð	1Ø�MŠM˜!˜QÑÔÐÐøÝ�IÐ&ð 	1ð 	1ð 	1ÝŒy˜¥c¨!¡f¤fÑ-Ô-ð à�����Ý  Ñ)Ô)¨qÐ0øøøøÝð 	1ð 	1ð 	1Ý  Ñ)Ô)¨qÐ0øøøøð	1øøøåð:˜ð :ð :à&*¤oÔ&<ð:ð :ð :ñ
ô 
ð 	
sB   ÃC Ã
DÃ$#DÄDÄ#D: Ä:F%Å"FÅ3FÆF%ÆF Æ F%c                ó‚  — t           j                             d¦  «        }|                     d¬¦  «        }d||dk     <   t	          ||¦  «        }d|                     |j        d         ¬¦  «        z                       t           j        ¦  «        }t          t          ¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «        }t          |¦  «        }t           ||¦  «        ¦  «        D �]º\  }}t          t          ¬¦  «        5  t          |¦  «        }| dv r|                     d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   d
|v r
d| › d|› d�}	nd| › d�}	t          t           t"          fddgd|	¬¦  «        5  t          t          ¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t'          |d¦  «        ra|                     |¦  «        }
|j        j        r'|j        j        s|
j        |j        d         dfk    sJ ‚n|
j        |j        d         fk    sJ ‚t'          |d¦  «        rM|                     |¦  «        }|j        j        s|j        d         df}n|j        d         df}|j        |k    sJ ‚d d d ¦  «         n# 1 swxY w Y   �Œ¼d S )Nr   )r  r  r±  r  é   rr   )ÚScalerr5   F)Ú	with_meanÚ64rd   z doesn't seem to support z` matrix, and is not failing gracefully, e.g. by using check_array(X, accept_large_sparse=False).zÅ doesn't seem to fail gracefully on sparse data: error message should state explicitly that sparse input is not supported if this is not the case, e.g. by using check_array(X, accept_sparse=False).r   ÚSparseT©r·  Úmay_passr¸  rõ   rt  rß  é   )r‡  r¹  rº  r  rä  râ  r§  Úint32r[   ÚFutureWarningr   r¿  rN   r®  Ú
set_paramsr\   rT  rh  rÃ  r¡   rõ   r¸   r¹   rÃ   rß  r®   rË   )rª   rÄ  Úsparse_typerÅ  r�  r‚  rj   rl   Úmatrix_formatr¸  ÚpredÚprobsÚexpected_probs_shapes                rn   Ú!_check_estimator_sparse_containerr4    sü  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ�Š˜ˆÑ!Ô!€AØ€A€aˆ#‚g�JÝ! .°!Ñ4Ô4€AØ	
ˆS�[Š[˜aœg aœjˆ[Ñ)Ô)Ñ	)×1Ò1µ"´(Ñ;Ô;€Aå	¥-Ð	0Ñ	0Ô	0ð *ð *Ý˜.Ñ)Ô)ˆ	ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å! )¨QÑ/Ô/€AÝ�NÑ#Ô#€DÝ1°+°+¸a±.´.ÑAÔAð (;ñ (;Ñˆ�qå¥mÐ4Ñ4Ô4ð 	6ð 	6Ý˜nÑ-Ô-ˆIØÐ3Ð3Ð3Ø×$Ò$¨uÐ$Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð
 �=Ð Ð ð=˜Tð =ð =¸Mð =ð =ð =ð ˆGð7˜Tð 7ð 7ð 7ð õ Ý�
Ð#Ø˜XÐ&ØØð	
ñ 
ô 
ð 	;ð 	;õ !­-Ð8Ñ8Ô8ð $ð $Ø—’˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å�y )Ñ,Ô,ð 7Ø ×(Ò(¨Ñ+Ô+�ØÔ#Ô0ð 7¸Ô9IÔ9Wð 7Øœ:¨!¬'°!¬*°a¨Ò8Ð8Ð8Ð8Ð8àœ:¨!¬'°!¬*¨Ò6Ð6Ð6Ð6Ý�y /Ñ2Ô2ð ;Ø!×/Ò/°Ñ2Ô2�ØÔ+Ô7ð ;Ø,-¬G°A¬J¸¨?Ð(Ð(à,-¬G°A¬J¸¨?Ð(Ø”{Ð&:Ò:Ð:Ð:Ð:ð)	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ùð)(;ð (;s[   Â%CÃCÃCÄ*EÅE	ÅE	ÆJ2Æ*GÇJ2ÇGÇJ2ÇGÇCJ2Ê2J6	Ê9J6	c                ó<   — t          | |t          j        ¦  «         d S rH  )r4  r   Ú
csr_matrix©rª   rÄ  s     rn   r¥   r¥   G  s   € Ý% d¨N½FÔ<MÑNÔNÐNÐNÐNrp   c                ó<   — t          | |t          j        ¦  «         d S rH  )r4  r   r   r7  s     rn   r¤   r¤   K  s   € Ý% d¨N½FÔ<LÑMÔMÐMÐMÐMrp   c                ó  — t          |¦  «        }t          j                             d¦  «        }d|                     d¬¦  «        z  }t          ||¦  «        }t          j        |¦  «        }|d d …df                              t          ¦  «        }t          ||¦  «        }| 
                    ||¦  «         t          |d¦  «        r|                     |¦  «         t          |d¦  «        r|                     |¦  «         d S d S )Nr   r  ©rv  r  r±  rí   rõ   )r   r‡  r¹  rº  r  rä  Úasfortranarrayr§  Úintr¿  rÃ  r¡   rí   rõ   )rª   rÄ  rj   rÅ  r�  r‚  s         rn   r©   r©   O  sù   € õ �nÑ%Ô%€Iå
Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AÝ
Ô˜!ÑÔ€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ! .°!Ñ4Ô4€Aà‡M‚M�!�QÑÔÐåˆy˜+Ñ&Ô&ð Ø×Ò˜AÑÔÐåˆy˜)Ñ$Ô$ð Ø×Ò˜!ÑÔÐÐÐðð rp   c                ó¦  — t          |¦  «        }	 dd l}t          j        ddgddgddgddgddgddgddgddgddgddgddgddgg¦  «        }|                     t          ||¦  «        d¬¦  «        }|                     g d¢¦  «        }|                     dgd	z  ¦  «        }t          |¦  «        j        j	        s0t          |¦  «        j        j
        r|                     |d¬¦  «        }	 |                     |||¬
¦  «         d S # t          $ r# t          d                     | ¦  «        ¦  «        ‚w xY w# t          $ r t          d¦  «        ‚w xY w)Nr   rt  r+  r  r$  FrÌ  ©rt  rt  rt  rt  r+  r+  r+  r+  rt  rt  r+  r+  é   ©r‰   zPEstimator {0} raises error if 'sample_weight' parameter is of type pandas.SerieszUpandas is not installed: not testing for input of type pandas.Series to class weight.)r   Úpandasr‡  ÚarrayÚ	DataFramerä  ÚSeriesrN   r¸   rÃ   r¹   rÃ  rh  r  ÚImportErrorrR   )rª   rÄ  rj   Úpdr�  r‚  Úweightss          rn   r�   r�   e  s´  € õ �nÑ%Ô%€Ið'
ØÐÐÐåŒHà�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�Ø�A�ðñ
ô 
ˆð  �LŠLÕ2°>À1ÑEÔEÈEˆLÑRÔRˆØ�IŠIÐ:Ð:Ð:Ñ;Ô;ˆØ—)’)˜Q˜C "™HÑ%Ô%ˆå˜Ñ#Ô#Ô/Ô=ð	,å˜Ñ#Ô#Ô/Ô<ð	,ð —’˜Q U�Ñ+Ô+ˆAð	Ø�MŠM˜!˜Q¨gˆMÑ6Ô6Ð6Ð6Ð6øÝð 	ð 	ð 	Ýð%ç%+¢V¨D¡\¤\ñô ð ð	øøøøõ ð 
ð 
ð 
Ýð;ñ
ô 
ð 	
ð
øøøs   ‘CD6 Ã,D Ä-D3Ä3D6 Ä6Ec                óä  — t          |¦  «        }t          j        ddgddgddgddgddgddgddgddgddgddgddgddgg¦  «        }t          t	          ||¦  «        ¦  «        }t          g d¢¦  «        }t          dgdz  ¦  «        }t          |¦  «        }|j        j        s4|j        j        r(t          |j	         
                    dd¦  «        ¦  «        }|                     |||¬¦  «         d S )	Nrt  r+  r  r$  r>  r?  éÿÿÿÿr@  )r   r‡  rB  r…  rä  rN   r¸   rÃ   r¹   r‰  ÚreshaperÃ  )rª   rÄ  rj   r�  r‚  rG  rl   s          rn   r�   r�   ”  s  € õ �nÑ%Ô%€IÝ
Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð	
ñ	ô 	€Aõ  	Õ-¨n¸aÑ@Ô@ÑAÔA€AÝÐ8Ð8Ð8Ñ9Ô9€AÝ˜1˜# ™(Ñ#Ô#€GÝ�IÑÔ€DØÔÔ)ð /¨dÔ.>Ô.Kð /Ý˜œŸš r¨1Ñ-Ô-Ñ.Ô.ˆØ‡M‚M�!�Q g€MÑ.Ô.Ð.Ð.Ð.rp   c                ó<  — t          |¦  «        }t          j                             d¦  «        }d}t	          ||                     |df¬¦  «        ¦  «        }t          j        |¦  «        dz  }t          ||¦  «        }dg|z  }|                     |||¬¦  «         d S )Nr   rÉ  r  r±  r@  )	r   r‡  r¹  rº  rä  r  Úaranger¿  rÃ  )rª   rÄ  rj   Úrndrx  r�  r‚  r‰   s           rn   r‘   r‘   ²  s˜   € õ �nÑ%Ô%€IÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ€IÝ! .°#·+²+ÀIÈqÀ>°+Ñ2RÔ2RÑSÔS€AÝ
Œ	�)ÑÔ˜qÑ €AÝ! )¨QÑ/Ô/€AØ�C˜)‘O€Mà‡M‚M�!�Q m€MÑ4Ô4Ð4Ð4Ð4rp   c                óZ  — t          |¦  «        }t          d¬¦  «        \  }}t          ||¦  «        }t          ||¦  «        }t	          j        t          |¦  «        ¦  «        }t          t          d¬¦  «        5  | 	                    |||¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z@Check that estimator raises error when all sample weights are 0.rw  ©r}  z%(.*weight.*zero.*)|(.*zero.*weight.*)©r·  r@  N)
r   r"   rä  r¿  r‡  Úzerosr^   r\   rh  rÃ  )rª   rÄ  rj   r�  r‚  r‰   s         rn   r’   r’   Á  sê   € õ �nÑ%Ô%€Iå¨BÐ/Ñ/Ô/�D€A€qÝ! )¨QÑ/Ô/€AÝ! )¨QÑ/Ô/€Aå”H�\¨!™_œ_Ñ-Ô-€Mõ 
•
Ð"JÐ	KÑ	KÔ	Kð 9ð 9Ø�Š�a˜¨-ˆÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   Á:B Â B$Â'B$c                óþ  — t          |¦  «        }t          j        ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }|                     ||t          j        t          |¦  «        ¦  «        ¬¦  «         t          t          ¦  «        5  |                     ||t          j        dt          |¦  «        z  ¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |                     ||t          j        t          |¦  «        df¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrt  r  r+  r$  ©rt  rt  rt  rt  r+  r+  r+  r+  rt  rt  rt  rt  r+  r+  r+  r+  r@  )	r   r‡  rB  r¿  rÃ  rå  Úlenr\   rh  )rª   rÄ  rj   r�  r‚  s        rn   r•   r•   ×  s'  € õ �nÑ%Ô%€IÝ
Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð!	
ñ	ô 	€Aõ( 	ŒÐAÐAÐAÑBÔB€AÝ! )¨QÑ/Ô/€Aà‡M‚M�!�Q¥b¤g­c°!©f¬f¡o¤o€MÑ6Ô6Ð6å	•
Ñ	Ô	ð ?ð ?Ø�Š�a˜­"¬'°!µc¸!±f´f±*Ñ*=Ô*=ˆÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ 
•
Ñ	Ô	ð @ð @Ø�Š�a˜­"¬'µ3°q±6´6¸1°+Ñ*>Ô*>ˆÑ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s$   Ã;DÄDÄDÄ+:E2Å2E6Å9E6c                ó2  — t          |¦  «        }t          |¦  «        }t          |d¬¦  «         t          |d¬¦  «         t          j                             d¦  «        }d}|                     ||dz  ¦  «        }|                     dd|¬¦  «        }|                     dd|¬¦  «        }	|}
|}|
                     |	d¬	¦  «        }|                     |	¬
¦  «        }t          |
||	d¬¦  «        \  }
}}	d| 	                    ¦   «         v �rÃt          j
        t          j        |d¦  «        t          j        |d¦  «        t          j        |d¦  «        g¦  «        }t          j
        |	t          j        |¦  «        t          j        |¦  «        g¦  «        }	t          j        |
||g¦  «        }
t          j
        |||g¦  «        }t          t          ¦   «                              |
|¬¦  «        ¦  «        }|                     |¬¦  «         t          j
        t          j        |d¦  «        t          j        |d¦  «        t          j        |d¦  «        g¦  «        }t          j        |||g¦  «        }t          j
        |||g¦  «        }t          t          ¦   «                              ||¬¦  «        ¦  «        }|                     |¬¦  «         t%          ||¦  «        }t%          ||¦  «        }|� ||
¦  «        }
 ||¦  «        }|                     ||d ¬¦  «         |                     |
||	¬¦  «         dD ]_}t)          ||¦  «        rM t+          ||¦  «        |¦  «        } t+          ||¦  «        |¦  «        }d| › d|› d�}t-          |||¬¦  «         Œ`d S )Nr   rO  rw  r  r+  r  r±  r°  )ÚrepeatsÚaxis)rV  Úcvrt  )Úgroups©rX  )r‚  r‰   )rß  rÝ  rõ   rí   zComparing the output of rá  zn revealed that fitting with `sample_weight` is not equivalent to fitting with removed or repeated data points.©r¸  )r   r]   r‡  r¹  rº  Úrandr  Úrepeatr8   rÅ   ÚhstackÚ	full_likeÚ	ones_likeÚvstackÚlistr0   Úsplitr.  r¿  rÃ  r¡   rg   rV   )rª   rÄ  Úsparse_containerÚestimator_weightedÚestimator_repeatedrÅ  rx  r�  r‚  ÚswÚ
X_weightedÚ
y_weightedÚ
X_repeatedÚ
y_repeatedÚgroups_weightedÚsplits_weightedÚgroups_repeatedÚsplits_repeatedr  ÚX_pred1ÚX_pred2r¸  s                         rn   Ú _check_sample_weight_equivalencerr  ü  s¿  € õ ˜~Ñ.Ô.ÐÝ˜~Ñ.Ô.ÐÝÐ'°aÐ8Ñ8Ô8Ð8ÝÐ'°aÐ8Ñ8Ô8Ð8å
Œ)×
Ò
 Ñ
#Ô
#€CØ€IØ�Š�˜I¨™MÑ*Ô*€AØ�Š�A�q˜yˆÑ)Ô)€Aà	�Š�Q˜ 	ˆÑ	*Ô	*€Bà€JØ€Jà×"Ò"¨2°AÐ"Ñ6Ô6€JØ×"Ò"¨2Ð"Ñ.Ô.€Jå!(¨°ZÀÐRSÐ!TÑ!TÔ!TÑ€J�
˜Bð ˆ~×(Ò(Ñ*Ô*Ð*Ñ*Ýœ)ÝŒ\˜* aÑ(Ô(­"¬,°q¸!Ñ*<Ô*<½b¼lÈ1ÈaÑ>PÔ>PÐQñ
ô 
ˆõ ŒY˜�BœL¨™OœO­R¬\¸!©_¬_Ð=Ñ>Ô>ˆÝ”Y 
¨A¨qÐ1Ñ2Ô2ˆ
Ý”Y 
¨A¨qÐ1Ñ2Ô2ˆ
ÝÝÑÔ×$Ò$ Z¸Ð$ÑHÔHñ
ô 
ˆð 	×%Ò%¨Ð%Ñ9Ô9Ð9åœ)ÝŒ\˜* aÑ(Ô(­"¬,°q¸!Ñ*<Ô*<½b¼lÈ1ÈaÑ>PÔ>PÐQñ
ô 
ˆõ ”Y 
¨A¨qÐ1Ñ2Ô2ˆ
Ý”Y 
¨A¨qÐ1Ñ2Ô2ˆ
ÝÝÑÔ×$Ò$ Z¸Ð$ÑHÔHñ
ô 
ˆð 	×%Ò%¨Ð%Ñ9Ô9Ð9å*Ð+=¸zÑJÔJ€JÝ*Ð+=¸zÑJÔJ€Jð Ð#Ø%Ð% jÑ1Ô1ˆ
Ø%Ð% jÑ1Ô1ˆ
à×Ò˜:¨À4ÐÑHÔHÐHØ×Ò˜:¨À2ÐÑFÔFÐFàPð 	Lð 	LˆÝ�> 6Ñ*Ô*ð 	LØ9•gÐ0°&Ñ9Ô9¸!Ñ<Ô<ˆGØ9•gÐ0°&Ñ9Ô9¸!Ñ<Ô<ˆGð+¨4ð +ð +°&ð +ð +ð +ð õ
 )¨°'À7ÐKÑKÔKÐKøð	Lð 	Lrp   c                ó*   — t          | |d ¬¦  «         d S )N)rd  )rr  r7  s     rn   r—   r—   C  s   € Ý$ T¨>ÈDÐQÑQÔQÐQÐQÐQrp   c                ó<   — t          | |t          j        ¦  «         d S rH  )rr  r   r   r7  s     rn   r˜   r˜   G  s   € Ý$ T¨>½6Ô;KÑLÔLÐLÐLÐLrp   c                ó  — t          |¦  «        }t          |d¬¦  «         t          j        ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddggt          j        ¬¦  «        }t          j        g d¢t
          ¬¦  «        }t          ||¦  «        }t          j        |j        d         ¦  «        }d	|d<   | 	                    ¦   «         }| 
                    |||¬
¦  «         | › d�}t          |||¬¦  «         d S )Nr   rO  rt  r  r+  r$  rÍ  rS  g      $@r@  z8 overwrote the original `sample_weight` given during fitr[  )r   r]   r‡  rB  rË  r<  r¿  rå  râ  r€  rÃ  rU   )rª   rÄ  rj   r�  r‚  Úsample_weight_originalÚsample_weight_fitr¸  s           rn   r–   r–   K  sW  € å�nÑ%Ô%€IÝ�Y¨QÐ/Ñ/Ô/Ð/å
Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð!	
õ$ Œjð'	ñ 	ô 	€Aõ* 	ŒÐAÐAÐAÍÐMÑMÔM€AÝ! )¨QÑ/Ô/€AåœW Q¤W¨Q¤ZÑ0Ô0ÐØ $Ð˜1Ñà.×3Ò3Ñ5Ô5Ðà‡M‚M�!�QÐ&7€MÑ8Ô8Ð8àÐOÐOÐO€GÝÐ%Ð'=ÀwÐOÑOÔOÐOÐOÐOrp   c                ó  — t           j                             d¦  «        }d}d}||z  }t          ||                     |df¬¦  «        ¦  «        }|                     t          ¦  «        }t          |¦  «        }t          j        t          j	        |¦  «        |¦  «        }| 
                    |¦  «        }t          |¦  «        }	t          |	|¦  «        }|	                     ||¦  «         t          |	d¦  «        r|	                     |¦  «         t          |	d¦  «        r|	                     |¦  «         d}
t#          t$          d	d
|
¬¦  «        5  |	                     ||                     t          ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        j        sPddi|d<   d}t#          t*          |¬¦  «        5  |	                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |	                     ||¦  «         d S )Nr   r$  é   rs  r±  rõ   rí   zãy with unknown label type is passed, but an error with no proper message is raised. You can use `type_of_target(..., raise_unknown=True)` to check and raise the right error, or include 'Unknown label type' in the error message.zUnknown label typeTr)  ÚfooÚbar©r   r   z#argument must be .* string.* numberrP  )r‡  r¹  rº  rä  r  r§  ÚobjectrN   r]  rL  Úpermutationr   r¿  rÃ  r¡   rõ   rí   r\   ri  r“   ÚstringrT  )rª   rÄ  rÅ  Ú	n_classesÚn_samples_per_classÚn_samples_totalr�  rl   r‚  rj   r¸  rV  s               rn   r›   r›   s  s‚  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ€IØÐØÐ"5Ñ5€OÝ!Ø˜Ÿš¨/¸2Ð)>˜Ñ?Ô?ñ	ô 	€Að 	
�Š•ÑÔ€AÝ�NÑ#Ô#€DÝ
Œ	•"”)˜IÑ&Ô&Ð(;Ñ<Ô<€AØ�Š˜ÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aà‡M‚M�!�QÑÔÐÝˆy˜)Ñ$Ô$ð Ø×Ò˜!ÑÔÐåˆy˜+Ñ&Ô&ð Ø×Ò˜AÑÔÐð	ð õ 
•	Ð!5ÀÈgÐ	VÑ	VÔ	Vð +ð +Ø�Š�a˜Ÿš¥&Ñ)Ô)Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð Œ?Ô!ð Ø˜%�.ˆˆ$‰ð 4ˆÝ•I SÐ)Ñ)Ô)ð 	 ð 	 Ø�MŠM˜!˜QÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	�Š�a˜ÑÔÐÐÐs$   Å/FÆFÆFÆ>G"Ç"G&Ç)G&c                óÐ  — t           j                             d¦  «        }|                     d¬¦  «        d|                     d¬¦  «        z  z   }|                     dd¦  «        }|                     ddd¬	¦  «        dz   }t          |¦  «        }t          |d¬
¦  «         t          t          d¬¦  «        5  | 
                    ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrw  rs  r±  y              ð?rI  rt  r   r+  ©ÚlowÚhighr²  rO  zComplex data not supportedrP  )r‡  r¹  rº  r  rJ  r  r   r]   r\   rh  rÃ  )rª   rÄ  rÅ  r�  r‚  rj   s         rn   rš   rš   ¤  s  € Ý
Œ)×
Ò
 Ñ
#Ô
#€Cà�Š˜ˆÑÔ˜r C§K¢K°R KÑ$8Ô$8Ñ8Ñ8€AØ	�	Š	�"�aÑÔ€Að 	�Š˜ ¨ˆÑ+Ô+¨bÑ0€AÝ�nÑ%Ô%€IÝ�Y¨QÐ/Ñ/Ô/Ð/Ý	•
Ð">Ð	?Ñ	?Ô	?ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â7CÃCÃ"Cc                ó&  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «         | 
                    ||¦  «         dD ]\}t          ||¦  «        rJ|j                             ¦   «         } t          ||¦  «        |¦  «         |j        |k    sJ d|z  ¦   «         ‚Œ]d S )Nr   r  r:  r±  rt  ©rõ   rí   rÝ  rß  z$Estimator changes __dict__ during %s)r‡  r¹  rº  r  rä  r§  r<  r   r¿  r]   rÃ  r¡   Ú__dict__r€  rg   )rª   rÄ  rM  r�  r‚  rj   r  Údict_befores           rn   r  r  ²  s  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€Aà	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€AÝ�Y Ñ"Ô"Ð"à‡M‚M�!�QÑÔÐØPð ð ˆÝ�9˜fÑ%Ô%ð 	Ø#Ô,×1Ò1Ñ3Ô3ˆKØ&�G�I˜vÑ&Ô& qÑ)Ô)Ð)ØÔ%¨Ò4Ð4Ð4Ø6¸Ñ?ñ 5Ô4Ð4øð	ð rp   c                óX   — |                       d¦  «        p|                      d¦  «         S )Nr  )rÀ  rÁ  )Úattrs    rn   Ú_is_public_parameterr�  Ç  s(   € Ø—’ Ñ$Ô$Ð:¨¯ª°cÑ(:Ô(:Ð;Ð;rp   c                ó  ‡	‡
— t          |¦  «        }t          j                             d¦  «        }d|                     d¬¦  «        z  }t          ||¦  «        }|d d …df                              t          ¦  «        }t          ||¦  «        }t          |d¦  «        rd|_
        t          |d¦  «        rd|_        t          |d¦  «         |j                             ¦   «         Š
|                     ||¦  «         |j        Š	d„ ‰	                     ¦   «         D ¦   «         }ˆ
fd	„|D ¦   «         }|r J d
d                     |¦  «        z  ¦   «         ‚ˆ	ˆ
fd„|D ¦   «         }|r J dd                     |¦  «        z  ¦   «         ‚d S )Nr   r  r:  r±  Ún_componentsrt  Ú
n_clustersc                ó0   — g | ]}t          |¦  «        ¯|‘ŒS rN  )r�  )rI  rÓ  s     rn   ú
<listcomp>z3check_dont_overwrite_parameters.<locals>.<listcomp>à  s6   € ð ð ð ØÕ0DÀSÑ0IÔ0IðØðð ð rp   c                ó@   •— g | ]}|‰                      ¦   «         v¯|‘ŒS rN  )rÆ   )rI  rÓ  Údict_before_fits     €rn   r’  z3check_dont_overwrite_parameters.<locals>.<listcomp>ä  s6   ø€ ð ð ð Ø°¸?×;OÒ;OÑ;QÔ;QÐ0QÐ0QˆÐ0QÐ0QÐ0Qrp   z¢Estimator adds public attribute(s) during the fit method. Estimators are only allowed to add private attributes either started with _ or ended with _ but %s addedú, c                ó4   •— g | ]}‰|         ‰|         u¯|‘ŒS rN  rN  )rI  rÓ  Údict_after_fitr”  s     €€rn   r’  z3check_dont_overwrite_parameters.<locals>.<listcomp>ò  s8   ø€ ð ð ð àØ˜CÔ ¨°sÔ(;Ð;Ð;ð 	à;Ð;Ð;rp   z•Estimator changes public attribute(s) during the fit method. Estimators are only allowed to change attributes started or ended with _, but %s changed)r   r‡  r¹  rº  r  rä  r§  r<  r¿  r¡   r�  r�  r]   r‰  r€  rÃ  rÆ   Újoin)rª   rÄ  rj   rM  r�  r‚  Úpublic_keys_after_fitÚattrs_added_by_fitÚattrs_changed_by_fitr—  r”  s            @@rn   r~   r~   Ë  së  øø€ õ �nÑ%Ô%€IÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"ØÔ(×-Ò-Ñ/Ô/€OØ‡M‚M�!�QÑÔÐàÔ'€Nðð Ø%×*Ò*Ñ,Ô,ðñ ô Ððð ð ð Ø,ðñ ô Ðð
 "ð ð ð	ð "&§¢Ð+=Ñ!>Ô!>ñ		?ñô Ð!ðð ð ð ð à(ðñ ô Ðð $ð ð ð	ð Ÿ	š	Ð"6Ñ7Ô7ñ		8ñô Ð#ð ð rp   c                óˆ  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_
        t          |d¦  «        rd|_        t          |d¦  «         |                     ||¦  «         dD ]_}t          ||¦  «        rMt          t          d	¬
¦  «        5   t!          ||¦  «        |d         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ`d S )Nr   r  r:  r±  r�  rt  r�  rˆ  zReshape your datarP  )r‡  r¹  rº  r  rä  r§  r<  r   r¿  r¡   r�  r�  r]   rÃ  r\   rh  rg   )rª   rÄ  rM  r�  r‚  rj   r  s          rn   r  r    s„  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"Ø‡M‚M�!�QÑÔÐàPð 1ð 1ˆÝ�9˜fÑ%Ô%ð 	1Ý�
Ð*=Ð>Ñ>Ô>ð 1ð 1Ø*•˜	 6Ñ*Ô*¨1¨Q¬4Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1øð1ð 1s   Ä
 D6Ä6D:	Ä=D:	c                ó‚  ‡ ‡—  ‰ |¦  «        }|j         d         Šˆ ˆfd„|D ¦   «         }t          |t          ¦  «        r&|d         }t          t	          d„ |¦  «        ¦  «        }t          j        |¦  «        r |                     ¦   «         }d„ |D ¦   «         }t          j	        |¦  «        t          j	        |¦  «        fS )Nrt  c                óN   •— g | ]!} ‰|                      d ‰¦  «        ¦  «        ‘Œ"S )rt  )rJ  )rI  Úbatchr#  ry  s     €€rn   r’  z%_apply_on_subsets.<locals>.<listcomp>  s1   ø€ ÐIÐIÐI¸e�t�t˜EŸMšM¨!¨ZÑ8Ô8Ñ9Ô9ÐIÐIÐIrp   r   c                ó   — | d         S )Nr   rN  )Úxs    rn   ú<lambda>z#_apply_on_subsets.<locals>.<lambda>"  s
   € ¨Q¨q¬T€ rp   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rN  )Útoarray)rI  r¡  s     rn   r’  z%_apply_on_subsets.<locals>.<listcomp>&  s    € Ð@Ð@Ð@¨1˜1Ÿ9š9™;œ;Ð@Ð@Ð@rp   )
râ  rt   Útuplerb  Úmapr   Úissparser¤  r‡  Úravel)r#  r�  Úresult_fullÚresult_by_batchry  s   `   @rn   Ú_apply_on_subsetsr«    sÅ   øø€ à�$�q‘'”'€KØ”˜”€JØIÐIÐIÐIÐIÀqÐIÑIÔI€Oõ �+�uÑ%Ô%ð EØ! !”nˆÝ�s > >°?ÑCÔCÑDÔDˆå„�{Ñ#Ô#ð AØ!×)Ò)Ñ+Ô+ˆØ@Ð@°Ð@Ñ@Ô@ˆåŒ8�KÑ Ô ¥"¤(¨?Ñ";Ô";Ð;Ð;rp   c                ó„  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_
        t          |d¦  «        rd|_        t          |d¦  «         |                     ||¦  «         dD ]]}d	                     || ¬
¦  «        }t          ||¦  «        r4t          t!          ||¦  «        |¦  «        \  }}	t#          ||	d|¬¦  «         Œ^d S )Nr   r  r:  r±  r�  rt  r�  ©rõ   rí   rÝ  rÜ  rß  z={method} of {name} is not invariant when applied to a subset.©r  rª   çH¯¼šò×z>©rÚ  r¸  )r‡  r¹  rº  r  rä  r§  r<  r   r¿  r¡   r�  r�  r]   rÃ  r  r«  rg   rU   )
rª   rÄ  rM  r�  r‚  rj   r  rV  r©  rª  s
             rn   r  r  +  se  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"Ø‡M‚M�!�QÑÔÐðð Rð Rˆð O×VÒVØ ð Wñ 
ô 
ˆõ �9˜fÑ%Ô%ð 	RÝ+<Ý˜	 6Ñ*Ô*¨Añ,ô ,Ñ(ˆK˜õ ˜K¨¸tÈSÐQÑQÔQÐQøðRð Rrp   c           
     óŠ  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t           j        ¦  «        }t          |¦  «        }|j        �|j        j	        s	d||dk    <   t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_        t          |d¦  «        rd|_        t          |d¦  «         |                     ||¦  «         t           j                             |j        d         ¦  «        }d	D ]†}d
                     || ¬¦  «        }	t          ||¦  «        r]t)          t+           t-          ||¦  «        |¦  «        |¦  «         t-          ||¦  «        t+          ||¦  «        ¦  «        d|	¬¦  «         Œ‡d S )Nr   r  r:  r±  rt  r+  r�  r�  r­  zY{method} of {name} is not invariant when applied to a datasetwith different sample order.r®  ç•Ö&è.>r°  )r‡  r¹  rº  r  rä  r§  r¢  rN   r®   rË   r   r¿  r¡   r�  r�  r]   rÃ  r~  râ  r  rV   r7   rg   )
rª   rÄ  rM  r�  r‚  rl   rj   Úidxr  rV  s
             rn   r  r  P  sÇ  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•r”xÑ Ô €AÝ�NÑ#Ô#€DØÔÐ'°Ô0DÔ0PÐ'Øˆˆ!ˆqŠ&‰	Ý�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"Ø‡M‚M�!�QÑÔÐå
Œ)×
Ò
 ¤¨¤
Ñ
+Ô
+€Cðð ð ˆð+ç
Š&˜ Tˆ&Ñ
*Ô
*ð 	õ
 �9˜fÑ%Ô%ð 	Ý(ÝÐ9�w y°&Ñ9Ô9¸!Ñ<Ô<¸cÑBÔBØ*•˜	 6Ñ*Ô*­>¸!¸SÑ+AÔ+AÑBÔBØØð	ñ ô ð øðð rp   c                óœ  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_
        t          |d¦  «        rd|_        t          |d¦  «         | dk    r|                     d	¬
¦  «         | dk    r|                     d¬¦  «         g d¢}t          t          |d¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r  )rt  rs  r±  r�  rt  r�  ÚOPTICSç      ð?)Úmin_samplesÚTSNEç      à?)Ú
perplexity)z1 samplezn_samples = 1zn_samples=1z
one samplez1 classz	one classT©r·  r*  )r‡  r¹  rº  r  rä  r§  r<  r   r¿  r¡   r�  r�  r]   r.  r\   rh  rÃ  ©rª   rÄ  rM  r�  r‚  rj   Úmsgss          rn   r  r  }  s£  € õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€Aà	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"ð ˆxÒÐØ×Ò¨ÐÑ-Ô-Ð-ð ˆv‚~€~Ø×Ò¨ÐÑ,Ô,Ð,ðð ð €Dõ 
•
 $°Ð	6Ñ	6Ô	6ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÄEÅEÅEc                ó€  — t           j                             d¦  «        }d|                     d¬¦  «        z  }t	          ||¦  «        }|d d …df                              t          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_
        t          |d¦  «        rd|_        | dk    rd|_        | d	k    rd
|_        t          ||¦  «        }t          |d¦  «         g d¢}t          t           |d¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r  )rs  rt  r±  r�  rt  r�  ÚRandomizedLogisticRegressionÚRANSACRegressorr¹  )z1 feature\(s\)zn_features = 1zn_features=1Tr»  )r‡  r¹  rº  r  rä  r§  r<  r   r¿  r¡   r�  r�  Úsample_fractionÚresidual_thresholdr]   r\   rh  rÃ  r¼  s          rn   r  r  ¦  sŒ  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜WˆKÑ%Ô%Ñ%€AÝ! .°!Ñ4Ô4€AØ	ˆ!ˆ!ˆ!ˆQˆ$Œ�Š•sÑÔ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	ÔàÐ-Ò-Ð-Ø$%ˆ	Ô!àÐ Ò Ð Ø'*ˆ	Ô$å! )¨QÑ/Ô/€AÝ�Y Ñ"Ô"Ð"à@Ð@Ð@€Då	•
 $°Ð	6Ñ	6Ô	6ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÄD3Ä3D7Ä:D7c                óê  — t           j                             d¦  «        }d|                     d¬¦  «        z  }|                     t
          ¦  «        }t          |¦  «        }t          ||¦  «        }t          |d¦  «        rd|_	        t          |d¦  «        rd|_
        t          |d¦  «         t          t          ¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r  rv  r±  r�  rt  r�  )r‡  r¹  rº  r  r§  r<  r   r¿  r¡   r�  r�  r]   r\   rh  rÃ  )rª   rÄ  rM  r�  r‚  rj   s         rn   r  r  Å  s&  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ	ˆC�KŠK˜bˆKÑ"Ô"Ñ"€AØ	�Š•‰Œ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aåˆy˜.Ñ)Ô)ð #Ø!"ˆ	ÔÝˆy˜,Ñ'Ô'ð !Ø ˆ	Ôå�Y Ñ"Ô"Ð"Ý	•
Ñ	Ô	ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÃC(Ã(C,Ã/C,c                óò   — t          dg d¢g d¢gddd¬¦  «        \  }}t          ¦   «                              |¦  «        }t          ||¦  «        }|rt	          ||g¦  «        \  }}t          | |||¦  «         d S ©NrÉ  ©r   r   r   ©rt  rt  rt  r   r+  çš™™™™™¹?©rx  Úcentersr}  ry  Úcluster_std)r!   r5   r  rä  rZ   Ú_check_transformer)rª   rç   rŒ   r�  r‚  s        rn   rá   rá   Ø  s—   € åØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	ÑÔ×&Ò& qÑ)Ô)€AÝ! +¨qÑ1Ô1€Aàð 1Ý(¨!¨Q¨Ñ0Ô0‰ˆˆ1å�t˜[¨!¨QÑ/Ô/Ð/Ð/Ð/rp   c                ó’  — t          dg d¢g d¢gddd¬¦  «        \  }}t          ¦   «                              |¦  «        }t          ||¦  «        }t	          |¦  «        }t	          t          j        |¦  «        ¦  «        }t          | |||¦  «         t          | ||                     ¦   «         |                     ¦   «         ¦  «         d S rÅ  )	r!   r5   r  rä  r…  r‡  rˆ  rÌ  Útolist)rª   rç   r�  r‚  Úthis_XÚthis_ys         rn   rà   rà   ê  s¾   € åØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	ÑÔ×&Ò& qÑ)Ô)€AÝ! +¨qÑ1Ô1€AÝ˜‰^Œ^€FÝ�œ A™œÑ'Ô'€FÝ�t˜[¨&°&Ñ9Ô9Ð9å�t˜[¨!¯(ª(©*¬*°a·h²h±j´jÑAÔAÐAÐAÐArp   c                óä   — t          ¦   «         \  }}t          |¦  «        }t          t          t          fd| › d�¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzThe unfitted transformer z\ does not raise an error when transform is called. Perhaps use check_is_fitted in transform.r[  )rƒ  r   r\   ÚAttributeErrorrh  rí   )rª   rç   r�  r‚  s       rn   rä   rä   ü  sÌ   € åÑ Ô �D€A€qå˜Ñ$Ô$€KÝ	Ý	�Ð$ð,Øð,ð ,ð ,ð
ñ 
ô 
ð 	!ð 	!ð 	×Ò˜aÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   ÁA%Á%A)Á,A)c                ó  — t           j                             d¦  «        }|                     d¬¦  «        }t	          ||¦  «        }t          |¦  «        }|                     |¦  «        }|j        d         |j        d         k    sJ ‚dS )ztCheck that using transform without prior fitting
    doesn't raise a NotFittedError for stateless transformers.
    r   ©rv  r°  r±  N)r‡  r¹  rº  r  rä  r   rí   râ  )rª   rç   rÅ  r�  ÚX_transs        rn   rå   rå   	  s   € õ
 Œ)×
Ò
 Ñ
"Ô
"€CØ�Š˜ˆÑ!Ô!€AÝ! +¨qÑ1Ô1€Aå˜Ñ$Ô$€KØ×#Ò# AÑ&Ô&€GàŒ=˜Ô˜qœw qœzÒ)Ð)Ð)Ð)Ð)Ð)rp   c                ól  — t          j        |¦  «        j        \  }}t          |¦  «        }t	          |¦  «         | t
          v rrt           j        t          j        |¦  «        t          j        |¦  «        f         }|d d d…dfxx         dz  cc<   t          |t          ¦  «        rt          |¦  «        }n|}| 	                    ||¦  «         t          |¦  «        }| 
                    ||¬¦  «        }	t          |	t          ¦  «        r|	D ]}
|
j        d         |k    sJ ‚Œn|	j        d         |k    sJ ‚t          |d¦  «        �ræ| t
          v r.|                     ||¦  «        }| 
                    ||¬¦  «        }n,|                     |¦  «        }| 
                    ||¬¦  «        }t          |¦  «        j        r| dz   }t!          |¦  «        ‚t          |	t          ¦  «        rZt          |t          ¦  «        rEt#          |	||¦  «        D ]2\  }
}}t%          |
|dd|z  ¬	¦  «         t%          |
|dd
|z  ¬	¦  «         Œ3nVt%          |	|d|z  d¬¦  «         t%          |	|dd
|z  ¬	¦  «         t'          |¦  «        |k    sJ ‚t'          |¦  «        |k    sJ ‚t          |d¦  «        rˆt          |¦  «        j        rv|j        dk    rm|j        d         dk    r^t-          t.          d| › d�¬¦  «        5  |                     |d d …d d…f         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S d S d S d S d S )Nr+  rt  ©r‚  r   rí   ú is non deterministicç{®Gáz„?z9fit_transform and transform outcomes not consistent in %sr°  z7consecutive fit_transform outcomes not consistent in %srÙ  râ  zThe transformer zr does not raise an error when the number of features in transform is different from the number of features in fit.r[  rI  )r‡  rˆ  râ  r   r]   rO   Úc_rt   r…  rÃ  r  r¥  r¡   rí   rN   r  rR   ÚziprV   r^   r�   Úndimr\   rh  )rª   Útransformer_origr�  r‚  rx  ry  rç   Úy_Útransformer_cloneÚX_predÚx_predrq  ÚX_pred3rV  Úx_pred2Úx_pred3s                   rn   rÌ  rÌ  	  s8  € ÝœJ q™MœMÔ/Ñ€IˆzÝÐ(Ñ)Ô)€KÝ�[Ñ!Ô!Ð!ð Õ"Ð"Ð"ÝŒU•2”:˜a‘=”=¥"¤*¨Q¡-¤-Ð/Ô0ˆØ
ˆ3ˆ3ˆQˆ3�ˆ6ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
Ý�a�Ñ%Ô%ð 	!Ý˜R‘”ˆBøàˆà‡O‚O�A�rÑÔÐå˜kÑ*Ô*ÐØ×,Ò,¨Q°"Ð,Ñ5Ô5€Få�&�%Ñ Ô ð ,Øð 	0ð 	0ˆFØ”< ”? iÒ/Ð/Ð/Ð/Ð/ð	0ð Œ|˜AŒ )Ò+Ð+Ð+Ð+åˆ{˜KÑ(Ô(ñ =1ØÕ&Ð&Ð&Ø!×+Ò+¨A¨rÑ2Ô2ˆGØ!×/Ò/°°RÐ/Ñ8Ô8ˆGˆGà!×+Ò+¨AÑ.Ô.ˆGØ!×/Ò/°°RÐ/Ñ8Ô8ˆGåÐ$Ñ%Ô%Ô7ð 	 ØÐ0Ñ0ˆCÝ˜3‘-”-ÐÝ�f�eÑ$Ô$ð  	6­°G½UÑ)CÔ)Cð  	6Ý,/°¸ÀÑ,IÔ,Ið ð Ñ(�˜ Ý,ØØØØWØ!ñ"ð	ñ ô ð õ -ØØØØUØ!ñ"ð	ñ ô ð ð ðõ  )ØØØSØñàðñ ô ð õ )ØØØØQØñð	ñ ô ð õ   Ñ(Ô(¨IÒ5Ð5Ð5Ð5Ý Ñ(Ô(¨IÒ5Ð5Ð5Ð5õ �A�wÑÔð	1å˜Ñ%Ô%Ô2ð	1ð ”˜!’�Ø”˜”
˜Q’�õ Ýð5 tð 5ð 5ð 5ðñ ô ð 1ð 1ð ×%Ò% a¨¨¨¨3¨B¨3¨¤iÑ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1ðk=1ð =1ð\	1ð 	1ð 	1ð 	1ð �Ø�s   Ë0"LÌL#Ì&L#c                ó8  — t          |¦  «        j        r| dz   }t          |¦  «        ‚t          dg d¢g d¢gddd¬¦  «        \  }}t	          ||t
          ¬	¦  «        }t          |¦  «        }t          ||¦  «        }t          |¦  «         t          |¦  «        }| 
                    ||¦  «         | 
                    ||¦  «         d
dg}|D ]M}t          ||d ¦  «        }	|	�8t          ||¦  «        }
 |	||¦  «        } |
||¦  «        }t          ||¦  «         ŒNd S )NrØ  rÉ  rÆ  rÇ  r   r+  rÈ  rÉ  ©ÚkernelrÛ  r  )rN   r  rR   r!   rä  r/   r   r¿  r]   r4   rÃ  rg   rV   )rª   rÄ  rV  r�  r‚  rj   ÚpipelineÚfuncsÚ	func_namer#  Úfunc_pipeliner  Úresult_pipes                rn   r�   r�   w	  sQ  € å�ÑÔÔ1ð ØÐ,Ñ,ˆÝ�s‰mŒmÐõ ØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	" .°!½JÐGÑGÔG€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€AÝ�YÑÔÐÝ˜YÑ'Ô'€HØ‡M‚M�!�QÑÔÐØ‡L‚L��AÑÔÐà�oÐ&€Eàð >ð >ˆ	Ý�y )¨TÑ2Ô2ˆØÐÝ# H¨iÑ8Ô8ˆMØ�T˜!˜Q‘Z”ZˆFØ'˜-¨¨1Ñ-Ô-ˆKÝ(¨°Ñ=Ô=Ð=øð>ð >rp   c                ót  — t           t          ft          t          ft          t          ft          t          ft
          t          ft          t          ft          t          ft          t          ft          t          ft          t          ft          t          fg}g }t          |¦  «                             ¦   «         }|D ]P\  }}||v rG||v rC|                     |¦  «        |                     |¦  «        k    r|                     ||f¦  «         ŒQd                     d„ |D ¦   «         ¦  «        }|rJ | › d|› �¦   «         ‚dS )z5Check that mixins are inherited in the correct order.ú
c              3  ó>   K  — | ]\  }}|j         › d |j         › �V — ŒdS )z comes before/left side of N©re   )rI  Úmixin_aÚmixin_bs      rn   rK  z$check_mixin_order.<locals>.<genexpr>´	  sN   è è € ð ð áˆG�Wð ÔÐJÐJ¸Ô8HÐJÐJðð ð ð ð ð rp   a   is inheriting from mixins in the wrong order. In general, in mixin inheritance, more specialized mixins must come before more general ones. This means, for instance, `BaseEstimator` should be on the right side of most other mixins. You need to change the order so that:
N)r   r   r   r   r   r   r   r   r   r   r   r   r@  ÚmroÚindexrj  r˜  )rª   rÄ  ÚdagÚ
violationsró  rñ  rò  Úviolation_strs           rn   r…   r…   ˜	  sV  € õ 
�-Ð(Ý	�Ð'Ý	•}Ð%Ý	�=Ð)Ý	�Ð'Ý	�}Ð-Ý	(­-Ð8Ý	•}Ð%Ý	•}Ð%Ý	�]Ð+Ý	�=Ð)ð€Cð €JÝ
ˆ~Ñ
Ô
×
"Ò
"Ñ
$Ô
$€CØð 2ð 2Ñˆ�à�sˆNˆNØ˜3��Ø—	’	˜'Ñ"Ô" S§Y¢Y¨wÑ%7Ô%7Ò7Ð7à×Ò˜w¨Ð0Ñ1Ô1Ð1øØ—I’Ið ð à *ðñ ô ñ ô €Mð ð ð Øð 	ð 	ð ð		ð 	ñô ˆ>ð ð rp   c           	     ó^  — t           j                             d¦  «        }d}|                     |df¬¦  «        }t	          ||¦  «        }t          j        |¦  «        dz  }t          |¦  «        }t          ||¦  «        }t          |¦  «         g d¢}|D ]—}t          ||d ¦  «        }	|	�‚ |	||¦  «         d„ t          |	¦  «        j                             ¦   «         D ¦   «         }
|
d         dk    r
|
dd …         }
|
d         d	v s&J d
|›dt          |¦  «        j        ›d|
›d�¦   «         ‚Œ˜d S )Nr   rÉ  r  r±  )rÃ  rÛ  Úpartial_fitrô   r  c                ó   — g | ]	}|j         ‘Œ
S rN  ©rª   )rI  Úps     rn   r’  z+check_fit_score_takes_y.<locals>.<listcomp>Ó	  s   € ÐHÐHÐH˜q�A”FÐHÐHÐHrp   rŠ  rt  )r‚  ÚYz.Expected y or Y as second argument for method ú of z. Got arguments: rá  )r‡  r¹  rº  r  rä  rL  r   r¿  r]   rg   r   Ú
parametersÚvaluesr@  re   )rª   rÄ  rM  rx  r�  r‚  rj   ré  rê  r#  r2  s              rn   r|   r|   Á	  sX  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�Š˜) Q˜ˆÑ(Ô(€AÝ! .°!Ñ4Ô4€AÝ
Œ	�)ÑÔ˜qÑ €AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€AÝ�YÑÔÐàKÐKÐK€EØð ð ˆ	Ý�y )¨TÑ2Ô2ˆØÐØˆD��A‰JŒJˆJØHÐH¥I¨d¡O¤OÔ$>×$EÒ$EÑ$GÔ$GÐHÑHÔHˆDØ�AŒw˜&Ò Ð ð ˜A˜B˜B”x�Ø˜”7˜jÐ(Ð(Ð(Ð(ð �9�9�d 9™oœoÔ6Ð6Ð6¸¸¸ð>ñ )Ô(Ð(øðð rp   c                óÔ  — t           j                             d¦  «        }d|                     d¬¦  «                             t           j        ¦  «        z  }t          ||¦  «        }|                     t           j        ¦  «        }|                     t           j        ¦  «        }|                     t           j	        ¦  «        }t          j
        ddgdz  t           j        ¬¦  «        }t          ||¦  «        }g d	¢}||||fD ]e}	t          |¦  «        }
t          |
d¦  «         |
                     |	|¦  «         |D ]+}t          |
|¦  «        r t!          |
|¦  «        |	¦  «         Œ,Œfd S )
Nr   r  rÔ  r±  rt  r+  rs  rÍ  rˆ  )r‡  r¹  rº  r  r§  r¯   rä  rË  r¢  r,  rB  r¿  r   r]   rÃ  r¡   rg   )rª   rÄ  rM  Ú
X_train_32Ú
X_train_64ÚX_train_int_64ÚX_train_int_32r‚  r  ÚX_trainrj   r  s               rn   rŽ   rŽ   ß	  sY  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ�S—[’[ g�[Ñ.Ô.×5Ò5µb´jÑAÔAÑA€JÝ*¨>¸:ÑFÔF€JØ×"Ò"¥2¤:Ñ.Ô.€JØ×&Ò&¥r¤xÑ0Ô0€NØ×&Ò&¥r¤xÑ0Ô0€NÝ
Œ�!�Q�˜"‘¥B¤HÐ-Ñ-Ô-€AÝ! .°!Ñ4Ô4€AàLÐLÐL€Gà 
¨N¸NÐKð 4ð 4ˆÝ˜.Ñ)Ô)ˆ	Ý˜ AÑ&Ô&Ð&Ø�Š�g˜qÑ!Ô!Ð!àð 	4ð 	4ˆFÝ�y &Ñ)Ô)ð 4Ø*•˜	 6Ñ*Ô*¨7Ñ3Ô3Ð3øð	4ð4ð 4rp   c                óÂ  — t          |¦  «        }t          |d¦  «        r|                     d¬¦  «         t          dg d¢g d¢gdd¬	¦  «        \  }}t	          ¦   «                              |¦  «        }t          ||¦  «        }t          |¦  «        j        j	        D ]Â}| 
                    |¦  «        }t          |¦  «         |                     ||¦  «        }|                     ||¦  «                             |¦  «        }t          ||gd
dg¦  «        D ]H\  }	}
t          |	t           ¦  «        r|	d         }	|	j        |k    sJ | › d|
› d|› d|	j        › d�¦   «         ‚ŒIŒÃd S )NÚ
set_outputÚdefault©rí   rÉ  rÆ  rÇ  r   rÈ  )rx  rÊ  r}  rË  r  rí   z	 (method=z3) does not preserve dtype. Original/Expected dtype=z, got dtype=rá  )r   r¡   r  r!   r5   r  rä  rN   rÚ   râ   r§  r]   rÃ  rí   rÛ  rt   r¥  r�  )rª   rÝ  rç   r�  r‚  r�  ÚX_castÚX_trans1ÚX_trans2ÚXtr  s              rn   rã   rã   ö	  s¾  € õ Ð(Ñ)Ô)€KÝˆ{˜LÑ)Ô)ð 4Ø×Ò¨ÐÑ3Ô3Ð3ÝØØ��˜I˜I˜IÐ&ØØð	ñ ô �D€A€qõ 	ÑÔ×&Ò& qÑ)Ô)€AÝ!Ð"2°AÑ6Ô6€AåÐ*Ñ+Ô+Ô<ÔLð ð ˆØ—’˜%‘”ˆÝ˜Ñ%Ô%Ð%Ø×,Ò,¨V°QÑ7Ô7ˆØ—?’? 6¨1Ñ-Ô-×7Ò7¸Ñ?Ô?ˆå˜x¨Ð2°_ÀkÐ4RÑSÔSð 
	ð 
	‰JˆB�Ý˜"�eÑ$Ô$ð ð ˜”U�ð ”8˜uÒ$Ð$Ð$Øð Jð J &ð Jð JØ+0ðJð JØ>@¼hðJð Jð Jñ %Ô$Ð$Ð$ð
	ðð rp   c                óN  — t          |¦  «        }t          |d¦  «         t          j        d¦  «                             dd¦  «        }d| › d�}t          t          |¬¦  «        5  |                     |g ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «                             dd¦  «        }t          |t          j	        g d¢¦  «        ¦  «        }d	}t          t          |¬
¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrt  r   r  úThe estimator zc does not raise a ValueError when an empty data is used to train. Perhaps use check_array in train.r[  r?  )rt  r   rt  r   rt  r   rt  r   rt  r   rt  r   zG0 feature\(s\) \(shape=\(\d*, 0\)\) while a minimum of \d* is required.rP  )
r   r]   r‡  ÚemptyrJ  r\   rh  rÃ  r¿  rB  )rª   rÄ  rn  ÚX_zero_samplesr¸  ÚX_zero_featuresr‚  rV  s           rn   rœ   rœ   
  sª  € åˆnÑÔ€AÝ�Q˜ÑÔÐå”X˜a‘[”[×(Ò(¨¨AÑ.Ô.€Nð	I˜ð 	Ið 	Ið 	Ið õ 
•
 GÐ	,Ñ	,Ô	,ð "ð "Ø	�Šˆn˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ ”h˜q‘k”k×)Ò)¨"¨aÑ0Ô0€Oõ 	" !¥R¤XÐ.RÐ.RÐ.RÑ%SÔ%SÑTÔT€AØ
T€CÝ	•
 #Ð	&Ñ	&Ô	&ð "ð "Ø	�Šˆo˜qÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s$   Á$BÂBÂBÃ6DÄDÄ!Dc                óV  — t           j                             d¦  «        }t          ||                     d¬¦  «        ¦  «        }|                     d¬¦  «        }t           j        |d<   |                     d¬¦  «        }t           j        |d<   t          j        d¦  «        }d|d d…<   t          ||¦  «        }d| › d�}d| › d	�}d| › d
�}	||fD �]X}
t          t          ¬¦  «        5  t          |¦  «        }t          |d¦  «         t          t          ddg|¬¦  «        5  |                     |
|¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ||¦  «         t!          |d¦  «        rFt          t          ddg|¬¦  «        5  |                     |
¦  «         d d d ¦  «         n# 1 swxY w Y   t!          |d¦  «        rFt          t          ddg|	¬¦  «        5  |                     |
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �ŒZd S )Nr   ©rs  r  r±  r|  rs  r°  rd   z& doesn't check for NaN and inf in fit.z* doesn't check for NaN and inf in predict.z, doesn't check for NaN and inf in transform.rr   rt  r½  ÚNaNr¶  rõ   rí   )r‡  r¹  rº  rä  r  r¼  r½  rå  r¿  r[   r-  r   r]   r\   rh  rÃ  r¡   rõ   rí   )rª   rÄ  rM  ÚX_train_finiteÚX_train_nanÚX_train_infr‚  Úerror_string_fitÚerror_string_predictÚerror_string_transformr  rj   s               rn   rŸ   rŸ   0
  sX  € õ Œ)×
Ò
 Ñ
"Ô
"€CÝ.Ø˜Ÿš¨˜Ñ1Ô1ñô €Nð —+’+ 7�+Ñ+Ô+€KÝœ€K�ÑØ—+’+ 7�+Ñ+Ô+€KÝœ€K�ÑÝ
Œ�‰Œ€AØ€A€b€q€b�EÝ! .°!Ñ4Ô4€AØP DÐPÐPÐPÐØX¨ÐXÐXÐXÐàG�TÐGÐGÐGð ð   Ð-ð 1ñ 1ˆå¥mÐ4Ñ4Ô4ð 	1ð 	1Ý˜nÑ-Ô-ˆIÝ˜Y¨Ñ*Ô*Ð*å�
¨5°%¨.ÐBRÐSÑSÔSð *ð *Ø—’˜g qÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð �MŠM˜.¨!Ñ,Ô,Ð,õ �y )Ñ,Ô,ð /ÝÝØ  %˜.Ø0ðñ ô ð /ð /ð
 ×%Ò% gÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ �y +Ñ.Ô.ð 1ÝÝØ  %˜.Ø2ðñ ô ð 1ð 1ð
 ×'Ò'¨Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð)	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ùð1ð 1s   Ã'9HÄ EÄ7HÅEÅHÅ
EÅAHÆF/Æ#HÆ/F3Æ3HÆ6F3Æ7,HÇ#HÇ9HÈH	È	HÈH	ÈHÈH 	È#H 	c                óÞ   — t          dd¬¦  «        \  }}t          |¦  «        }t          t          d| › d�¬¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z8Test that error is thrown when non-square data provided.rv  rs  )rx  ry  zThe pairwise estimator z+ does not raise an error on non-square datar[  N)r!   r   r\   rh  rÃ  ©rª   rÄ  r�  r‚  rj   s        rn   r    r    a
  sÇ   € õ  ¨rÐ2Ñ2Ô2�D€A€qÝ�nÑ%Ô%€Iå	ÝàW dÐWÐWÐWð
ñ 
ô 
ð ð ð 	�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¾A"Á"A&Á)A&c                óÀ  — g d¢}t          dg d¢g d¢gddd¬¦  «        \  }}t          ||t          ¬	¦  «        }t          |¦  «        }|j        j        r^t          j                             d
¦  «        }| 	                    |j
        dd¬¦  «        }t          j        |                     d¦  «        |<   t          |¦  «        }	t          |	|¦  «        }t          |	¦  «         |	                     ||¦  «         |rt#          |	¦  «        }
nct%          j        |	¦  «        }|	j        }|                     d¦  «        rd|v s|                     d¦  «        sd|v sJ ‚t%          j        |¦  «        }
t1          ¦   «         }|D ].}t3          |	|¦  «        r t5          |	|¦  «        |¦  «        ||<   Œ/|D ]1} t5          |
|¦  «        |¦  «        }t7          ||         |¦  «         Œ2dS )z'Test that we can pickle all estimators.rˆ  rÉ  rÆ  rÇ  r   r+  rÈ  rÉ  ræ  rw  rs  F)rf   rI  r³  r´  rµ  s   _sklearn_versionN)r!   rä  r/   rN   r“   rž   r‡  r¹  rº  Úchoicer²  r¼  rJ  r   r¿  r]   rÃ  rZ   ÚpickleÚdumpsr“  rÀ  rÁ  ÚloadsÚdictr¡   rg   rV   )rª   rÄ  rŒ   Úcheck_methodsr�  r‚  rl   rÅ  Úmaskrj   Úunpickled_estimatorÚpickled_estimatorrÇ  r  r  Úunpickled_results                   rn   r¦   r¦   q
  s  € ð SÐRÐR€MåØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	" .°!½JÐGÑGÔG€Aå�NÑ#Ô#€Dà„Ô ð %åŒi×#Ò# BÑ'Ô'ˆØ�zŠz˜!œ& "¨eˆzÑ4Ô4ˆÝ œfˆ�	Š	�"‰Œ�dÑå�nÑ%Ô%€Iå! )¨QÑ/Ô/€Aå�YÑÔÐØ‡M‚M�!�QÑÔÐàð >Ý7¸	ÑBÔBÐÐõ #œL¨Ñ3Ô3ÐØÔ*ˆØ×!Ò! *Ñ-Ô-ð 	<Ø�{Ð"Ð" k×&:Ò&:¸:Ñ&FÔ&FÐ"ð 'Ð*;Ð;Ð;Ð;Ð;Ý$œlÐ+<Ñ=Ô=Ðå‰VŒV€FØð ;ð ;ˆÝ�9˜fÑ%Ô%ð 	;Ø7�W Y°Ñ7Ô7¸Ñ:Ô:ˆF�6‰Nøàð Gð GˆØ?�7Ð#6¸Ñ?Ô?ÀÑBÔBÐÝ$ V¨F¤^Ð5EÑFÔFÐFÐFðGð Grp   c                ó$  — t          |d¦  «        sd S t          |¦  «        }t          dd¬¦  «        \  }}t          ||¦  «        }t	          ||¦  «        }	 t          |¦  «        r-t          j        |¦  «        }|                     |||¬¦  «         n|                     ||¦  «         n# t          $ r Y d S w xY wt          t          d| › d�¬¦  «        5  |                     |d d …d d	…f         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrù  é2   rt  ©rx  r}  ©Úclassesr  zZ does not raise an error when the number of features changes between calls to partial_fit.r[  rI  )r¡   r   r!   rä  r¿  r   r‡  Úuniquerù  ÚNotImplementedErrorr\   rh  )rª   rÄ  rj   r�  r‚  r.  s         rn   r·   r·   §
  s•  € õ �> =Ñ1Ô1ð ØˆÝ�nÑ%Ô%€IÝ °Ð3Ñ3Ô3�D€A€qÝ! .°!Ñ4Ô4€AÝ! .°!Ñ4Ô4€AðÝ˜Ñ#Ô#ð 	(Ý”i ‘l”lˆGØ×!Ò! ! Q°Ð!Ñ8Ô8Ð8Ð8à×!Ò! ! QÑ'Ô'Ð'øøÝð ð ð Øˆˆðøøøõ 
ÝðG˜Tð Gð Gð Gð
ñ 
ô 
ð ,ð ,ð 	×Ò˜a    3 B 3 œi¨Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s%   ÁAB* Â*
B8Â7B8Ã#DÄD	ÄD	c           	     óÈ  — d\  }}}t          |¦  «        }t          |¦  «        }t          d|||¬¦  «        \  }}t          ||¦  «        }|                     ||¦  «         |                     |¦  «        }	|	j        ||fk    s%J d                     ||f|	j        ¦  «        ¦   «         ‚|	j        j	        dk    sJ ‚t          |d¦  «        rž|                     |¦  «        }
t          |
t          j        ¦  «        sJ ‚|
j        ||fk    s%J d                     ||f|
j        ¦  «        ¦   «         ‚|
dk                         t           ¦  «        }|j        |         }t%          ||	¦  «         t          |d	¦  «        �rK|                     |¦  «        }t          |t(          ¦  «        r©|j        j        s�t/          |¦  «        D ]Œ}||         j        |d
fk    s+J d                     |d
f||         j        ¦  «        ¦   «         ‚t%          t          j        ||         d¬¦  «                             t           ¦  «        |	d d …|f         ¦  «         Œ�nx|j        j        sl|j        ||fk    s%J d                     ||f|j        ¦  «        ¦   «         ‚t%          |                     ¦   «                              t           ¦  «        |	¦  «         t          |d¦  «        rŠt          |d	¦  «        r|t/          |¦  «        D ]n}|                     |¦  «        d d …|f         }|                     |¦  «        }t%          t5          |¦  «        t5          |d d …|f         ¦  «        ¦  «         Œkd S d S d S )N)rw  r°  r  rw  )r}  rx  Ún_labelsr€  zSThe shape of the prediction for multioutput data is incorrect. Expected {}, got {}.ÚirÝ  zaThe shape of the decision function output for multioutput data is incorrect. Expected {}, got {}.r   rß  r+  zTThe shape of the probability for multioutput data is incorrect. Expected {}, got {}.rt  ©rW  )rN   r   r#   rä  rÃ  rõ   râ  r  r�  Úkindr¡   rÝ  rt   r‡  rÑ  r§  r<  rÕ  rX   rß  rb  r®   Ú
poor_scoreÚrangeÚargmaxÚroundr   )rª   rÄ  rx  r2  r€  rl   rj   r�  r‚  Úy_predÚdecisionÚdec_predÚdec_expÚy_probr3  Úy_probaÚ
y_decisions                    rn   rº   rº   Ä
  s¾  € à%-Ñ"€Iˆx˜Ý�NÑ#Ô#€DÝ�nÑ%Ô%€IÝ)Ø 9°xÈ9ðñ ô �D€A€qõ 	" )¨QÑ/Ô/€AØ‡M‚M�!�QÑÔÐØ×Ò˜qÑ!Ô!€FàŒ<˜I yÐ1Ò1Ð1Ð1ð	*ß*0ª&°)¸XÐ1FÈÌÑ*UÔ*Uñ 2Ô1Ð1ð Œ<Ô Ò#Ð#Ð#Ð#åˆyÐ-Ñ.Ô.ð ,Ø×.Ò.¨qÑ1Ô1ˆÝ˜(¥B¤JÑ/Ô/Ð/Ð/Ð/ØŒ~ )¨YÐ!7Ò7Ð7Ð7ðBßBHÂ&Ø˜IÐ&¨¬ñCô Cñ 8Ô7Ð7ð ˜q’L×(Ò(­Ñ-Ô-ˆØÔ$ XÔ.ˆÝ˜7 FÑ+Ô+Ð+åˆy˜/Ñ*Ô*ñ CØ×(Ò(¨Ñ+Ô+ˆå�f�dÑ#Ô#ð 	C¨DÔ,@Ô,Kð 	CÝ˜9Ñ%Ô%ð 	ð 	�Ø˜a”y”¨9°a¨.Ò8Ð8Ð8ð7ß7=²vØ" A˜¨¨q¬	¬ñ8ô 8ñ 9Ô8Ð8õ #Ý”I˜f Qœi¨aÐ0Ñ0Ô0×7Ò7½Ñ<Ô<¸fÀQÀQÀQÈÀT¼lñô ð ð ð	ð Ô%Ô0ð 	CØ”< I¨yÐ#9Ò9Ð9Ð9ð3ß39²6Ø 	Ð*¨F¬Lñ4ô 4ñ :Ô9Ð9õ ˜vŸ|š|™~œ~×4Ò4µSÑ9Ô9¸6ÑBÔBÐBåˆyÐ-Ñ.Ô.ð Nµ7¸9ÀoÑ3VÔ3Vð NÝ�yÑ!Ô!ð 	Nð 	NˆAØ×-Ò-¨aÑ0Ô0°°°°A°Ô6ˆGØ"×4Ò4°QÑ7Ô7ˆJÝ�x¨Ñ0Ô0µ(¸:ÀaÀaÀaÈÀdÔ;KÑ2LÔ2LÑMÔMÐMÐMð	Nð Nð Nð Nð	Nð 	Nrp   c                ó¬  — t          |¦  «        }dx}}t          |¦  «        s|dz   }t          dd||¬¦  «        \  }}t          ||¦  «        }|                     ||¦  «         |                     |¦  «        }|j        t          j        d¦  «        k    sJ d|j        › d�¦   «         ‚|j        |j        k    sJ d	|j        › d
|j        › d�¦   «         ‚d S )Nrs  rt  rw  r°  )r}  Ú	n_targetsrx  ry  rË  zXMultioutput predictions by a regressor are expected to be floating-point precision. Got z insteadzHThe shape of the prediction for multioutput data is incorrect. Expected rà  rá  )	r   r™  r$   rä  rÃ  rõ   r�  r‡  râ  )rª   rj   rx  ry  r�  r‚  r:  s          rn   rÔ   rÔ     s  € å�iÑ Ô €IØÐ€I�
å˜yÑ)Ô)ð "Ø ‘Mˆ	åØ 1°	Àjðñ ô �D€A€qõ 	" )¨QÑ/Ô/€Aà‡M‚M�!�QÑÔÐØ×Ò˜qÑ!Ô!€FàŒ<�2œ8 IÑ.Ô.Ò.Ð.Ð.ð	AØ*0¬,ð	Að 	Að 	Añ /Ô.Ð.ð Œ<˜1œ7Ò"Ð"Ð"ð	4Ø”\ð	4ð 	4Ø)*¬ð	4ð 	4ð 	4ñ #Ô"Ð"Ð"Ð"rp   c                ó  — t          |¦  «        }t          dd¬¦  «        \  }}t          ||d¬¦  «        \  }}t          ¦   «                              |¦  «        }t
          j                             d¦  «        }t          j        || 	                    ddd¬	¦  «        g¦  «        }|rt          |||g¦  «        \  }}}|j        \  }}	t          |d
¦  «        r|                     d¬¦  «         t          |¦  «         | dk    r,|                     d¬¦  «         |                     d¬¦  «         |                     |¦  «         |                     |                     ¦   «         ¦  «         |j        }
|
j        |fk    sJ ‚t%          |
|¦  «        dk    sJ ‚t'          |¦  «        j        rd S t          |¦  «         t+          j        d¬¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   t1          |
|¦  «         |
j        t          j        d¦  «        t          j        d¦  «        fv sJ ‚|j        t          j        d¦  «        t          j        d¦  «        fv sJ ‚|                     |¦  «        }t          j        |¦  «        }t1          |t          j        |d         |d         dz   ¦  «        ¦  «         |d         dv sJ ‚t          |d
¦  «        r!t9          |d
¦  «        }|dz
  |d         k    sJ ‚d S d S )Nr+  rt  r,  é   rO  éýÿÿÿr  )r°  r+  r„  r�  )r�  ÚAffinityPropagationiœÿÿÿ)Ú
preferenceéd   ©Úmax_itergš™™™™™Ù?T©Úrecordr,  r¢  r   rI  )r   rI  )r   r!   r8   r5   r  r‡  r¹  rº  Úconcatenater  rZ   râ  r¡   r.  r]   rÃ  rÎ  Úlabels_r+   rN   r  ru   Úcatch_warningsrô   rX   r�  r/  rL  rg   )rª   Úclusterer_origrŒ   rð   r�  r‚  rÅ  ÚX_noiserx  ry  r1  Úpred2ÚlabelsÚlabels_sortedr�  s                  rn   rï   rï     s]  € å�nÑ%Ô%€IÝ °Ð3Ñ3Ô3�D€A€qÝ�1�a aÐ(Ñ(Ô(�D€A€qÝÑÔ×&Ò& qÑ)Ô)€AÝ
Œ)×
Ò
 Ñ
"Ô
"€CÝŒn˜a §¢°¸!À& Ñ!IÔ!IÐJÑKÔK€Gàð CÝ1°1°a¸°/ÑBÔB‰ˆˆ1ˆgàœGÑ€Iˆzåˆy˜,Ñ'Ô'ð +Ø×Ò¨ÐÑ*Ô*Ð*Ý�YÑÔÐØÐ$Ò$Ð$Ø×Ò¨ÐÑ-Ô-Ð-Ø×Ò cÐÑ*Ô*Ð*ð ‡M‚M�!ÑÔÐà‡M‚M�!—(’(‘*”*ÑÔÐàÔ€DØŒ:˜)˜Ò%Ð%Ð%Ð%Ý˜t QÑ'Ô'¨#Ò-Ð-Ð-Ð-Ý�	ÑÔÔ,ð ØˆÝ�YÑÔÐÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð )ð )Ø×%Ò% aÑ(Ô(ˆð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å�t˜UÑ#Ô#Ð#ð Œ:�"œ( 7Ñ+Ô+­R¬X°gÑ->Ô->Ð?Ð?Ð?Ð?Ð?ØŒ;�2œ8 GÑ,Ô,­b¬h°wÑ.?Ô.?Ð@Ð@Ð@Ð@Ð@ð ×"Ò" 7Ñ+Ô+€Fõ
 ”I˜fÑ%Ô%€MÝØ•r”y ¨qÔ!1°=ÀÔ3DÀqÑ3HÑIÔIñô ð ð
 ˜Ô˜wÐ&Ð&Ð&Ð&åˆy˜,Ñ'Ô'ð 3Ý˜Y¨Ñ5Ô5ˆ
Ø˜A‰~ ¨rÔ!2Ò2Ð2Ð2Ð2ð3ð 3à2Ð2s   ÇG1Ç1G5Ç8G5c                óz  — t          dd¬¦  «        \  }}t          |¦  «        }t          |¦  «         t          |d¦  «        rx|                     |¦  «                             |¦  «        }|                     d¬¦  «         |                     |¦  «                             |¦  «        }t          ||¦  «         dS dS )z2Check that predict is invariant of compute_labels.rv  r   r,  Úcompute_labelsF)rV  N)r!   r   r]   r¡   rÃ  rõ   r.  rX   )rª   rP  r�  r‚  rð   rp  rq  s          rn   rî   rî   X  s½   € õ  °Ð3Ñ3Ô3�D€A€qÝ�nÑ%Ô%€IÝ�YÑÔÐåˆyÐ*Ñ+Ô+ð -à—-’- Ñ"Ô"×*Ò*¨1Ñ-Ô-ˆØ×Ò¨EÐÑ2Ô2Ð2Ø—-’- Ñ"Ô"×*Ò*¨1Ñ-Ô-ˆÝ˜7 GÑ,Ô,Ð,Ð,Ð,ð-ð -rp   c                óp  — d}d}t          |¦  «        }t          j                             d¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }t          |||¬¦  «        \  }}t          j        d¦  «        }t          t          ¬¦  «        5  t          t          d	d
|¬¦  «        5 }	|                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |	j        r	 d d d ¦  «         d S t          |                     |¦  «        ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz6Classifier can't train when only one class is present.z8Classifier can't predict when only one class is present.r   r  r±  ©ÚX_testrs  rr   ÚclassTr)  r[  )r   r‡  r¹  rº  r  rä  rå  r[   r-  r\   rh  rÃ  Úraised_and_matchedrX   rõ   )
rª   Úclassifier_origr  r  rÍ   rM  r  rY  r‚  Úcms
             rn   r´   r´   g  sð  € àOÐØUÐÝ�Ñ'Ô'€JÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�kŠk˜wˆkÑ'Ô'€GØ�[Š[˜gˆ[Ñ&Ô&€FÝ/°
¸GÈFÐSÑSÔS�O€GˆVÝ
Œ�‰Œ€Aå	¥-Ð	0Ñ	0Ô	0ð 
Xð 
XÝÝ˜g°Ð>Nð
ñ 
ô 
ð 	'àØ�NŠN˜7 AÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð
 Ô ð 	àð
Xð 
Xð 
Xñ 
Xô 
Xð 
Xð 
Xð 
Xõ 	˜:×-Ò-¨fÑ5Ô5°qÐBVÐWÑWÔWÐWð
Xð 
Xð 
Xñ 
Xô 
Xð 
Xð 
Xð 
Xð 
Xð 
Xð 
Xð 
Xøøøð 
Xð 
Xð 
Xð 
Xð 
Xð 
Xs<   ÂD+Â6CÃD+ÃC	ÃD+Ã C	Ã!D+Ã9%D+Ä+D/Ä2D/c                ó²  — | › d�}| › d�}t           j                             d¦  «        }|                     d¬¦  «        }|                     d¬¦  «        }t          j        d¦  «        dz  }|                     ¦   «         }t          |¦  «        }	t          |	d¦  «        rd	|g}
t          t          f|}}nd
}
t          t          fd}}t          ||
d|¬¦  «        5 }|	                     |||¬¦  «         |j        r	 ddd¦  «         dS t          |	                     |¦  «        t          j        d¦  «        |¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z“Check that classifiers accepting sample_weight fit or throws a ValueError with
    an explicit message if the problem is reduced to one class.
    zu failed when fitted on one label after sample_weight trimming. Error message is not explicit, it should have 'class'.z; prediction results should only output the remaining class.r   )rs  rs  r±  rs  r+  r‰   z\bclass(es)?\bz\bsample_weight\bNTr)  r@  r[  )r‡  r¹  rº  r  rL  r€  r   r`   r  rh  rT  r\   rÃ  r[  rX   rõ   rå  )rª   r\  Ú	error_fitÚerror_predictrM  r  rY  r‚  r‰   rÍ   r·  Úerr_typer¸  r]  s                 rn   rµ   rµ     sÍ  € ð ð 	;ð 	;ð 	;ð ð ÐXÐXÐX€MÝ
Œ)×
Ò
 Ñ
"Ô
"€Cà�kŠk˜xˆkÑ(Ô(€GØ�[Š[˜hˆ[Ñ'Ô'€FÝ
Œ	�"‰Œ˜Ñ€AØ—F’F‘H”H€MÝ�Ñ'Ô'€Jå˜ _Ñ5Ô5ð :Ø" MÐ2ˆÝ+­ZÐ8¸)�'ˆˆà$ˆÝ&­
Ð3°T�'ˆå	� °¸gÐ	FÑ	FÔ	Fð 	
È"Ø�Š�w °ˆÑ?Ô?Ð?ØÔ ð 	àð		
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
õ 	Ø×Ò˜vÑ&Ô&­¬°©¬¸]ð	
ñ 	
ô 	
ð 	
ð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
ð 	
ð 	
s   Ã!EÄ7EÅEÅEc                óÜ  — t          dd¬¦  «        \  }}|                     |¦  «        }t          ||d¬¦  «        \  }}t          ¦   «                              |¦  «        }||dk             }||dk             }| dv r.||                     ¦   «         z  }||                     ¦   «         z  }|rt          ||||g¦  «        \  }}}}||fg}t          |¦  «        }	|	j        j	        r| 
                    ||f¦  «         |D �]í\  }
}t          j        |¦  «        }t          |¦  «        }|
j        \  }}t          |¦  «        }t!          ||
¦  «        }
t#          ||¦  «        }t%          |¦  «         |	j        sPt)          t*          d| › d	�¬
¦  «        5  |                     |
|d d…         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |
|¦  «         |                     |
                     ¦   «         |                     ¦   «         ¦  «         t1          |d¦  «        sJ ‚|                     |
¦  «        }|j        |fk    sJ ‚|	j        j        st7          ||¦  «        dk    sJ ‚d}d}|	j        sÔ|	j        j        rlt)          t*          |                     | d¦  «        ¬
¦  «        5  |                     |
                     dd¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   n\t)          t*          |                     | d¦  «        ¬
¦  «        5  |                     |
j         ¦  «         d d d ¦  «         n# 1 swxY w Y   t1          |d¦  «        �r¦	 | !                    |
¦  «        }|dk    rk|	j"        j#        r|j        |fk    sJ ‚n|j        |dfk    sJ ‚| $                    ¦   «         dk                         tJ          ¦  «        }tM          ||¦  «         n3|j        ||fk    sJ ‚tM          t          j'        |d¬¦  «        |¦  «         |	j        sÔ|	j        j        rlt)          t*          |                     | d¦  «        ¬
¦  «        5  | !                    |
                     dd¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   n\t)          t*          |                     | d¦  «        ¬
¦  «        5  | !                    |
j         ¦  «         d d d ¦  «         n# 1 swxY w Y   n# tP          $ r Y nw xY wt1          |d¦  «        �r×| )                    |
¦  «        }|j        ||fk    sJ ‚tM          t          j'        |d¬¦  «        |¦  «         tU          t          j+        |d¬¦  «        t          j,        |¦  «        ¦  «         |	j        sÔ|	j        j        rlt)          t*          |                     | d¦  «        ¬
¦  «        5  | )                    |
                     dd¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   n\t)          t*          |                     | d¦  «        ¬
¦  «        5  | )                    |
j         ¦  «         d d d ¦  «         n# 1 swxY w Y   t1          |d¦  «        rn| -                    |
¦  «        }t]          |t          j/        |¦  «        dd¬¦  «         tM          t          j0        |¦  «        t          j0        |¦  «        ¦  «         �Œïd S )Né,  r   r,  rD  rO  r+  )ÚBernoulliNBÚMultinomialNBÚComplementNBÚCategoricalNBúThe classifier ú¶ does not raise an error when incorrect/malformed input data for fit is passed. The number of training examples is not the same as the number of labels. Perhaps use check_X_y in fit.r[  rI  rÕ  g�Âõ(\�ê?zuThe classifier {} does not raise an error when shape of X in  {} is not equal to (n_test_samples, n_training_samples)z|The classifier {} does not raise an error when the number of features in {} is different from the number of features in fit.rõ   rt  rÝ  r4  rß  rÞ  é   r²  )rÚ  )1r!   r§  r8   r5   r  ÚminrZ   rN   r®   rË   rj  r‡  r/  rT  râ  r   rä  r¿  r]   r™   r\   rh  rÃ  rÎ  r¡   rõ   r6  r*   r“   r”   r  rJ  ÚTrÝ  r¸   rÃ   r¨  r<  rX   r8  r0  rß  rW   Úsumrå  rÞ  rU   ÚlogÚargsort)rª   r\  rŒ   r±   ÚX_mÚy_mÚy_bÚX_bÚproblemsrl   r�  r‚  r.  r€  rx  ry  rÍ   r:  Úmsg_pairwiserV  r;  r<  r>  Ú
y_log_probs                           rn   r»   r»   ¤  s	  € õ  C°aÐ8Ñ8Ô8�H€CˆØ
�*Š*�WÑ
Ô
€CÝ�s˜C¨aÐ0Ñ0Ô0�H€CˆÝ
Ñ
Ô
×
(Ò
(¨Ñ
-Ô
-€Cà
ˆc�QŠhŒ-€CØ
ˆc�QŠhŒ-€CàÐPÐPÐPØˆs�wŠw‰yŒyÑˆØˆs�wŠw‰yŒyÑˆàð MÝ6¸¸SÀ#ÀsÐ7KÑLÔLÑˆˆS�#�sà�c�
ˆ|€HÝ�OÑ$Ô$€DØÔÔ'ð $Ø�Š˜˜c˜
Ñ#Ô#Ð#àð pOñ pO‰ˆˆ1Ý”)˜A‘,”,ˆÝ˜‘L”Lˆ	Ø !¤Ñˆ	�:Ý˜?Ñ+Ô+ˆ
Ý% j°!Ñ4Ô4ˆÝ% j°!Ñ4Ô4ˆå˜Ñ$Ô$Ð$àÔ!ð 
	*ÝÝð< dð <ð <ð <ðñ ô ð 	*ð 	*ð —’˜q ! C R C¤&Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	�Š�q˜!ÑÔÐà�Š�q—x’x‘z”z 1§8¢8¡:¤:Ñ.Ô.Ð.Ý�z :Ñ.Ô.Ð.Ð.Ð.Ø×#Ò# AÑ&Ô&ˆàŒ| 	˜|Ò+Ð+Ð+Ð+àÔ#Ô.ð 	4Ý! ! VÑ,Ô,¨tÒ3Ð3Ð3Ð3ðGð 	ð
ð 	ð Ô!ð 		,ØŒÔ'ð ,ÝÝØ(×/Ò/°°iÑ@Ô@ðñ ô ð 9ð 9ð ×&Ò& q§y¢y°°QÑ'7Ô'7Ñ8Ô8Ð8ð	9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9øõ �J°·
²
¸4ÀÑ0KÔ0KÐLÑLÔLð ,ð ,Ø×&Ò& q¤sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,å�:Ð2Ñ3Ô3ñ 	ðà%×7Ò7¸Ñ:Ô:�Ø ’>�>ØÔ'Ô5ð @Ø'œ~°)°Ò=Ð=Ð=Ð=Ð=à'œ~°)¸Q°Ò?Ð?Ð?Ð?Ø (§¢Ñ 0Ô 0°1Ò 4×<Ò<½SÑAÔA�HÝ& x°Ñ8Ô8Ð8Ð8à#œ>¨i¸Ð-CÒCÐCÐCÐCÝ&¥r¤y°ÀÐ'BÑ'BÔ'BÀFÑKÔKÐKð Ô)ð >Ø”Ô/ð >Ý#Ý&Ø$0×$7Ò$7¸Ð>QÑ$RÔ$Rðñ ô ð Kð Kð '×8Ò8¸¿ºÀ2ÀqÑ9IÔ9IÑJÔJÐJð	Kð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Køõ $Ý&Ø$'§J¢J¨tÐ5HÑ$IÔ$Iðñ ô ð >ð >ð '×8Ò8¸¼Ñ=Ô=Ð=ð	>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >øøõ
 'ð ð ð Ø�ðøøøõ �:˜Ñ/Ô/ñ 	Oà×-Ò-¨aÑ0Ô0ˆFØ”< I¨yÐ#9Ò9Ð9Ð9Ð9Ý�rœy¨°aÐ8Ñ8Ô8¸&ÑAÔAÐAå%¥b¤f¨V¸!Ð&<Ñ&<Ô&<½b¼gÀiÑ>PÔ>PÑQÔQÐQØÔ%ð 6à”?Ô+ð 6ÝÝ"Ø ,× 3Ò 3°D¸/Ñ JÔ Jðñ ô ð Cð Cð #×0Ò0°·²¸2¸qÑ1AÔ1AÑBÔBÐBð	Cð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cøõ  Ý"Ø #§
¢
¨4°Ñ AÔ Aðñ ô ð 6ð 6ð #×0Ò0°´Ñ5Ô5Ð5ð	6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ
 �zÐ#6Ñ7Ô7ð Oà'×9Ò9¸!Ñ<Ô<�
Ý 
­B¬F°6©N¬N¸AÀDÐIÑIÔIÐIÝ"¥2¤:¨jÑ#9Ô#9½2¼:ÀfÑ;MÔ;MÑNÔNÐNùðapOð pOsµ   ÆF:Æ:F>	ÇF>	Ê-*K#Ë#K'	Ë*K'	ÌM Í M	ÍM	ÍC6S2Ñ*R	Ñ=S2Ò	R	ÒS2ÒR	Ò.S2Ò?S&ÓS2Ó&S*	Ó*S2Ó-S*	Ó.S2Ó2
S?Ó>S?×*XØX	ØX	Ø:Y!Ù!Y%	Ù(Y%	c                óÊ   — | |k     r| }|dz   }n|}| dz   }t          j        |¦  «        }d}t          t          j        |||…         ¦  «        ¦  «        dk    s
J |¦   «         ‚d S )Nrt  z«The number of predicted outliers is not equal to the expected number of outliers and this difference is not explained by the number of ties in the decision_function values)r‡  ÚsortrT  r/  )Únum_outliersÚexpected_outliersr;  ÚstartÚendÚsorted_decisionrV  s          rn   Úcheck_outlier_corruptionr~  /  s‡   € ð Ð'Ò'Ð'ØˆØ !Ñ#ˆˆà!ˆØ˜QÑˆõ
 ”g˜hÑ'Ô'€Oð	9ð õ
 �rŒy˜¨¨s¨Ô3Ñ4Ô4Ñ5Ô5¸Ò:Ð:Ð:¸CÑ:Ô:Ð:Ð:Ð:rp   c                óx  — d}t          |d¬¦  «        \  }}t          |d¬¦  «        }|rt          |¦  «        }|j        \  }}t	          |¦  «        }t          |¦  «         |                     |¦  «         |                     |                     ¦   «         ¦  «         |                     |¦  «        }|j        |fk    sJ ‚|j	        j
        dk    sJ ‚t          t          j        |¦  «        t          j        ddg¦  «        ¦  «         |                     |¦  «        }	|                     |¦  «        }
|	|
fD ]/}|j	        t          j	        d	¦  «        k    sJ ‚|j        |fk    sJ ‚Œ0t#          t$          ¦  «        5  |                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |	dk                         t*          ¦  «        }d||dk    <   t          ||¦  «         t#          t$          ¦  «        5  |                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |
|j        z
  }t/          ||	¦  «         t#          t$          ¦  «        5  |                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t1          |d
¦  «        r�t1          |d¦  «        s�d}||z  }|                     |¬¦  «         |                     |¦  «         |                     |¦  «        }t          j        |dk    ¦  «        }||k    r,|                     |¦  «        }	t7          |||	¦  «         d S d S d S d S )Nrc  r   r,  rD  rO  r3  rI  rt  rë  ró   ÚnoveltyrÉ  ©ró   )r!   r8   rZ   râ  r   r]   rÃ  rÎ  rõ   r�  r5  rX   r‡  r/  rB  rÝ  rÜ  r\   rh  rl  r§  r<  Úoffset_rU   r¡   r.  rm  r~  )rª   rÄ  rŒ   rx  r�  r  ry  rj   r:  r;  ÚscoresÚoutputr<  Úy_decrz  ró   ry  s                    rn   rø   rø   E  s  € Ø€IÝ 	¸Ð:Ñ:Ô:�D€A€qÝ� Ð"Ñ"Ô"€Aàð )Ý% aÑ(Ô(ˆàœGÑ€IˆzÝ�nÑ%Ô%€IÝ�YÑÔÐð ‡M‚M�!ÑÔÐà‡M‚M�!—(’(‘*”*ÑÔÐà×Ò˜qÑ!Ô!€FØŒ<˜I˜<Ò'Ð'Ð'Ð'ØŒ<Ô Ò#Ð#Ð#Ð#Ý•r”y Ñ(Ô(­"¬(°B¸°7Ñ*;Ô*;Ñ<Ô<Ð<à×*Ò*¨1Ñ-Ô-€HØ×$Ò$ QÑ'Ô'€FØ˜VÐ$ð ,ð ,ˆØŒ|�rœx¨Ñ0Ô0Ò0Ð0Ð0Ð0ØŒ| 	˜|Ò+Ð+Ð+Ð+Ð+õ 
•
Ñ	Ô	ð ð Ø×Ò˜!œ#ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ˜A’×%Ò%¥cÑ*Ô*€HØ €HˆX˜Š]ÑÝ�x Ñ(Ô(Ð(õ 
•
Ñ	Ô	ð )ð )Ø×#Ò# A¤CÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð �YÔ&Ñ&€EÝ�E˜8Ñ$Ô$Ð$õ 
•
Ñ	Ô	ð %ð %Ø×Ò ¤Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ ˆy˜/Ñ*Ô*ð Pµ7¸9ÀiÑ3PÔ3Pð Pð
 ÐØ)¨IÑ5ˆØ×Ò¨=ÐÑ9Ô9Ð9Ø�Š�aÑÔÐØ×"Ò" 1Ñ%Ô%ˆå”v˜f¨škÑ*Ô*ˆð Ð,Ò,Ð,Ø ×2Ò2°1Ñ5Ô5ˆHÝ$ \Ð3DÀhÑOÔOÐOÐOÐOð'Pð Pð Pð Pð" -Ð,s6   Å:F!Æ!F%Æ(F%Ç7HÈH"È%H"ÉI>É>JÊJc                óf  — t          |d¦  «        sd S d|j        vrd S |j        d         }t          d„ |D ¦   «         ¦  «        st          d¦  «        ‚|D ][}t	          |t
          ¦  «        rD|j        t          k    r*|j        dk    r|j	        dk    r|j        dk    s|j
        dv s
J d	¦   «         ‚Œ\d S )
NÚ_parameter_constraintsró   c                ó8   — g | ]}t          |t          ¦  «        ‘ŒS rN  )rt   rC   )rI  Úcs     rn   r’  z/check_outlier_contamination.<locals>.<listcomp>™  s"   € ÐKÐKÐK¨A•
˜1�hÑ'Ô'ÐKÐKÐKrp   zDcontamination constraints should contain a Real Interval constraint.ç        r¹  r   >   ÚrightÚneitherz:contamination constraint should be an interval in (0, 0.5])r¡   r‡  rS  r  rt   rC   r@  r
   Úleftr‹  Úclosed)rª   rÄ  Úcontamination_constraintsÚ
constraints       rn   rö   rö   �  sý   € õ �>Ð#;Ñ<Ô<ð àˆà˜nÔCÐCÐCØˆà .Ô EÀoÔ VÐÝÐKÐKÐ1JÐKÑKÔKÑLÔLð 
ÝØRñ
ô 
ð 	
ð 0ð Lð Lˆ
Ý�j¥(Ñ+Ô+ð 	Là”¥4Ò'Ð'Ø”O sÒ*Ð*ØÔ$¨Ò+Ð+Ø”_ qÒ(Ð(¨JÔ,=ÐAUÐ,UÐ,UÐ,UØKñ -VÔ,UðWøðLð Lrp   c           	     óD  — t          ddddddd¬¦  «        \  }}t          |¦  «        }|d d	…         |d d	…         }}|d	d …         }t          |||¬
¦  «        \  }}|                     ¦   «         }t	          |¦  «        }t          |¦  «        }	t          |	¦  «         |	                     ||¦  «                             |¦  «        }
|	                     ||¦  «                             |¦  «        }|	                     ||¦  «                             |¦  «        }t          |
|¦  «         t          |
|¦  «         |
j
        |j
        k    sJ ‚|
j
        |j
        k    sJ ‚t          |
¦  «        t          |¦  «        k    sJ ‚t          |
¦  «        t          |¦  «        k    sJ ‚d S )NrH  r+  r°  r  r+  Tr   ©rx  ry  r€  r2  ÚlengthÚallow_unlabeledr}  éP   rX  )r#   r6   rä  rÎ  rb  r   r]   rÃ  rõ   rX   r�  r@  )rª   r\  r�  r‚  r  Úy_trainrY  Úy_train_list_of_listsÚy_train_list_of_arraysrÍ   r:  Úy_pred_list_of_listsÚy_pred_list_of_arrayss                rn   r¾   r¾   ¨  s½  € å)ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aà˜˜"˜”v˜q  " œvˆW€GØˆrˆsˆsŒV€FÝ/°ÀÐQWÐXÑXÔX�O€GˆVà#ŸNšNÑ,Ô,ÐÝ! '™]œ]Ðå�Ñ'Ô'€JÝ�ZÑ Ô Ð à�^Š^˜G WÑ-Ô-×5Ò5°fÑ=Ô=€Fà%Ÿ>š>¨'Ð3HÑIÔI×QÒQØñô Ðð 'ŸNšN¨7Ð4JÑKÔK×SÒSØñô Ðõ �vÐ4Ñ5Ô5Ð5Ý�vÐ3Ñ4Ô4Ð4àŒ<Ð0Ô6Ò6Ð6Ð6Ð6ØŒ<Ð/Ô5Ò5Ð5Ð5Ð5Ý�‰<Œ<�4Ð 5Ñ6Ô6Ò6Ð6Ð6Ð6Ý�‰<Œ<�4Ð 4Ñ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5rp   c           	     óØ  — t          |¦  «        }t          |¦  «         d\  }}}t          |d|dddd¬¦  «        \  }}t          |¦  «        }|d| …         || d…         }	}|d| …         || d…         }}
t	          |||	¬	¦  «        \  }}	|                     ||
¦  «         d
}t          ||d¦  «        }|€t          | › d|› d�¦  «        ‚ ||	¦  «        }t          |t          j
        ¦  «        sJ | › dt          |¦  «        › d�¦   «         ‚|j        |j        k    sJ | › d|j        › d|j        › d�¦   «         ‚|j        |j        k    sJ | › d|j        › d|j        › d�¦   «         ‚dS )zeCheck the output of the `predict` method for classifiers supporting
    multilabel-indicator targets.©rH  é   r°  r+  r  r+  Tr   r’  NrX  rõ   ú does not have a ú method.z2.predict is expected to output a NumPy array. Got ú	 instead.z(.predict outputs a NumPy array of shape ú instead of rá  z>.predict does not output the same dtype than the targets. Got )r   r]   r#   r6   rä  rÃ  rg   rR   rt   r‡  rÑ  r@  râ  r�  )rª   r\  rÍ   rx  Ú	test_sizeÚ	n_outputsr�  r‚  r  rY  r–  Úy_testÚresponse_method_nameÚpredict_methodr:  s                  rn   r¿   r¿   Ò  s	  € õ �Ñ'Ô'€JÝ�ZÑ Ô Ð à&0Ñ#€Iˆy˜)Ý)ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aà˜˜)˜˜”n a¨¨
¨¨¤nˆV€GØ˜˜)˜˜”n a¨¨
¨¨¤nˆV€GÝ/°ÀÐQWÐXÑXÔX�O€GˆVØ‡N‚N�7˜GÑ$Ô$Ð$à$ÐÝ˜ZÐ)=¸tÑDÔD€NØÐÝ˜$ÐOÐOÐ1EÐOÐOÐOÑPÔPÐPàˆ^˜FÑ#Ô#€Fõ �f�bœjÑ)Ô)ð ð Øð 	#ð 	#Ý�‰<Œ<ð	#ð 	#ð 	#ñô Ð)ð Œ<˜6œ<Ò'Ð'Ð'Øð 	&ð 	&¸¼ð 	&ð 	&Ø”lð	&ð 	&ð 	&ñ (Ô'Ð'ð Œ<˜6œ<Ò'Ð'Ð'Øð 	9ð 	9ØŒ|ð	9ð 	9Ø)/¬ð	9ð 	9ð 	9ñ (Ô'Ð'Ð'Ð'rp   c           	     óž  — t          |¦  «        }t          |¦  «         d\  }}}t          |d|dddd¬¦  «        \  }}t          |¦  «        }|d| …         || d…         }	}|d| …         }
t	          |||	¬	¦  «        \  }}	|                     ||
¦  «         d
}t          ||d¦  «        }|€t          | › d|› d�¦  «        ‚ ||	¦  «        }t          |t          ¦  «        rµt          |¦  «        |k    s!J d| › dt          |¦  «        › d|› d�¦   «         ‚|D ]|}|j        |dfk    sJ d| › d|j        › d|df› d�¦   «         ‚|j        j        dk    sJ d| › d|j        › d�¦   «         ‚d| › d�}t          |                     d¬¦  «        d|¬¦  «         Œ}dS t          |t           j        ¦  «        rz|j        ||fk    sJ d| › d|j        › d||f› d�¦   «         ‚|j        j        dk    sJ d| › d|j        › d�¦   «         ‚d| › d�}t%          d||¬¦  «         t%          |d|¬¦  «         dS t'          dt)          |¦  «        › d| › d�¦  «        ‚)zkCheck the output of the `predict_proba` method for classifiers supporting
    multilabel-indicator targets.rœ  r+  r  r+  Tr   r’  NrX  rß  rž  rŸ  zWhen zn.predict_proba returns a list, the list should be of length n_outputs and contain NumPy arrays. Got length of r¡  rá  zx.predict_proba returns a list, this list should contain NumPy arrays of shape (n_samples, 2). Got NumPy arrays of shape ÚfzW.predict_proba returns a list, it should contain NumPy arrays with floating dtype. Got r   z¦.predict_proba returns a list, each NumPy array should contain probabilities for each class and thus each row should sum to 1 (or close to 1 due to numerical errors).rt  r4  r[  zX.predict_proba returns a NumPy array, the expected shape is (n_samples, n_outputs). Got zN.predict_proba returns a NumPy array, the expected data type is floating. Got z .predict_proba returns a NumPy array, this array is expected to provide probabilities of the positive class and should therefore contain values between 0 and 1.zUnknown returned type z by z4.predict_proba. A list or a Numpy array is expected.)r   r]   r#   r6   rä  rÃ  rg   rR   rt   rb  rT  râ  r�  r5  rU   rm  r‡  rÑ  rY   rh  r@  )rª   r\  rÍ   rx  r¢  r£  r�  r‚  r  rY  r–  r¥  Úpredict_proba_methodr:  r1  r¸  s                   rn   rÀ   rÀ      s¼  € õ �Ñ'Ô'€JÝ�ZÑ Ô Ð à&0Ñ#€Iˆy˜)Ý)ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aà˜˜)˜˜”n a¨¨
¨¨¤nˆV€GØ��)��Œn€GÝ/°ÀÐQWÐXÑXÔX�O€GˆVØ‡N‚N�7˜GÑ$Ô$Ð$à*ÐÝ" :Ð/CÀTÑJÔJÐØÐ#Ý˜$ÐOÐOÐ1EÐOÐOÐOÑPÔPÐPà!Ð! &Ñ)Ô)€Fõ �&�$ÑÔð /
Ý�6‰{Œ{˜iÒ'Ð'Ð'ð8�Dð 8ð 8å�f‘+”+ð8ð 8à+4ð8ð 8ð 8ñ (Ô'Ð'ð
 ð 	Bð 	BˆDØ”: )¨Q Ò/Ð/Ð/ð%˜ð %ð %à)-¬ð%ð %ð ˜q�>ð%ð %ð %ñ 0Ô/Ð/ð ”:”? cÒ)Ð)Ð)ð)˜ð )ð )à”:ð)ð )ð )ñ *Ô)Ð)ð%˜ð %ð %ð %ð õ ˜DŸHšH¨!˜HÑ,Ô,¨a¸ÐAÑAÔAÐAÐAð'	Bð 	Bõ( 
�F�BœJÑ	'Ô	'ð 
ØŒ| 	¨9Ð5Ò5Ð5Ð5ð5�Dð 5ð 5Ø=C¼\ð5ð 5à% yÐ1ð5ð 5ð 5ñ 6Ô5Ð5ð
 Œ|Ô  CÒ'Ð'Ð'ðK�Dð Kð KØ39´<ðKð Kð Kñ (Ô'Ð'ð
C�Dð Cð Cð Cð 	õ
 	˜!˜V¨WÐ5Ñ5Ô5Ð5Ý˜& !¨WÐ5Ñ5Ô5Ð5Ð5Ð5åðB¥T¨&¡\¤\ð Bð B°tð Bð Bð Bñ
ô 
ð 	
rp   c           	     ó¦  — t          |¦  «        }t          |¦  «         d\  }}}t          |d|dddd¬¦  «        \  }}t          |¦  «        }|d| …         || d…         }	}|d| …         }
t	          |||	¬	¦  «        \  }}	|                     ||
¦  «         d
}t          ||d¦  «        }|€t          | › d|› d�¦  «        ‚ ||	¦  «        }t          |t          j
        ¦  «        sJ | › dt          |¦  «        › d�¦   «         ‚|j        ||fk    sJ | › d|j        › d||f› d�¦   «         ‚|j        j        dk    sJ | › d|j        › d�¦   «         ‚dS )zoCheck the output of the `decision_function` method for classifiers supporting
    multilabel-indicator targets.rœ  r+  r  r+  Tr   r’  NrX  rÝ  rž  rŸ  z<.decision_function is expected to output a NumPy array. Got r   z].decision_function is expected to provide a NumPy array of shape (n_samples, n_outputs). Got r¡  rá  r¨  z?.decision_function is expected to output a floating dtype. Got )r   r]   r#   r6   rä  rÃ  rg   rR   rt   r‡  rÑ  r@  râ  r�  r5  )rª   r\  rÍ   rx  r¢  r£  r�  r‚  r  rY  r–  r¥  Údecision_function_methodr:  s                 rn   rÁ   rÁ   U  sö  € õ �Ñ'Ô'€JÝ�ZÑ Ô Ð à&0Ñ#€Iˆy˜)Ý)ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aà˜˜)˜˜”n a¨¨
¨¨¤nˆV€GØ��)��Œn€GÝ/°ÀÐQWÐXÑXÔX�O€GˆVØ‡N‚N�7˜GÑ$Ô$Ð$à.ÐÝ& zÐ3GÈÑNÔNÐØÐ'Ý˜$ÐOÐOÐ1EÐOÐOÐOÑPÔPÐPà%Ð% fÑ-Ô-€Fõ �f�bœjÑ)Ô)ð ð Øð 	(ð 	(Ý�V‘”ð	(ð 	(ð 	(ñô Ð)ð Œ<˜I yÐ1Ò1Ð1Ð1Øð 	%ð 	%Ø06´ð	%ð 	%à�yÐ!ð	%ð 	%ð 	%ñ 2Ô1Ð1ð
 Œ<Ô Ò#Ð#Ð#Øð 	(ð 	(Ø”ð	(ð 	(ð 	(ñ $Ô#Ð#Ð#Ð#rp   c                ó¶   — t          |¦  «        }d| › d�}t          t          |¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zŸCheck the error raised by get_feature_names_out when called before fit.

    Unfitted estimators with get_feature_names_out should raise a NotFittedError.
    rd   zU should have raised a NotFitted error when fit is called before get_feature_names_outr[  N)r   r\   r'   Úget_feature_names_out)rª   rÄ  rj   r¸  s       rn   Ú!check_get_feature_names_out_errorr®  „  s·   € õ �nÑ%Ô%€Ið	(�Tð 	(ð 	(ð 	(ð õ 
•¨Ð	0Ñ	0Ô	0ð *ð *Ø×'Ò'Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s   ¬AÁAÁAc                óÞ   — t          dd¬¦  «        \  }}t          ||¦  «        }t          |¦  «        }t          ||¦  «        }t	          |¦  «         |                     ||¦  «        |u sJ ‚dS )z+Check if self is returned when calling fit.r   é   ©r}  rx  N)r!   rä  r   r¿  r]   rÃ  r  s        rn   r   r   ”  sx   € õ  1°Ð3Ñ3Ô3�D€A€qÝ! .°!Ñ4Ô4€Aå�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aå�YÑÔÐØ�=Š=˜˜AÑÔ )Ð+Ð+Ð+Ð+Ð+Ð+rp   c                ó  — t          dd¬¦  «        \  }}t          ||¦  «        }t          |¦  «        }t          ||¦  «        }t	          ||g¦  «        \  }}t          |¦  «         |                     ||¦  «        |u sJ ‚dS )z‰Check that the estimator can handle readonly memmap backed data.

    This is particularly needed to support joblib parallelisation.
    r   r°  r±  N)r!   rä  r   r¿  rZ   r]   rÃ  r  s        rn   r€   r€   ¡  s�   € õ  1°Ð3Ñ3Ô3�D€A€qÝ! .°!Ñ4Ô4€Aå�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aå$ a¨ VÑ,Ô,�D€A€qå�YÑÔÐà�=Š=˜˜AÑÔ )Ð+Ð+Ð+Ð+Ð+Ð+rp   c                ó*  — d}t          ¦   «         \  }}t          |¦  «        }dD ]m}t          ||¦  «        r[t          t          |                     |¬¦  «        ¬¦  «        5   t          ||¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   ŒndS )z}Check that predict raises an exception in an unfitted estimator.

    Unfitted estimators should raise a NotFittedError.
    a   Estimator should raise a NotFittedError when calling `{method}` before fit. Either call `check_is_fitted(self)` at the beginning of `{method}` or set `tags.requires_fit=False` on estimator tags to disable this check.
- `check_is_fitted`: https://scikit-learn.org/dev/modules/generated/sklearn.utils.validation.check_is_fitted.html
- Estimator Tags: https://scikit-learn.org/dev/developers/develop.html#estimator-tags)rÝ  rõ   rß  rÞ  )r  r[  N)rƒ  r   r¡   r\   r'   r  rg   )rª   rÄ  r¸  r�  r‚  rj   r  s          rn   r‚   r‚   ´  sê   € ð	ð õ Ñ Ô �D€A€qå�nÑ%Ô%€Iðð .ð .ˆõ �9˜fÑ%Ô%ð 	.Ý�°·²Àf°Ñ0MÔ0MÐNÑNÔNð .ð .Ø*•˜	 6Ñ*Ô*¨1Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .øð.ð .s   Á!BÂB	ÂB	c                óú  — t          |¦  «        }t          j                             d¦  «        }d}t	          ||                     |df¬¦  «        ¦  «        }t          j        |¦  «        dz  }t          ||¦  «        }t          |¦  «        }t          |¦  «         | 
                    ||¦  «         |                     |¦  «        }t          |¦  «         t          j        d¬¦  «        5 }	t          j        dt          ¦  «         t          j        dt           ¦  «         | 
                    ||d d …t          j        f         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }
d	d
                     d„ |	D ¦   «         ¦  «        z  }|j        j        s#t+          |	¦  «        dk    s
J |¦   «         ‚d|v sJ ‚t-          |                     ¦   «         |
                     ¦   «         ¦  «         d S )Nr   rÉ  r  r±  TrK  ÚalwaysÚignorez)expected 1 DataConversionWarning, got: %sr•  c                ó,   — g | ]}t          |¦  «        ‘ŒS rN  ©r  )rI  Úw_xs     rn   r’  z)check_supervised_y_2d.<locals>.<listcomp>é  s   € ÐÐÐ�c�ˆS‰ŒÐÐÐrp   zPDataConversionWarning('A column-vector y was passed when a 1d array was expected)rN   r‡  r¹  rº  rä  r  rL  r¿  r   r]   rÃ  rõ   ru   rO  Úsimplefilterr%   ÚRuntimeWarningÚnewaxisr˜  r¸   r¹   rT  rU   r¨  )rª   rÄ  rl   rM  rx  r�  r‚  rj   r:  ÚwÚ	y_pred_2drV  s               rn   rÄ   rÄ   Ò  s  € å�NÑ#Ô#€DÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ€IÝ! .°#·+²+ÀIÈqÀ>°+Ñ2RÔ2RÑSÔS€AÝ
Œ	�)ÑÔ˜qÑ €AÝ! .°!Ñ4Ô4€AÝ�nÑ%Ô%€IÝ�YÑÔÐà‡M‚M�!�QÑÔÐØ×Ò˜qÑ!Ô!€Få�YÑÔÐõ 
Ô	 ¨Ð	-Ñ	-Ô	-ð +°ÝÔ˜hÕ(=Ñ>Ô>Ð>ÝÔ˜h­Ñ7Ô7Ð7Ø�Š�a˜˜1˜1˜1�bœj˜=Ô)Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð ×!Ò! !Ñ$Ô$€IØ
5¸¿	º	ØÐ˜QÐÑÔñ9ô 9ñ €Cð ÔÔ(ð 
å�1‰vŒv˜Šzˆzˆz˜3‰zŒzˆzð7Ø:=ð>ð >ð >ð >õ �F—L’L‘N”N I§O¢OÑ$5Ô$5Ñ6Ô6Ð6Ð6Ð6s   Ã+AEÅEÅEc                óF  — t          j        |¦  «        }t          |¦  «        }|dk    r| |                      ¦   «         k    } t	          |¦  «         |                     | |¦  «         |                     | ¦  «        }t          |d¦  «        �r¢|                     | ¦  «        }t          |t           j
        ¦  «        sJ ‚t          |¦  «        dk    r¦|                     ¦   «         dk                         t          ¦  «        }|j        |         }	t!          |	|d|›dd                     t%          t&          |	¦  «        ¦  «        ›dd                     t%          t&          |¦  «        ¦  «        ›d	�¬
¦  «         n¸t)          |dd¦  «        dk    r£t          j        |d¬¦  «                             t          ¦  «        }
|j        |
         }t!          ||d|›dd                     t%          t&          |¦  «        ¦  «        ›dd                     t%          t&          |¦  «        ¦  «        ›d	�¬
¦  «         t!          ||j        d|›dd                     t%          t&          |¦  «        ¦  «        ›dd                     t%          t&          |j        ¦  «        ¦  «        ›d	�¬
¦  «         d S )Nrd  rÝ  r+  r   z0decision_function does not match classifier for z: expected 'r•  z', got 'rÖ  r[  Údecision_function_shapeÚovrrt  r4  z"Unexpected classes_ attribute for )r‡  r/  r   Úmeanr]   rÃ  rõ   r¡   rÝ  rt   rÑ  rT  r¨  r§  r<  rÕ  rX   r˜  r¦  r  rg   r8  )r�  r‚  rª   r\  r.  rÍ   r:  r;  r<  r=  Ú
decision_yÚy_exps               rn   Úcheck_classifiers_predictionsrÅ  õ  s‹  € åŒi˜‰lŒl€GÝ�Ñ'Ô'€JØˆ}ÒÐØ�—’‘”ŠLˆÝ�ZÑ Ô Ð à‡N‚N�1�aÑÔÐØ×Ò Ñ"Ô"€FåˆzÐ.Ñ/Ô/ñ "Ø×/Ò/°Ñ2Ô2ˆÝ˜(¥B¤JÑ/Ô/Ð/Ð/Ð/Ýˆw‰<Œ<˜1ÒÐØ ŸšÑ(Ô(¨1Ò,×4Ò4µSÑ9Ô9ˆHØ Ô)¨(Ô3ˆGÝØØ�ð �J�JØ—I’I�c¥# wÑ/Ô/Ñ0Ô0Ð0Ð0Ø—I’I�c¥# vÑ.Ô.Ñ/Ô/Ð/Ð/ððñ ô ð ð õ �ZÐ!:¸EÑBÔBÀeÒKÐKÝœ 8°!Ð4Ñ4Ô4×;Ò;½CÑ@Ô@ˆJØÔ'¨
Ô3ˆEÝØØ�ð �J�JØ—I’I�c¥# u™oœoÑ.Ô.Ð.Ð.Ø—I’I�c¥# vÑ.Ô.Ñ/Ô/Ð/Ð/ððñ ô ð õ ØØÔÐð ˆJˆJØ�IŠI•c�#˜wÑ'Ô'Ñ(Ô(Ð(Ð(Ø�IŠI•c�#˜zÔ2Ñ3Ô3Ñ4Ô4Ð4Ð4ð	
ð	ñ 	ô 	ð 	ð 	ð 	rp   c                ó   — | dv r|n|S )N)ÚLabelPropagationÚLabelSpreadingÚSelfTrainingClassifierrN  )rª   r‚  Úy_namess      rn   Ú _choose_check_classifiers_labelsrË  0  s   € ð
 ÐSÐSÐSð 	
ˆàðrp   c                óâ  — t          ddd¬¦  «        \  }}t          ||d¬¦  «        \  }}t          ¦   «                              |¦  «        }||dk             }||dk             }t	          ||¦  «        }t	          ||¦  «        }g d¢}d	d
g}t          j        ||¦  «        }t          j        ||¦  «        }	|||	fg}
t          |¦  «        j        j	        r|
 
                    |||f¦  «         |
D ]C\  }}}||                     d¦  «        fD ]%}t          | ||¦  «        }t          ||| |¦  «         Œ&ŒDddg}t          j        ||¦  «        }	t          | ||	¦  «        }t          ||| |¦  «         d S )NrÉ  r   rÈ  )rx  r}  rË  rD  rO  r+  )ÚoneÚtwoÚthreerÍ  rÎ  ÚOrI  rt  )r!   r8   r5   r  rä  r‡  ÚtakerN   r®   rË   rj  r§  rË  rÅ  )rª   r\  ÚX_multiclassÚy_multiclassÚX_binaryÚy_binaryÚlabels_multiclassÚlabels_binaryÚy_names_multiclassÚy_names_binaryrt  r�  r‚  rÊ  Ú	y_names_irÞ  s                   rn   r¶   r¶   :  sº  € Ý!+Ø 1°#ð"ñ "ô "Ñ€L�,õ ")¨°|ÐRSÐ!TÑ!TÔ!TÑ€L�,Ý!Ñ#Ô#×1Ò1°,Ñ?Ô?€Là˜L¨AÒ-Ô.€HØ˜L¨AÒ-Ô.€Hå,¨_¸lÑKÔK€LÝ(¨¸(ÑCÔC€Hà/Ð/Ð/ÐØ˜E�N€MåœÐ!2°LÑAÔAÐÝ”W˜]¨HÑ5Ô5€Nà˜8 ^Ð4Ð5€HÝ�Ñ Ô Ô0Ô<ð JØ�Š˜ |Ð5GÐHÑIÔIÐIà!ð Hð H‰ˆˆ1ˆgØ! 7§>¢>°#Ñ#6Ô#6Ð7ð 	Hð 	HˆIÝ1°$¸¸9ÑEÔEˆBÝ)¨!¨R°°ÑGÔGÐGÐGð	Hð ˜�G€MÝ”W˜]¨HÑ5Ô5€NÝ/°°hÀÑOÔO€HÝ! (¨H°d¸OÑLÔLÐLÐLÐLrp   c           
     óT  — t          ¦   «         \  }}t          ||d d…         ¦  «        }t          j                             d¦  «        }|                     d|j        d         ¬¦  «        }t          ||¦  «        }t          j                             d¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «         t          |¦  «         | t          v rFt          j        |d|z  |                     dt          |¦  «        ¬¦  «        z   g¦  «        }|j        }n|}|                     ||¦  «         |                     |¦  «        }	|                     ||                     t"          ¦  «        ¦  «         |                     |¦  «        }
t%          |	|
d| ¬¦  «         d S )Nr+  r   r  r±  r+  rÙ  r°  )rƒ  rä  r‡  r¹  rº  r  râ  r¿  r   r]   rO   ra  rT  rl  rÃ  rõ   r§  rë  rU   )rª   Úregressor_origr�  r  rM  r‚  Úregressor_1Úregressor_2rÞ  Úpred1rR  s              rn   rÖ   rÖ   \  sx  € åÑ Ô �D€A€qÝ! .°!°C°R°C´&Ñ9Ô9€AÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�Š�A˜AœG AœJˆÑ'Ô'€AÝ! .°!Ñ4Ô4€AÝ
Œ)×
Ò
 Ñ
"Ô
"€Cå˜Ñ'Ô'€KÝ˜Ñ'Ô'€KÝ�[Ñ!Ô!Ð!Ý�[Ñ!Ô!Ð!àÕ"Ð"Ð"ÝŒY˜˜1˜q™5 3§;¢;¨qµs¸1±v´v ;Ñ#>Ô#>Ñ>Ð?Ñ@Ô@ˆØŒTˆˆàˆð ‡O‚O�A�rÑÔÐØ×Ò Ñ"Ô"€EØ‡O‚O�A�r—y’y¥Ñ'Ô'Ñ(Ô(Ð(Ø×Ò Ñ"Ô"€EÝ�E˜5 t°TÐ:Ñ:Ô:Ð:Ð:Ð:rp   c           
     ó`  — t          ¦   «         \  }}|                     |¦  «        }t          |¦  «        }t          |¦  «        }t	          ||¦  «        }t          ||¦  «        }| t          v ret          j         	                    d¦  «        }t          j
        |d|z  |                     dt          |¦  «        ¬¦  «        z   g¦  «        }|j        }n|}|rt          |||g¦  «        \  }}}t          |d¦  «        st          |d¦  «        rd|_        | dk    rd|_        t%          t&          d| › d	�¬
¦  «        5  |                     ||d d…         ¦  «         d d d ¦  «         n# 1 swxY w Y   t+          |¦  «         |                     ||¦  «         |                     |                     ¦   «         |                     ¦   «         ¦  «         |                     |¦  «        }	|	j        |j        k    sJ ‚t3          |¦  «        j        j        s|                     ||¦  «        dk    sJ ‚d S d S )Nr   r+  r±  ÚalphasÚalpharÙ  ÚPassiveAggressiveRegressorrh  ri  r[  rI  r¹  )rƒ  r§  r6   r   rä  r¿  rO   r‡  r¹  rº  ra  r  rT  rl  rZ   r¡   râ  ÚCr\   rh  rÃ  r]   rÎ  rõ   râ  rN   rÐ   r6  rÛ  )
rª   rÜ  rŒ   r±   r�  r‚  r×   rM  rÞ  r:  s
             rn   rÒ   rÒ   x  st  € õ Ñ Ô �D€A€qØ	�Š�ÑÔ€AÝˆa‰Œ€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€AÝ! )¨QÑ/Ô/€AØÕ"Ð"Ð"ÝŒi×#Ò# AÑ&Ô&ˆÝŒY˜˜1˜q™5 3§;¢;¨qµs¸1±v´v ;Ñ#>Ô#>Ñ>Ð?Ñ@Ô@ˆØŒTˆˆàˆàð 9Ý,¨a°°B¨ZÑ8Ô8‰ˆˆ1ˆbå�9˜hÑ'Ô'ð ­G°I¸wÑ,GÔ,Gð àˆ	ŒØÐ+Ò+Ð+Øˆ	Œõ 
Ýð$˜dð $ð $ð $ð
ñ 
ô 
ð 	!ð 	!ð 	�Š�a˜˜3˜B˜3œÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ �YÑÔÐØ‡M‚M�!�RÑÔÐØ‡M‚M�!—(’(‘*”*˜bŸiši™kœkÑ*Ô*Ð*Ø×Ò˜qÑ!Ô!€FØŒ<˜2œ8Ò#Ð#Ð#Ð#õ
 �IÑÔÔ-Ô8ð ,Ø�Š˜q "Ñ%Ô%¨Ò+Ð+Ð+Ð+ð,ð ,Ø+Ð+s   Ä;E&Å&E*Å-E*c                óD  — t           j                             d¦  «        }t          |¦  «        }|                     d¬¦  «        }t          ||¦  «        }t          ||d d …df         ¦  «        }|                     ||¦  «         g d¢}|D ]}t          ||¦  «        rJ ‚Œd S )Nr   )rs  r$  r±  )rÝ  rß  rÞ  )	r‡  r¹  rº  r   Únormalrä  r¿  rÃ  r¡   )rª   rÜ  rÅ  r×   r�  r‚  ré  rê  s           rn   rÕ   rÕ   «  s´   € õ Œ)×
Ò
 Ñ
"Ô
"€CÝ�nÑ%Ô%€Ià�
Š
˜ˆ
Ñ Ô €AÝ! .°!Ñ4Ô4€AÝ! )¨Q¨q¨q¨q°!¨t¬WÑ5Ô5€Aà‡M‚M�!�QÑÔÐØGÐGÐG€EØð 1ð 1ˆ	Ý˜9 iÑ0Ô0Ð0Ð0Ð0Ð0ð1ð 1rp   c                óà  — t          |¦  «        j        j        rddg}ndg}|D �]È}t          |dd¬¦  «        \  }}t	          ||dd¬¦  «        \  }}}}	t          |¦  «        j        j        r t          ||¦  «        }t          ||¦  «        }t          t          j
        |¦  «        ¦  «        }|dk    rdd	d
œ}
ndd	d	dœ}
t          |¦  «                             |
¬¦  «        }t          |d¦  «        r|                     d¬¦  «         t          |d¦  «        r|                     d¬¦  «         t          |d¦  «        r|                     d¬¦  «         t          |d¦  «        r|                     d¬¦  «         t          |¦  «         |                     ||¦  «         |                     |¦  «        }t          |¦  «        j        j        st          j        |dk    ¦  «        dk    sJ ‚�ŒÊd S )Nr+  r  r   rv  )rÊ  r}  rË  r¹  ©r¢  r}  éè  g-Cëâ6?)r   rt  )r   rt  r+  ©r²   Ún_iterrH  ©rë  rJ  rI  Úmin_weight_fraction_leafrÙ  )rí  Ún_iter_no_change)rî  g×£p=
×ë?)rN   r®   rË   r!   r2   r“   r”   r/   rT  r‡  r/  r   r.  r¡   r]   rÃ  rõ   r6  rÂ  )rª   r\  rt  Ú	n_centersr�  r‚  r  rY  r–  r¤  r²   rÍ   r:  s                rn   rÇ   rÇ   ¼  s(  € å�Ñ Ô Ô0Ô<ð Ø�q�6ˆˆà�3ˆàð #/ñ #/ˆ	å )¸!ÈÐLÑLÔL‰ˆˆ1Ý+;Øˆq˜C¨að,
ñ ,
ô ,
Ñ(ˆ�˜ &õ
 �OÑ$Ô$Ô/Ô8ð 	3Ý ¨Ñ0Ô0ˆFÝ  ¨'Ñ2Ô2ˆGå�œ	 'Ñ*Ô*Ñ+Ô+ˆ	à˜Š>ˆ>Ø#¨Ð/Ð/ˆLˆLà#¨°6Ð:Ð:ˆLå˜?Ñ+Ô+×6Ò6ÀLÐ6ÑQÔQˆ
Ý�:˜xÑ(Ô(ð 	.Ø×!Ò!¨Ð!Ñ-Ô-Ð-Ý�:˜zÑ*Ô*ð 	1Ø×!Ò!¨4Ð!Ñ0Ô0Ð0Ý�:Ð9Ñ:Ô:ð 	AØ×!Ò!¸4Ð!Ñ@Ô@Ð@Ý�:Ð1Ñ2Ô2ð 	7Ø×!Ò!°2Ð!Ñ6Ô6Ð6å˜Ñ$Ô$Ð$Ø�Š�w Ñ(Ô(Ð(Ø×#Ò# FÑ+Ô+ˆõ ˜Ñ(Ô(Ô8ÔCð 	/Ý”7˜6 Qš;Ñ'Ô'¨$Ò.Ð.Ð.Ð.ùðG#/ð #/rp   c                ó  — t          |¦  «        }t          |d¦  «        r|                     d¬¦  «         t          |d¦  «        r|                     d¬¦  «         t          |¦  «         |                     ||¦  «         |                     |¦  «        }|                     d¬¦  «         |                     ||¦  «         |                     |¦  «        }	t          ||	d	¬
¦  «        t          ||d	¬
¦  «        k    sJ ‚d S )Nrë  rH  rì  rJ  ré  rI  Úbalancedrê  Úweighted)Úaverage)r   r¡   r.  r]   rÃ  rõ   r,   )
rª   r\  r  r–  rY  r¤  rG  rÍ   r:  Úy_pred_balanceds
             rn   Ú'check_class_weight_balanced_classifiersrõ  é  s!  € õ �Ñ'Ô'€JÝˆz˜8Ñ$Ô$ð *Ø×Ò SÐÑ)Ô)Ð)Ýˆz˜:Ñ&Ô&ð -Ø×Ò tÐÑ,Ô,Ð,å�ZÑ Ô Ð Ø‡N‚N�7˜GÑ$Ô$Ð$Ø×Ò Ñ'Ô'€Fà×Ò zÐÑ2Ô2Ð2Ø‡N‚N�7˜GÑ$Ô$Ð$Ø ×(Ò(¨Ñ0Ô0€OÝ�F˜O°ZÐ@Ñ@Ô@Å8Ø� 
ðDñ Dô Dò ð ð ð ð ð rp   c                óÂ  — t          j        ddgddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          |¦  «        }t          |d¦  «        r|                     d¬	¦  «         t          |d
¦  «        r|                     d¬¦  «         t          |d¦  «        r|                     d¬¦  «         t          |¦  «         |                     d¬¦  «         |                     ||¦  «        j                             ¦   «         }t          |¦  «        }t          t          t          j        |¦  «        ¦  «        ¦  «        }|t          j        |dk    ¦  «        |z  z  |t          j        |dk    ¦  «        |z  z  dœ}|                     |¬¦  «         |                     ||¦  «        j                             ¦   «         }	t          ||	d| z  ¬¦  «         dS )z4Test class weights with non-contiguous class labels.ç      ð¿r   gš™™™™™é¿r¶  rŠ  )rt  rt  rt  rI  rI  rë  ré  rì  rJ  rI  rX  r  rZ  rñ  rê  rt  rI  )rt  rI  z>Classifier %s is not computing class_weight=balanced properly.r[  N)r‡  rB  r   r¡   r.  r]   rÃ  Úcoef_r€  rT  rë  r/  rm  rU   )
rª   rÄ  r�  r‚  rÍ   Úcoef_balancedrx  r€  r²   Úcoef_manuals
             rn   rÊ   rÊ   ÿ  sð  € õ 	Œ�4˜�,  q 	¨D°$¨<¸#¸s¸ÀcÈ3ÀZÐPÑQÔQ€AÝ
ŒÐ"Ð"Ð"Ñ#Ô#€Aå�~Ñ&Ô&€Jåˆz˜8Ñ$Ô$ð +ð 	×Ò TÐÑ*Ô*Ð*Ýˆz˜:Ñ&Ô&ð -Ø×Ò tÐÑ,Ô,Ð,Ýˆz˜4Ñ Ô ð $Ø×Ò ÐÑ#Ô#Ð#Ý�ZÑ Ô Ð ð ×Ò zÐÑ2Ô2Ð2Ø—N’N 1 aÑ(Ô(Ô.×3Ò3Ñ5Ô5€Mõ �A‘”€IÝ•c�"œ) A™,œ,Ñ'Ô'Ñ(Ô(€Ið �œ˜q Ašv™œ¨Ñ2Ñ3Ø�œ  R¢™œ¨9Ñ4Ñ5ðð €Lð ×Ò |ÐÑ4Ô4Ð4Ø—.’.  AÑ&Ô&Ô,×1Ò1Ñ3Ô3€KåØØØPÐSWÑWðñ ô ð ð ð rp   c                ó  — t          dd¬¦  «        \  }}t          ||t          ¬¦  «        }t          |¦  «        }t	          ||¦  «        }t          |¦  «         |                     ¦   «         }t          |¦  «        }|                     ||¦  «         |                     ¦   «         }| 	                    ¦   «         D ]N\  }}	||         }
t          j        |
¦  «        t          j        |	¦  «        k    sJ d| ›d|›d|	›d|
›d	�	¦   «         ‚ŒOd S )
Nr   r°  r±  ræ  rd   z, should not change or mutate  the parameter z from z to z during fit.)r!   rä  r/   r   r¿  r]   rÅ   r   rÃ  rç  ÚjoblibÚhash)rª   rÄ  r�  r‚  rj   ÚparamsÚoriginal_paramsÚ
new_paramsÚ
param_nameÚoriginal_valueÚ	new_values              rn   r}   r}   (  s)  € å 1°Ð3Ñ3Ô3�D€A€qÝ! .°!½JÐGÑGÔG€AÝ�nÑ%Ô%€IÝ! )¨QÑ/Ô/€Aå�YÑÔÐð ×!Ò!Ñ#Ô#€FÝ˜vÑ&Ô&€Oð ‡M‚M�!�QÑÔÐð ×%Ò%Ñ'Ô'€JØ&5×&;Ò&;Ñ&=Ô&=ð 
ð 
Ñ"ˆ
�NØ˜zÔ*ˆ	õ Œ{˜9Ñ%Ô%­¬°^Ñ)DÔ)DÒDÐDÐDÐDð ˆtˆt�Z�Z�Z   °°°ð<ñ EÔDÐDÐDð
ð 
rp   c                óæ  — 	 t          |¦  «        }n!# t          $ r t          d| › d�¦  «        ‚w xY wt          t          |¦  «        j        ¦  «        }d„ d„ t          |¦  «        j        D ¦   «         D ¦   «         }t          t          |¦  «        ¦  «        t          |¦  «        z
  t          |¦  «        z
  }t          d„ |D ¦   «         ¦  «        }|rJ d| ›dt          |¦  «        ›d�¦   «         ‚dS )	zCheck setting during init.rd   z9 should store all parameters as an attribute during init.c                ó   — g | ]	}|D ]}|‘ŒŒ
S rN  rN  )rI  Úparams_parentr7  s      rn   r’  z3check_no_attributes_set_in_init.<locals>.<listcomp>W  s?   € ð ð ð àØ"ðð ð ð 	ðð ð ð rp   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rH  )rT   )rI  Úparents     rn   rK  z2check_no_attributes_set_in_init.<locals>.<genexpr>Y  s*   è è € ÐVÐV°F�i¨Ñ/Ô/ÐVÐVÐVÐVÐVÐVrp   c                ó<   — g | ]}|                      d ¦  «        °|‘ŒS )r  )rÀ  )rI  rŒ  s     rn   r’  z3check_no_attributes_set_in_init.<locals>.<listcomp>`  s)   € ÐRÐRÐR ¸T¿_º_ÈSÑ=QÔ=QÐR˜ÐRÐRÐRrp   zR should not set any attribute apart from parameters during init. Found attributes rá  N)	r   rÒ  rT   r@  r‹  Ú__mro__Úsetræ  Úsorted)rª   rÄ  rj   Úinit_paramsÚparents_init_paramsÚinvalid_attrs         rn   r{   r{   J  s4  € ð
õ ˜.Ñ)Ô)ˆ	ˆ	øÝð 
ð 
ð 
ÝØX˜ÐXÐXÐXñ
ô 
ð 	
ð
øøøõ
 �D ™OœOÔ4Ñ5Ô5€Kðð àVÐV½dÀ9¹o¼oÔ>UÐVÑVÔVðñ ô Ðõ •t˜I‘”Ñ'Ô'­#¨kÑ*:Ô*:Ñ:½SÐATÑ=UÔ=UÑU€LåÐRÐR¨ÐRÑRÔRÑSÔS€LØð ð ð ð ˆ4ˆ4•˜Ñ%Ô%Ð%Ð%ð	'ñô Ðð ð s   ‚ ’0c                ó˜  — t          j        ddgddgddgddgddgddgddgddgddgg	¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          |¦  «        }|                     ||¦  «         |                     |¦  «        }|                     ¦   «          t          j        |j	        ¦  «        sJ ‚|                     |¦  «        }t          ||¦  «         t          j        t          j        |¦  «        ¦  «        }t          j        |j	        ¦  «        sJ ‚|                     |¦  «        }t          ||¦  «         d S )NéþÿÿÿrI  rt  r+  )	rt  rt  rt  r+  r+  r+  r  r  r  )r‡  rB  r¿  r   rÃ  rõ   rŠ   r   r§  rø  rX   r!  r#  r"  )rª   rÄ  r�  r‚  rJ  Ú	pred_origr1  s          rn   r¢   r¢   h  sI  € å
Œà�ˆHØ�ˆHØ�ˆHØ�ˆFØ�ˆFØ�ˆFØ�ˆHØ�ˆFØ�ˆHð
	
ñ	ô 	€Aõ 	ŒÐ,Ð,Ð,Ñ-Ô-€AÝ! .°!Ñ4Ô4€AÝ
�Ñ
Ô
€Cà‡G‚GˆAˆq�M„M€MØ—’˜A‘”€Ið ‡L‚L�N„N€NÝŒ?˜3œ9Ñ%Ô%Ð%Ð%Ð%Ø�;Š;�q‰>Œ>€DÝ�t˜YÑ'Ô'Ð'õ Œ,•v”| CÑ(Ô(Ñ
)Ô
)€CÝŒ?˜3œ9Ñ%Ô%Ð%Ð%Ð%Ø�;Š;�q‰>Œ>€DÝ�t˜YÑ'Ô'Ð'Ð'Ð'rp   c                ó  — t          j        ddgddgddgddgddgddgddgddgddgddgddgddgg¦  «        }t          ||¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }dD ]}t	          | ||||¦  «         Œd S )Nr  r   rt  r+  r$  )rt  rt  rt  r+  r+  r+  rt  rt  rt  r+  r+  r+  ©Ú
NotAnArrayÚPandasDataframe)r‡  rB  rä  r¿  Ú"check_estimators_data_not_an_array©rª   rÄ  r�  r‚  Úobj_types        rn   r³   r³   ‹  sØ   € å
Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð	
ñ	ô 	€Aõ  	" .°!Ñ4Ô4€AÝ
ŒÐ5Ð5Ð5Ñ6Ô6€AÝ! .°!Ñ4Ô4€AØ5ð Qð QˆÝ*¨4°ÀÀAÀxÑPÔPÐPÐPðQð Qrp   c                ó˜   — t          ¦   «         \  }}t          ||¦  «        }t          ||¦  «        }dD ]}t          | ||||¦  «         Œd S )Nr  )rƒ  rä  r¿  r  r  s        rn   rÓ   rÓ   ¤  se   € åÑ Ô �D€A€qÝ! .°!Ñ4Ô4€AÝ! .°!Ñ4Ô4€AØ5ð Qð QˆÝ*¨4°ÀÀAÀxÑPÔPÐPÐPðQð Qrp   c                ó’  — | t           v rt          d¦  «        ‚t          |¦  «        }t          |¦  «        }t          |¦  «         t          |¦  «         |dvr"t	          d                     |¦  «        ¦  «        ‚|dk    rCt          t          j        |¦  «        ¦  «        }t          t          j        |¦  «        ¦  «        }nš	 dd l	}	t          j        |¦  «        }|j
        dk    r|	                     |d¬¦  «        }n|	                     |d¬¦  «        }|	                     t          j        |¦  «        d¬¦  «        }n# t          $ r t          d	¦  «        ‚w xY w|                     ||¦  «         |                     |¦  «        }
|                     ||¦  «         |                     |¦  «        }t!          |
|d
| ¬¦  «         d S )NzoSkipping check_estimators_data_not_an_array for cross decomposition module as estimators are not deterministic.r  zData type {0} not supportedr  r   rt  FrÌ  zDpandas is not installed: not checking estimators for pandas objects.rÙ  r°  )rO   rR   r   r]   rh  r  r…  r‡  rˆ  rA  rÜ  rD  rC  rE  rÃ  rõ   rU   )rª   rÄ  r�  r‚  r  Úestimator_1Úestimator_2rÞ  ÚX_rF  rß  rR  s               rn   r  r  ­  sÎ  € àÕ"Ð"Ð"Ýð%ñ
ô 
ð 	
õ ˜Ñ'Ô'€KÝ˜Ñ'Ô'€KÝ�[Ñ!Ô!Ð!Ý�[Ñ!Ô!Ð!àÐ8Ð8Ð8ÝÐ6×=Ò=¸hÑGÔGÑHÔHÐHà�<ÒÐÝ�œ A™œÑ'Ô'ˆÝ�œ A™œÑ'Ô'ˆˆð
	ØÐÐÐå”˜A‘”ˆBØŒw˜!Š|ˆ|Ø—Y’Y˜r¨�YÑ.Ô.��à—\’\ "¨5�\Ñ1Ô1�Ø—’�bœj¨™mœm°%�Ñ8Ô8ˆBˆBøåð 	ð 	ð 	ÝØVñô ð ð	øøøð ‡O‚O�B˜ÑÔÐØ×Ò Ñ#Ô#€EØ‡O‚O�A�qÑÔÐØ×Ò Ñ"Ô"€EÝ�E˜5 t°TÐ:Ñ:Ô:Ð:Ð:Ð:s   ÃA;E ÅEc                óx   — 	 t          |¦  «         dS # t          $ r}t          d| › d|› d�¦  «        |‚d}~ww xY w)z+Checks whether the estimator can be cloned.zCloning of ú failed with error: rá  N)r   ri  r  )rª   rÄ  rn  s      rn   rA  rA  Ü  sd   € ðRÝˆnÑÔÐÐÐøÝð Rð Rð RÝÐI¨4ÐIÐIÀQÐIÐIÐIÑJÔJÐPQÐQøøøøðRøøøs   ‚ “
9�4´9c                ó–   — t          |¦  «        }	 t          |¦  «         dS # t          $ r}t          d| › d|› d�¦  «        |‚d}~ww xY w)z0Check that the estimator has a functioning repr.zRepr of r   rá  N)r   Úreprri  r  )rª   rÄ  rj   rn  s       rn   rz   rz   ä  sk   € å�nÑ%Ô%€IðOÝˆY‰ŒˆˆˆøÝð Oð Oð OÝÐF¨ÐFÐFÀ!ÐFÐFÐFÑGÔGÈQÐNøøøøðOøøøs   ‘" ¢
A¬AÁAc                óÒ  ‡‡‡‡— |j         }t          |¦  «        }t          t          ¬¦  «        5  |                     ¦   «         |u sJ ‚|j        }	 d„ Šd„ Šˆfd„t          |¦  «        j                             ¦   «         D ¦   «         Šˆfd„t          |¦  «        j                             ¦   «         D ¦   «         }n## t          t          f$ r Y d d d ¦  «         d S w xY w|                     ¦   «         Šˆˆfd„‰D ¦   «         } |di |¤Ž}|                     ¦   «         }|D �]¬}t          t          t          t          t           t#          d ¦  «        t"          h}	|	                     t&          j                             ¦   «         ¦  «         t#          |j        ¦  «        |	v pt-          |j        ¦  «        }
|
sWJ d|j        › d|j        › d	t#          |j        ¦  «        j        › d
|j        › dt3          d„ |	D ¦   «         ¦  «        › d�¦   «         ‚|j        |                     ¦   «         vr$|j        �J d|j        › d|j        › d�¦   «         ‚�Œ*||j                 }t7          |t&          j        ¦  «        rt;          ||j        ¦  «         �Œhd|j        › d�}t=          |¦  «        r||j        u s
J |¦   «         ‚�Œ—||j        k    s
J |¦   «         ‚�Œ®	 d d d ¦  «         d S # 1 swxY w Y   d S )Nrr   c                óx   — | j         dk    o/| j        | j        k    o| j        | j        k    o| j        | j        k    S ©z*Identify hyper parameters of an estimator.rŠ  ©rª   r5  ÚVAR_KEYWORDÚVAR_POSITIONALr	  r  ©rü  s    rn   Úparam_default_valuezCcheck_parameters_default_constructible.<locals>.param_default_value  sI   € ð ”F˜fÒ$ð -Øœ !¤-Ò/ð-àœ !Ô"2Ò2ð-ð œ	 Q¤WÒ,ðrp   c                óx   — | j         dk    o/| j        | j        k    o| j        | j        k    o| j        | j        k    S r%  r&  r)  s    rn   Úparam_requiredz>check_parameters_default_constructible.<locals>.param_required  sK   € ð ”F˜fÒ$ð -Øœ !¤-Ò/ð-ð œ !Ô"2Ò2ð-ð œ	 Q¤WÒ,ðrp   c                ó4   •— g | ]} ‰|¦  «        ¯|j         ‘ŒS rN  rû  )rI  rü  r,  s     €rn   r’  z:check_parameters_default_constructible.<locals>.<listcomp>  s;   ø€ ð %ð %ð %ØÀ~À~ÐVWÑGXÔGXð%Ø”ð%ð %ð %rp   c                ó*   •— g | ]} ‰|¦  «        ¯|‘ŒS rN  rN  )rI  rü  r*  s     €rn   r’  z:check_parameters_default_constructible.<locals>.<listcomp>!  s;   ø€ ð $ð $ð $ØÐBUÐBUÐVWÑBXÔBXð$Øð$ð $ð $rp   c                ó*   •— i | ]}|‰v ¯|‰|         “ŒS rN  rN  )rI  r7  Ú
old_paramsÚrequired_params_namess     €€rn   rÔ  z:check_parameters_default_constructible.<locals>.<dictcomp>-  s6   ø€ ð 
ð 
ð 
àØÐ-Ð-Ð-ð �:˜eÔ$à-Ð-Ð-rp   zParameter 'z' of estimator 'z' is of type z which is not allowed. 'z(' must be a callable or must be of type c              3  ó$   K  — | ]}|j         V — Œd S rH  rð  )rI  r@  s     rn   rK  z9check_parameters_default_constructible.<locals>.<genexpr>Q  s$   è è € Ð?Ð?¨�t”}Ð?Ð?Ð?Ð?Ð?Ð?rp   rá  zEstimator parameter 'zT' is not returned by get_params. If it is deprecated, set its default value to None.z
Parameter z> was mutated on init. All parameters must be stored unchanged.rN  )ri   r   r[   r-  r.  r‹  r   rÿ  r   rT  rh  rÅ   r  r<  rë  r  r¥  r@  Úupdater‡  Ú
sctypeDictr	  rO  rª   re   r  rÆ   rt   rÑ  rX   rB   )rª   rÄ  Ú	Estimatorrj   ÚinitÚdefault_value_paramsr  rþ  Ú
init_paramÚallowed_typesÚallowed_valueÚparam_valueÚfailure_textr0  r*  r,  r1  s                @@@@rn   r  r  í  sƒ  øøøø€ ð Ô(€IÝ�nÑ%Ô%€Iå	¥-Ð	0Ñ	0Ô	0ð tKð tKð ×#Ò#Ñ%Ô%¨Ð2Ð2Ð2Ð2ð Ô!ˆð(	ðð ð ðð ð ð"%ð %ð %ð %Ý )¨$¡¤Ô :× AÒ AÑ CÔ Cð%ñ %ô %Ð!ð$ð $ð $ð $Ý$ T™?œ?Ô5×<Ò<Ñ>Ô>ð$ñ $ô $Ð Ð øõ �:Ð&ð 	ð 	ð 	ð ðitKð tKð tKñ tKô tKð tKð tKð tKðb	øøøð ×)Ò)Ñ+Ô+ˆ
ð
ð 
ð 
ð 
ð 
à#ð
ñ 
ô 
ˆð
 �IÐ,Ð, Ð,Ð,ˆ	Ø×%Ò%Ñ'Ô'ˆà.ð 3	Kñ 3	KˆJåÝÝÝÝÝ�T‘
”
ÝðˆMð × Ò ¥¤×!5Ò!5Ñ!7Ô!7Ñ8Ô8Ð8õ �ZÔ'Ñ(Ô(¨MÐ9ð -õ ˜Ô+Ñ,Ô,ð ð !ð ð ðC˜jœoð Cð CØÔ&ðCð Cå˜
Ô*Ñ+Ô+Ô4ðCð Cð ”OðCð Cõ Ð?Ð?°Ð?Ñ?Ô?Ñ?Ô?ð	Cð Cð Cñô �=ð Œ f§k¢k¡m¤mÐ3Ð3à!Ô)Ð1Ð1ðJ¨J¬Oð Jð JØ!Ô*ðJð Jð Jñ 2Ô1Ð1ñ
 à  ¤Ô1ˆKÝ˜+¥r¤zÑ2Ô2ð KÝ" ;°
Ô0BÑCÔCÐCÑCð; ¤ð ;ð ;ð ;ð õ ! Ñ-Ô-ð Kà&¨*Ô*<Ð<Ð<Ð<¸lÑ<Ô<Ð<Ñ<à&¨*Ô*<Ò<Ð<Ð<¸lÑ<Ô<Ð<Ñ<ðg3	KðCtKð tKð tKñ tKô tKð tKð tKð tKð tKð tKð tKð tKøøøð tKð tKð tKð tKð tKð tKs7   ° KÁA*B<Â;KÂ<CÃKÃCÃG2KËK Ë#K c                ó¢  — t          | ¦  «        }|j        j        r'|dt          |                     ¦   «         ¦  «        z   z  }|j        �X|j        j        sL|j        dk    rAt          j	        ||                     ¦   «         k    ||                     ¦   «         dz   ¦  «        }|j        j
        r!|j        j        st          j        |d¦  «        S |S )Nrt  r   )rI  rt  )rN   r¸   r  rì  rk  r®   rË   r²  r‡  Úwherer¹   rÃ   rJ  )rj   r‚  rl   s      rn   r¿  r¿  k  s¿   € õ �IÑÔ€DØÔÔ%ð ð 	
ˆQ•�Q—U’U‘W”W‘”ÑÑˆàÔÐ(ØÔ$Ô0ð 	)àŒF�QŠJˆJåŒH�Q˜!Ÿ%š%™'œ'’\ 1 a§e¢e¡g¤g°¡kÑ2Ô2ˆð ÔÔ$ð &¨TÔ-=Ô-Kð &ÝŒz˜!˜WÑ%Ô%Ð%Ø€Hrp   c                óæ  — t          | ¦  «        j        j        r|d d …df         }|�|d d …df         }t          | ¦  «        j        j        r0||                     ¦   «         z
  }|�||                     ¦   «         z
  }t          | ¦  «        j        j        r«t          | ¦  «        j        j        rt          j        nt          j	        }t          j
        ||                     ¦   «         z
  ¦  «                             |¦  «        }|�<t          j
        ||                     ¦   «         z
  ¦  «                             |¦  «        }| j        j        dk    r0||                     ¦   «         z
  }|�||                     ¦   «         z
  }|}t          | ¦  «        r&t          |d¬¦  «        }|�t          ||d¬¦  «        }n3t          | ¦  «        j        j        r |||¦  «        }|� |||¦  «        }|�||fS |S )Nr   ÚSkewedChi2SamplerÚ	euclidean)r—  )rN   r“   Úone_d_arrayr  rk  Úcategoricalrž   r‡  rË  r,  r9  r§  ri   re   r™  r.   r”   )rj   r�  rY  rç  r�  ÚX_ress         rn   rä  rä  €  sì  € õ �	ÑÔÔ%Ô1ð "Øˆaˆaˆa�ˆdŒGˆØÐØ˜A˜A˜A˜q˜D”\ˆFõ �	ÑÔÔ%Ô3ð +Ø�—’‘”‰KˆØÐØ˜fŸjšj™lœlÑ*ˆFÝ�	ÑÔÔ%Ô1ð EÝ& yÑ1Ô1Ô<ÔFÐT•”
�
ÍBÌHˆÝŒH�a˜!Ÿ%š%™'œ'‘kÑ#Ô#×*Ò*¨5Ñ1Ô1ˆØÐÝ”X˜v¨¯
ª
©¬Ñ4Ñ6Ô6×=Ò=¸eÑDÔDˆFàÔÔ#Ð':Ò:Ð:à�—’‘”‰KˆØÐØ˜fŸjšj™lœlÑ*ˆFà€Eõ ˜9Ñ%Ô%ð 	'Ý" 1¨[Ð9Ñ9Ô9ˆØÐÝ'Ø˜ +ðñ ô ˆFøõ 
�)Ñ	Ô	Ô	'Ô	0ð 'Ø��q˜!‘”ˆØÐØ�V˜F AÑ&Ô&ˆFØÐØ�fˆ}ÐØ€Lrp   c                ód  — t          |¦  «        }t          |¦  «        }t          d¬¦  «        \  }}t          ||¦  «        }t	          |d¦  «         t          ||¦  «        }||                     ¦   «                              |j        ¦  «        z  }|j	        j
        rGt          t          d¬¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS 	 |                     ||¦  «         dS # t          $ r(}d| ›d|j        j        › d	�}t#          |¦  «        |‚d}~ww xY w)
zÇTest that the estimator correctly sets the tags.input_tags.positive_only

    If the tag is False, the estimator should accept negative input regardless of the
    tags.input_tags.pairwise flag.
    T)Ú
return_X_yr   zNegative values in datarP  Nrd   z raised zÊ unexpectedly. This happens when passing negative input values as X. If negative values are not supported for this estimator instance, then the tags.input_tags.positive_only tag needs to be set to True.)r   rN   r    r¿  r]   rä  rÂ  r§  r�  r“   r  r\   rh  rÃ  ri  ri   re   r  )rª   rÄ  rj   rl   r�  r‚  rn  r¸  s           rn   r†   r†   ¬  s�  € õ �nÑ%Ô%€IÝ�IÑÔ€Då Ð%Ñ%Ô%�D€A€qÝ! )¨QÑ/Ô/€AÝ�Y Ñ"Ô"Ð"Ý! )¨QÑ/Ô/€Að ˆ�Š‰Œ�Š˜œÑ	!Ô	!Ñ!€Aà„Ô$ð 1Ý•JÐ&?Ð@Ñ@Ô@ð 	 ð 	 Ø�MŠM˜!˜QÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð		1Ø�MŠM˜!˜QÑÔÐÐÐøÝð 	1ð 	1ð 	1ðW˜Tð Wð W¨Q¬[Ô-Að Wð Wð Wð õ ! Ñ)Ô)¨qÐ0øøøøð	1øøøs*   Â3CÃCÃCÃ%C= Ã=
D/Ä#D*Ä*D/c                ó~  — t          |d¦  «        sd S t          |¦  «        }t          ¦   «         }|j        |j        }}t          ||¦  «        }t          |d¦  «         t          ||¦  «        }|                     ||¦  «         t          j
        t          j        |j        ¦  «        dk    ¦  «        s
J d¦   «         ‚d S )NrJ  r   rt  zÌEstimators with a `max_iter` parameter, should expose an `n_iter_` attribute, indicating the number of iterations that were executed. The values in the `n_iter_` attribute should be greater or equal to 1.)r¡   r   r    r‰  Útargetr¿  r]   rä  rÃ  r‡  Úallrˆ  Ún_iter_)rª   rÄ  rj   Úirisr�  rÞ  s         rn   rÈ   rÈ   Ð  sÅ   € õ
 �> :Ñ.Ô.ð Øˆå�nÑ%Ô%€IÝ‰;Œ;€DØŒI�t”{€r€AÝ	" 9¨bÑ	1Ô	1€BÝ�Y Ñ"Ô"Ð"Ý! .°!Ñ4Ô4€Aà‡M‚M�!�RÑÔÐåŒ6•"”*˜YÔ.Ñ/Ô/°1Ò4Ñ5Ô5ð ð ð	?ñô Ð5ð ð rp   c                óŽ  — t          |¦  «        }t          |d¦  «        r£| t          v rg d¢g d¢g d¢g d¢g}ddgdd	gdd
gddgg}n-t          dg d¢g d¢gddd¬¦  «        \  }}t	          ||¦  «        }t          |d¦  «         |                     ||¦  «         | t          v r|j        D ]
}|dk    sJ ‚Œd S |j        dk    sJ ‚d S d S )NrJ  )rŠ  rŠ  r¶  )r¶  rŠ  rŠ  )ç       @rM  rM  )rM  ru  ç      @rÈ  gš™™™™™É¿gÍÌÌÌÌÌì?gš™™™™™ñ?g      à¿g333333Ó?rÉ  rÆ  rÇ  r   r+  rÉ  rt  )r   r¡   rO   r!   rä  r]   rÃ  rJ  )rª   rÄ  rj   r�  rÞ  Úiter_s         rn   ræ   ræ   è  s9  € õ �nÑ%Ô%€IÝˆy˜*Ñ%Ô%ð *ØÕ&Ð&Ð&à �� / / /°?°?°?ÀOÀOÀOÐTˆAØ˜�+  S˜z¨C°¨;¸¸d¸ÐDˆBˆBõ ØØ"˜˜ I I IÐ.ØØØðñ ô ‰EˆAˆrõ *¨.¸!Ñ<Ô<ˆAÝ˜ AÑ&Ô&Ð&Ø�Š�a˜ÑÔÐð Õ&Ð&Ð&Ø"Ô*ð "ð "�Ø ’z�z�z�z�zð"ð "ð Ô$¨Ò)Ð)Ð)Ð)ð/*ð *ð. *Ð)rp   c                óÜ   ‡— t          |¦  «        }|                     d¬¦  «        }|                     d¬¦  «        Št          ˆfd„|                     ¦   «         D ¦   «         ¦  «        sJ ‚d S )NF©ÚdeepTc              3  óD   •K  — | ]}|‰                      ¦   «         v V — Œd S rH  )rç  )rI  ÚitemÚdeep_paramss     €rn   rK  z.check_get_params_invariance.<locals>.<genexpr>  s4   øè è € ÐNÐN¨tˆt�{×(Ò(Ñ*Ô*Ð*ÐNÐNÐNÐNÐNÐNrp   )r   rÅ   rI  rç  )rª   rÄ  rn  Úshallow_paramsrU  s       @rn   r  r    ss   ø€ õ 	ˆnÑÔ€Aà—\’\ u�\Ñ-Ô-€NØ—,’, D�,Ñ)Ô)€KåÐNÐNÐNÐN°~×7KÒ7KÑ7MÔ7MÐNÑNÔNÑNÔNÐNÐNÐNÐNÐNrp   c           
     ó¬  — t          |¦  «        }|                     d¬¦  «        }d} |j        di |¤Ž |                     d¬¦  «        }t          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        k    s
J |¦   «         ‚|                     ¦   «         D ]\  }}||         |u s
J |¦   «         ‚Œt          j         t          j        d g}t          |¦  «        }	|                     ¦   «         D �]Î}
||
         }|D �]º}||	|
<   	  |j        di |	¤Ž |                     d¬¦  «        }t          |	                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        k    s
J |¦   «         ‚|                     ¦   «         D ]\  }}|	|         |u s
J |¦   «         ‚ŒŒ©# t          t          f$ rÿ}|j        j        }t          j        d                     ||
| ¦  «        ¦  «         d                     |¦  «        }|}|                     d¬¦  «        }	 t          |                     ¦   «         ¦  «        t          |                     ¦   «         ¦  «        k    sJ ‚|                     ¦   «         D ]\  }}||         |u sJ ‚Œn$# t           $ r t          j        |¦  «         Y nw xY wY d }~�Œ´d }~ww xY w||	|
<   �ŒÐd S )NFrQ  z>get_params result does not match what was passed to set_paramszn{0} occurred during set_params of param {1} on {2}. It is recommended to delay parameter validation until fit.z9Estimator's parameters changed after set_params raised {}rN  )r   rÅ   r.  r  rÆ   rç  r‡  r½  r   rT  rh  ri   re   ru   rv   r  r  )rª   rÄ  rj   Úorig_paramsrV  Úcurr_paramsÚkÚvÚtest_valuesÚtest_paramsr  Údefault_valuerÆ  rn  Úe_typeÚchange_warning_msgÚparams_before_exceptions                    rn   r  r    si  € õ �nÑ%Ô%€Ià×&Ò&¨EÐ&Ñ2Ô2€KØ
J€Cà€IÔÐ'Ð'˜;Ð'Ð'Ð'Ø×&Ò&¨EÐ&Ñ2Ô2€KÝˆ{×ÒÑ!Ô!Ñ"Ô"¥c¨+×*:Ò*:Ñ*<Ô*<Ñ&=Ô&=Ò=Ð=Ð=¸sÑ=Ô=Ð=Ø×!Ò!Ñ#Ô#ð (ð (‰ˆˆ1Ø˜1Œ~ Ð"Ð"Ð" CÑ"Ô"Ð"Ð"õ ”F�7�BœF DÐ)€Kå˜;Ñ'Ô'€KØ!×&Ò&Ñ(Ô(ð #0ñ #0ˆ
Ø# JÔ/ˆØ ð  	4ñ  	4ˆEØ&+ˆK˜
Ñ#ð4Ø$�	Ô$Ð3Ð3 {Ð3Ð3Ð3ð4 (×2Ò2¸Ð2Ñ>Ô>�Ý˜;×+Ò+Ñ-Ô-Ñ.Ô.µ#°k×6FÒ6FÑ6HÔ6HÑ2IÔ2IÒIÐIÐIÈ3ÑIÔIÐIØ'×-Ò-Ñ/Ô/ð 4ð 4‘D�A�qØ& qœ>¨QÐ.Ð.Ð.°Ñ.Ô.Ð.Ð.ð4øõ7 �zÐ*ð 6ð 6ð 6ØœÔ-�å”ð,ç,2ªF°6¸:ÀtÑ,LÔ,Lñô ð ð P×VÒVØñô ð #ð
 +6Ð'Ø'×2Ò2¸Ð2Ñ>Ô>�ð6ÝÐ6×;Ò;Ñ=Ô=Ñ>Ô>Å#Ø#×(Ò(Ñ*Ô*ñCô Cò ð ð ð ð !,× 1Ò 1Ñ 3Ô 3ð ?ð ?™˜˜1Ø6°qÔ9¸QÐ>Ð>Ð>Ð>Ð>ð?øå%ð 6ð 6ð 6Ý”MÐ"4Ñ5Ô5Ð5Ð5Ð5ð6øøøøøøøùøøøøð-6øøøð: #0ˆ�JÑÑðG#0ð #0s>   ÄF:Æ:K
ÇA"KÈ.A,JÊKÊJ<	Ê9KÊ;J<	Ê<KËK
c                ó&  — t          ¦   «         \  }}t          ||¦  «        }t          |¦  «        }d}d}t          |¦  «        j        sHt          t          ||¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NzîWhen a classifier is passed a continuous target, it should raise a ValueError with a message containing 'Unknown label type: ' or a message indicating that a continuous target is passed and the message should include the word 'continuous'zUnknown label type: |continuousr¶  )rƒ  rä  r   rN   r™   r\   rh  rÃ  )rª   rÄ  r�  r‚  rn  r¸  rV  s          rn   r¼   r¼   K  så   € õ Ñ Ô �D€A€qå! .°!Ñ4Ô4€AÝˆnÑÔ€Að	ð ð ,€CÝ�A‰;Œ;Ô$ð Ý•J c°7Ð;Ñ;Ô;ð 	ð 	Ø�EŠE�!�Q‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ðð s   Á BÂBÂBc           	     ó.  ‡‡— ddg}t          ddd|dd¬¦  «        \  }}t          ||d	d¬
¦  «        \  }}}}t          |¦  «        }	t          |	d¦  «        �r<t          |	d¦  «        �r-|	                     ||¦  «         |	                     |¦  «        d d …df                              d¬¦  «        }
|	                     |¦  «                             d¬¦  «        Št          |
¦  «        t          ‰¦  «        cŠ}	 t          ‰|¦  «         d S # t          $ rz t          j        ˆˆfd„t          j        ‰¦  «        D ¦   «         ¦  «        }t          j        |¦  «        }t          |t          j        t#          |¦  «        ¦  «        ¦  «         Y d S w xY wd S d S )N)r+  r+  )r$  r$  rH  r   r$  r¶  T)rx  r}  ry  rÊ  rË  r8   çš™™™™™É?rè  rÝ  rß  rt  rs  )Údecimalsc                óL   •— g | ] }‰‰|k                                   ¦   «         ‘Œ!S rN  )rÂ  )rI  ÚgroupÚbÚ
rank_probas     €€rn   r’  z4check_decision_proba_consistency.<locals>.<listcomp>†  s/   ø€ ÐRÐRÐR°5��: Ò&Ô'×,Ò,Ñ.Ô.ÐRÐRÐRrp   )r!   r2   r   r¡   rÃ  rß  r9  rÝ  r   rW   r  r‡  rB  r/  ro  rX   rL  rT  )rª   rÄ  rÊ  r�  r‚  r  rY  r–  r¤  rj   ÚaÚ
rank_scoreÚgrouped_y_scoreÚ
sorted_idxrh  ri  s                 @@rn   rÉ   rÉ   _  sÞ  øø€ ð
 �vÐ€GÝØØØØØØðñ ô �D€A€qõ (8Ø	ˆ1˜¨!ð(ñ (ô (Ñ$€GˆV�W˜fõ �nÑ%Ô%€IåˆyÐ-Ñ.Ô.ñ Gµ7¸9ÀoÑ3VÔ3Vñ GØ�Š�g˜wÑ'Ô'Ð'ð ×#Ò# FÑ+Ô+¨A¨A¨A¨q¨DÔ1×7Ò7ÀÐ7ÑDÔDˆØ×'Ò'¨Ñ/Ô/×5Ò5¸rÐ5ÑBÔBˆå!)¨!¡¤­h°q©k¬kÐˆ
�Jð	GÝ% j°*Ñ=Ô=Ð=Ð=Ð=øÝð 
	Gð 
	Gð 
	Gõ !œhØRÐRÐRÐRÐR½B¼IÀjÑ<QÔ<QÐRÑRÔRñô ˆOõ œ OÑ4Ô4ˆJÝ˜z­2¬9µS¸±_´_Ñ+EÔ+EÑFÔFÐFÐFÐFÐFð
	GøøøðGð Gð Gð Gs   Ã:D ÄB FÆFc                ó\  — d}t          |d¬¦  «        \  }}t          |d¬¦  «        }|j        \  }}t          |¦  «        }t	          |¦  «         |                     |¦  «        }|j        |fk    sJ ‚|j        j        dk    sJ ‚t          t          j
        |¦  «        t          j        ddg¦  «        ¦  «         t          |d	¦  «        r8|                     |¦  «                             |¦  «        }t          ||¦  «         t          |d
¦  «        r•d}	t          |	¦  «        |z  }
|                     |
¬¦  «         |                     |¦  «        }t          j        |dk    ¦  «        }||	k    r:t          |d¦  «        r,|                     |¦  «        }t'          ||	|¦  «         d S d S d S d S )Nrc  r   r,  rD  rO  r3  rI  rt  rõ   ró   rÉ  r�  rÝ  )r!   r8   râ  r   r]   rô   r�  r5  rX   r‡  r/  rB  r¡   rÃ  rõ   rë  r.  rm  rÝ  r~  )rª   rÄ  rx  r�  r  ry  rj   r:  Úy_pred_2rz  ró   ry  r;  s                rn   r÷   r÷   Œ  s×  € ð €IÝ 	¸Ð:Ñ:Ô:�D€A€qÝ� Ð"Ñ"Ô"€AØœGÑ€IˆzÝ�nÑ%Ô%€Iå�YÑÔÐà×"Ò" 1Ñ%Ô%€FØŒ<˜I˜<Ò'Ð'Ð'Ð'ØŒ<Ô Ò#Ð#Ð#Ð#Ý•r”y Ñ(Ô(­"¬(°B¸°7Ñ*;Ô*;Ñ<Ô<Ð<õ
 ˆy˜)Ñ$Ô$ð -Ø—=’= Ñ#Ô#×+Ò+¨AÑ.Ô.ˆÝ˜6 8Ñ,Ô,Ð,åˆy˜/Ñ*Ô*ð Pð ÐÝÐ/Ñ0Ô0°9Ñ<ˆØ×Ò¨=ÐÑ9Ô9Ð9Ø×&Ò& qÑ)Ô)ˆå”v˜f¨škÑ*Ô*ˆð
 Ð,Ò,Ð,µØÐ*ñ2
ô 2
Ð,ð !×2Ò2°1Ñ5Ô5ˆHÝ$ \Ð3DÀhÑOÔOÐOÐOÐOð#Pð Pð -Ð,Ð,Ð,rp   c                ó
  — t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          |¦  «        }t          t          ¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr÷  rt  r+  )r‡  rB  r   r\   rh  rÃ  r  s        rn   r  r  ·  sÆ   € õ 	Œ�4˜�)˜d A˜YÐ'Ñ(Ô(€AÝ
Œ�!�Q�ÑÔ€AÝ�nÑ%Ô%€IÝ	•
Ñ	Ô	ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA8Á8A<Á?A<c           
     ó2  ‡‡— g d¢}t           j                             d¦  «        }t          |¦  «        Št	          ‰¦  «         d‰                     ¦   «                              ¦   «         v r‰                     d¬¦  «         d}|                     d|df¬¦  «        }t          ‰|¦  «        }t          |¦  «        r|                     |¬	¦  «        }n|                     dd|¬
¦  «        }t          ‰|¦  «        }t          t          d|¬¦  «                             |¦  «        ¦  «        \  }}t!          ‰|||¦  «        \  }	}
t!          ‰||||¦  «        \  Š}‰                     |	|
¦  «         ˆˆfd„|D ¦   «         }t	          ‰¦  «         ‰                     |	|
¦  «         |D ]ð}t%          ‰|¦  «        rÞ t'          ‰|¦  «        ‰¦  «        }t%          |d¦  «        rFt          j        |j        t           j        ¦  «        r"dt          j        |j        ¦  «        j        z  }n&dt          j        t           j        ¦  «        j        z  }t5          ||         |t7          |d¦  «        t7          |d¦  «        d                     |¦  «        ¬¦  «         Œñd S )Nrˆ  r   Ú
warm_startF©rr  rH  r+  ©Úlocr²  r±  r„  rd  rè  c                ód   •— i | ],}t          ‰|¦  «        ¯| t          ‰|¦  «        ‰¦  «        “Œ-S rN  )r¡   rg   )rI  r  rY  rj   s     €€rn   rÔ  z(check_fit_idempotent.<locals>.<dictcomp>á  sP   ø€ ð ð ð àÝ�9˜fÑ%Ô%ðØÐ*•˜	 6Ñ*Ô*¨6Ñ2Ô2ðð ð rp   r�  r²  r¯  z&Idempotency check failed for method {})rÚ  Úrtolr¸  )r‡  r¹  rº  r   r]   rÅ   rÆ   r.  ræ  rä  r   r  r¿  Únextr1   rc  r3   rÃ  r¡   rg   ré  r�  rê  ÚfinfoÚepsrË  rV   Úmaxr  )rª   rÄ  r%  rÅ  rx  r�  r‚  ÚtrainÚtestr  r–  r¤  r  r  Ú
new_resultÚtolrY  rj   s                   @@rn   r  r  Á  s«  øø€ ð SÐRÐR€MÝ
Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐØ�y×+Ò+Ñ-Ô-×2Ò2Ñ4Ô4Ð4Ð4Ø×Ò¨ÐÑ.Ô.Ð.à€IØ�
Š
�s )¨Q ˆ
Ñ0Ô0€AÝ! )¨QÑ/Ô/€AÝ�NÑ#Ô#ð 7Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜A A¨IˆKÑ6Ô6ˆÝ! )¨QÑ/Ô/€Aå•|¨cÀÐDÑDÔD×JÒJÈ1ÑMÔMÑNÔN�K€Eˆ4Ý" 9¨a°°EÑ:Ô:Ñ€GˆWÝ  ¨A¨q°$¸Ñ>Ô>�N€FˆFð ‡M‚M�'˜7Ñ#Ô#Ð#ðð ð ð ð à#ðñ ô €Fõ �YÑÔÐØ‡M‚M�'˜7Ñ#Ô#Ð#àð ð ˆÝ�9˜fÑ%Ô%ð 	Ø3� ¨FÑ3Ô3°FÑ;Ô;ˆJÝ�z 7Ñ+Ô+ð 3µ´ØÔ ¥"¤+ñ1ô 1ð 3ð �"œ( :Ô#3Ñ4Ô4Ô8Ñ8��à�"œ(¥2¤:Ñ.Ô.Ô2Ñ2�Ý(Ø�v”ØÝ˜˜d‘^”^Ý˜˜d‘^”^Ø@×GÒGÈÑOÔOðñ ô ð øðð rp   c                óú  — t           j                             d¦  «        }t          |¦  «        }t	          |¦  «         d|                     ¦   «         v r|                     d¬¦  «         d}|                     d|df¬¦  «        }t          ||¦  «        }t          |¦  «        r|                     |¬¦  «        }n| 
                    d	d|¬
¦  «        }t          ||¦  «        }t          |¦  «        j        r<	 t          |¦  «         t          |j        j        › d�¦  «        ‚# t$          $ r Y nw xY w|                     ||¦  «         	 t          |¦  «         d S # t$          $ r}t%          d¦  «        |‚d }~ww xY w)Nrw  rr  Frs  rH  r+  rt  r±  r   r„  z) passes check_is_fitted before being fit!zFEstimator fails to pass `check_is_fitted` even though it has been fit.)r‡  r¹  rº  r   r]   rÅ   r.  ræ  rä  r   r  r¿  rN   r�   r_   r  ri   re   r'   rÃ  )rª   rÄ  rÅ  rj   rx  r�  r‚  rn  s           rn   r  r  ý  s°  € õ Œ)×
Ò
 Ñ
#Ô
#€Cå�nÑ%Ô%€IÝ�YÑÔÐØ�y×+Ò+Ñ-Ô-Ð-Ð-Ø×Ò¨ÐÑ.Ô.Ð.à€IØ�
Š
�s )¨Q ˆ
Ñ0Ô0€AÝ! )¨QÑ/Ô/€AÝ�NÑ#Ô#ð 7Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜A A¨IˆKÑ6Ô6ˆÝ! )¨QÑ/Ô/€Aå�	ÑÔÔ'ð 	ð	Ý˜IÑ&Ô&Ð&Ý ØÔ&Ô/ð ð ð ñô ð øõ ð 	ð 	ð 	ØˆDð	øøøà‡M‚M�!�QÑÔÐðÝ˜	Ñ"Ô"Ð"Ð"Ð"øÝð ð ð ÝØTñ
ô 
àð	øøøøðøøøs*   Ã8+D# Ä#
D0Ä/D0Å
E Å
E:Å%E5Å5E:c                ón  — t           j                             d¦  «        }t          |¦  «        }t	          |¦  «         d|                     ¦   «         v r|                     d¬¦  «         d}|                     d|df¬¦  «        }t          ||¦  «        }t          |¦  «        r|                     |¬¦  «        }n| 
                    dd|¬	¦  «        }t          ||¦  «        }t          |d
¦  «        rJ ‚|                     ||¦  «         t          |d
¦  «        sJ ‚|j        |j        d         k    sJ ‚d S )Nr   rr  Frs  rH  r+  rt  r±  r„  Ún_features_in_rt  )r‡  r¹  rº  r   r]   rÅ   r.  ræ  rä  r   r  r¿  r¡   rÃ  r‚  râ  )rª   rÄ  rÅ  rj   rx  r�  r‚  s          rn   r  r  $  s<  € õ Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐØ�y×+Ò+Ñ-Ô-Ð-Ð-Ø×Ò¨ÐÑ.Ô.Ð.à€IØ�
Š
�s )¨Q ˆ
Ñ0Ô0€AÝ! )¨QÑ/Ô/€AÝ�NÑ#Ô#ð 7Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜A A¨IˆKÑ6Ô6ˆÝ! )¨QÑ/Ô/€Aå�yÐ"2Ñ3Ô3Ð3Ð3Ð3Ø‡M‚M�!�QÑÔÐÝ�9Ð.Ñ/Ô/Ð/Ð/Ð/ØÔ# q¤w¨q¤zÒ1Ð1Ð1Ð1Ð1Ð1rp   c           	     ó¬  ‡— t           j                             d¦  «        }t          |¦  «        }t	          |¦  «         d}|                     d|df¬¦  «        }t          ||¦  «        }d}	 |                     |d ¦  «         d S # t          $ rDŠt          ˆfd„|D ¦   «         ¦  «        st          d|› d|d         › d	‰› �¦  «        ‚Y d Š‹d S d Š‹ww xY w)
Nr   rH  r+  rt  )z1requires y to be passed, but the target y is Nonez<Expected array-like (array or non-string sequence), got Nonezy should be a 1d arrayc              3  ó:   •K  — | ]}|t          ‰¦  «        v V — Œd S rH  r¸  )rI  rV  Úves     €rn   rK  z(check_requires_y_none.<locals>.<genexpr>T  s-   øè è € Ð?Ð? c�3�#˜b™'œ'�>Ð?Ð?Ð?Ð?Ð?Ð?rp   zÍYour estimator raised a ValueError, but with the incorrect or incomplete error message to be considered a graceful fail. The expected message in the ValueError should contain one of these literal strings:
z+. For example, you could have `ValueError('z2')`.
This is the error message in your exception:
)
r‡  r¹  rº  r   r]   ræ  rä  rÃ  rh  rS  )rª   rÄ  rÅ  rj   rx  r�  Úexpected_err_msgsr…  s          @rn   r  r  >  s?  ø€ õ Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐà€IØ�
Š
�s )¨Q ˆ
Ñ0Ô0€AÝ! )¨QÑ/Ô/€AðÐðØ�Š�a˜ÑÔÐÐÐøÝð 	ð 	ð 	ÝÐ?Ð?Ð?Ð?Ð->Ð?Ñ?Ô?Ñ?Ô?ð 	ÝðFð ,=ðFð Fð =NÈaÔ<Pð	Fð Fð
 BDðFð Fñô ð ð	ð 	ð 	ð 	ð 	ð 	øøøøð	øøøs   Á-B Â
CÂ9CÃCc           	     ó`  — t          |¦  «        }|j        j        p|j        j        }|r|j        rd S t
          j                             d¦  «        }t          |¦  «        }t          |¦  «         d| 
                    ¦   «         v r|                     d¬¦  «         d}|                     |df¬¦  «        }t          ||¦  «        }t          |¦  «        r|                     |¬¦  «        }n:|                     t          j        t          j        d¦  «        d	¦  «        ¦  «        }t%          ||¦  «        }d
                     | ¬¦  «        }	|                     ||¦  «         t+          |d¦  «        s
J |	¦   «         ‚|j        |j        d         k    s
J |	¦   «         ‚g d¢}
|d d …dgf         }d}	t1          j        |	¦  «        }	d|j        d         › d�}|
D ]‰}t+          ||¦  «        sŒt5          ||¦  «        }|dk    rt7          ||¬¦  «        }t9          t:          ||	                     | |¬¦  «        ¬¦  «        5   ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒŠt+          |d¦  «        sd S t          |¦  «        }t=          |¦  «        r+|                     ||t          j         |¦  «        ¬¦  «         n|                     ||¦  «         |j        |j        d         k    sJ ‚t9          t:          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rr  Frs  r  r$  r±  r  r°  zÐ`{name}.fit()` does not set the `n_features_in_` attribute. You might want to use `sklearn.utils.validation.validate_data` instead of `check_array` in `{name}.fit()` which takes care of setting the attribute.rû  r‚  rt  )rõ   rí   rÝ  rß  rÛ  aÿ          `{name}.{method}()` does not check for consistency between input number
        of features with {name}.fit(), via the `n_features_in_` attribute.
        You might want to use `sklearn.utils.validation.validate_data` instead
        of `check_array` in `{name}.fit()` and {name}.{method}()`. This can be done
        like the following:
        from sklearn.utils.validation import validate_data
        ...
        class MyEstimator(BaseEstimator):
            ...
            def fit(self, X, y):
                X, y = validate_data(self, X, y, ...)
                ...
                return self
            ...
            def {method}(self, X):
                X = validate_data(self, X, ..., reset=False)
                ...
            return X
    z'X has 1 features, but \w+ is expecting z features as inputrÛ  r×  )rª   r  r¶  rù  r-  rP  )!rN   r“   r
  rC  r™   r‡  r¹  rº  r   r]   rÅ   r.  ræ  rä  r   r~  r]  rL  r¿  r  rÃ  r¡   r‚  râ  ÚtextwrapÚdedentrg   r   r\   rh  r   rù  r/  )rª   rÄ  rl   Úis_supported_X_typesrÅ  rj   rx  r�  r‚  r¸  r%  ÚX_badrV  r  Úcallable_methods                  rn   r„   r„   _  sâ  € õ �NÑ#Ô#€Dàœ?Ô6ÐU¸$¼/Ô:UÐàð  4Ô#5ð Øˆå
Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐØ�y×+Ò+Ñ-Ô-Ð-Ð-Ø×Ò¨ÐÑ.Ô.Ð.à€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AÝ! )¨QÑ/Ô/€Aå�IÑÔð 8Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�OŠO�BœI¥b¤i°¡l¤l°AÑ6Ô6Ñ7Ô7ˆÝ! )¨QÑ/Ô/€Að	÷ ’V �VÑ&Ô&ð	 ð ‡M‚M�!�QÑÔÐÝ�9Ð.Ñ/Ô/Ð8Ð8°Ñ8Ô8Ð/ØÔ# q¤w¨q¤zÒ1Ð1Ð1°7Ñ1Ô1Ð1ðð ð €Mð ˆaˆaˆa�!�ˆfŒI€Eð€Gõ( Œo˜gÑ&Ô&€Gà
S°Q´W¸Q´ZÐ
SÐ
SÐ
S€CØð #ð #ˆÝ�y &Ñ)Ô)ð 	Øå! )¨VÑ4Ô4ˆØ�WÒÐÝ% o¸Ð;Ñ;Ô;ˆOåÝ˜c¨7¯>ª>¸tÈF¨>Ñ+SÔ+Sð
ñ 
ô 
ð 	#ð 	#ð ˆO˜EÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#øõ �9˜mÑ,Ô,ð Øˆå�nÑ%Ô%€IÝ�YÑÔð $Ø×Ò˜a ­B¬I°a©L¬LÐÑ9Ô9Ð9Ð9à×Ò˜a Ñ#Ô#Ð#ØÔ# q¤w¨q¤zÒ1Ð1Ð1Ð1å	•
 #Ð	&Ñ	&Ô	&ð (ð (Ø×Ò˜e QÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s$   È<IÉI	ÉI	Ë?L#Ì#L'Ì*L'c                óÜ
  — t          |d¦  «        sJ d| › d�¦   «         ‚d}t          |¦  «        }t          |j        t          t          d¦  «        f¦  «        s
J |¦   «         ‚t          |j        t          ¦  «        s
J |¦   «         ‚t          |j        t          t          d¦  «        f¦  «        s
J |¦   «         ‚t          |j
        t          t          d¦  «        f¦  «        s
J |¦   «         ‚t          |j        t          t          d¦  «        f¦  «        s
J |¦   «         ‚t          |j        t          ¦  «        s
J |¦   «         ‚t          |j        t"          ¦  «        s
J |¦   «         ‚t          |j        t"          ¦  «        s
J |¦   «         ‚t          |j        t"          ¦  «        s
J |¦   «         ‚t          |j        t"          ¦  «        s
J |¦   «         ‚t          |j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚t          |j        j         t"          ¦  «        s
J |¦   «         ‚t          |j        j!        t"          ¦  «        s
J |¦   «         ‚t          |j        j"        t"          ¦  «        s
J |¦   «         ‚t          |j        j#        t"          ¦  «        s
J |¦   «         ‚t          |j        j$        t"          ¦  «        s
J |¦   «         ‚t          |j        j        t"          ¦  «        s
J |¦   «         ‚|j        �{t          |j        j%        t"          ¦  «        s
J |¦   «         ‚t          |j        j&        t"          ¦  «        s
J |¦   «         ‚t          |j        j'        t"          ¦  «        s
J |¦   «         ‚|j
        �)t          |j
        j%        t"          ¦  «        s
J |¦   «         ‚|j        �)t          |j        j(        tR          ¦  «        sJ |¦   «         ‚dS dS )z$Check that estimator tags are valid.Ú__sklearn_tags__rd   z€ does not have `__sklearn_tags__` method. This method is implemented in BaseEstimator and returns a sklearn.utils.Tags instance.ztTag values need to be of a certain type. Please refer to the documentation of `sklearn.utils.Tags` for more details.N)*r¡   rN   rt   rm   r  r@  r¸   rL   r®   rI   rÐ   rK   rÚ   rM   r“   rJ   r¨   r  r™   r  r�   r  r  Úone_d_labelsÚtwo_d_labelsr  r¹   rÃ   r”   rž   r   rC  r  r$  rB  r
  Úthree_d_arrayr6  rË   r½   râ   rb  )rª   rj   r¸  rl   s       rn   ry   ry   Â  s  € å�9Ð0Ñ1Ô1ð ð ð	S�Tð 	Sð 	Sð 	Sñô Ð1ð
	Vð õ �IÑÔ€DÝ�dÔ)­Cµ°d±´Ð+<Ñ=Ô=ÐFÐF¸wÑFÔFÐ=Ý�dÔ&­
Ñ3Ô3Ð<Ð<°WÑ<Ô<Ð3Ý�dÔ*­^½TÀ$¹Z¼ZÐ,HÑIÔIÐRÐRÈ7ÑRÔRÐIÝ�dÔ)­M½4À¹:¼:Ð+FÑGÔGÐPÐPÈÑPÔPÐGÝ�dÔ+­o½tÀD¹z¼zÐ-JÑKÔKÐTÐTÈWÑTÔTÐKÝ�d”o¥yÑ1Ô1Ð:Ð:°7Ñ:Ô:Ð1Ý�dÔ,­dÑ3Ô3Ð<Ð<°WÑ<Ô<Ð3Ý�dÔ(­$Ñ/Ô/Ð8Ð8°Ñ8Ô8Ð/Ý�dÔ,­dÑ3Ô3Ð<Ð<°WÑ<Ô<Ð3Ý�dÔ'­Ñ.Ô.Ð7Ð7°Ñ7Ô7Ð.Ý�d”o¥tÑ,Ô,Ð5Ð5¨gÑ5Ô5Ð,å�dÔ&Ô/µÑ6Ô6Ð?Ð?¸Ñ?Ô?Ð6Ý�dÔ&Ô3µTÑ:Ô:ÐCÐC¸GÑCÔCÐ:Ý�dÔ&Ô3µTÑ:Ô:ÐCÐC¸GÑCÔCÐ:Ý�dÔ&Ô4µdÑ;Ô;ÐDÐD¸WÑDÔDÐ;Ý�dÔ&Ô3µTÑ:Ô:ÐCÐC¸GÑCÔCÐ:Ý�dÔ&Ô4µdÑ;Ô;ÐDÐD¸WÑDÔDÐ;å�d”oÔ.µÑ5Ô5Ð>Ð>°wÑ>Ô>Ð5Ý�d”oÔ/µÑ6Ô6Ð?Ð?¸Ñ?Ô?Ð6Ý�d”oÔ,­dÑ3Ô3Ð<Ð<°WÑ<Ô<Ð3Ý�d”oÔ1µ4Ñ8Ô8ÐAÐA¸'ÑAÔAÐ8Ý�d”oÔ,­dÑ3Ô3Ð<Ð<°WÑ<Ô<Ð3Ý�d”oÔ*­DÑ1Ô1Ð:Ð:°7Ñ:Ô:Ð1Ý�d”oÔ1µ4Ñ8Ô8ÐAÐA¸'ÑAÔAÐ8Ý�d”oÔ1µ4Ñ8Ô8ÐAÐA¸'ÑAÔAÐ8Ý�d”oÔ3µTÑ:Ô:ÐCÐC¸GÑCÔCÐ:Ý�d”oÔ3µTÑ:Ô:ÐCÐC¸GÑCÔCÐ:àÔÐ'Ý˜$Ô.Ô9½4Ñ@Ô@ÐIÐIÀ'ÑIÔIÐ@Ý˜$Ô.Ô:½DÑAÔAÐJÐJÀ7ÑJÔJÐAÝ˜$Ô.Ô:½DÑAÔAÐJÐJÀ7ÑJÔJÐAàÔÐ&Ý˜$Ô-Ô8½$Ñ?Ô?ÐHÐHÀÑHÔHÐ?àÔÐ(Ý˜$Ô/Ô?ÅÑFÔFÐOÐOÈÑOÔOÐFð )Ð(ØOÐOrp   c                óÞ   — d}t          |¦  «                             ¦   «         D ]H}dt          |¦  «        v sdt          |¦  «        v r$dt          |¦  «        vrt          d| › d�¦  «        ‚ŒId S )Nz®{tags_func}() was removed in 1.6. Please use __sklearn_tags__ instead.
You can implement both __sklearn_tags__() and {tags_func}() to support multiple
scikit-learn versions.
Ú
_more_tagsÚ	_get_tagsrŽ  rd   a   has defined either `_more_tags` or `_get_tags`, but not `__sklearn_tags__`. If you're customizing tags, and need to support multiple scikit-learn versions, you can implement both `__sklearn_tags__` and `_more_tags` or `_get_tags`. This change was introduced in scikit-learn=1.6)r@  ró  ræ  rT  )rª   rÄ  ÚhelpÚklasss       rn   rx   rx   ÷  s•   € ð€Dõ
 �nÑ%Ô%×)Ò)Ñ+Ô+ð ð ˆð �T %™[œ[Ð(Ð(¨K½4À¹;¼;Ð,FÐ,FØ"­$¨u©+¬+Ð5Ð5åð2˜Tð 2ð 2ð 2ñô ð øðð rp   c           	     óþ	  — 	 dd l }n# t          $ r t          d¦  «        ‚w xY wt          |¦  «        }|j        j        p|j        j        }|r|j        rd S t          j	         
                    d¦  «        }t          |¦  «        }t          |¦  «         |                     d¬¦  «        }t          ||¦  «        }|j        \  }}	t          j        d„ t#          |	¦  «        D ¦   «         ¦  «        }
|                     ||
d¬¦  «        }t'          |¦  «        r|                     |¬¦  «        }n|                     dd|¬	¦  «        }t+          ||¦  «        }t-          j        ¦   «         5  t-          j        d
dt2          d¬¦  «         |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t7          |d¦  «        st9          d¦  «        ‚t;          |j        t          j        ¦  «        sJ ‚|j        j         tB          k    sJ ‚tE          |j        |
¦  «         |j#        }| $                    d¦  «        r5d|v s1| %                    d¦  «        sd|j&        vrt9          d| › d�¦  «        ‚g }dD ]Q}t7          ||¦  «        sŒtO          ||¦  «        }|dk    rtQ          ||¬¦  «        }| )                    ||f¦  «         ŒR|D ]X\  }}t-          j        ¦   «         5  t-          j        d
dt2          d¬¦  «          ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒY|
d d d…         dfd„ t#          |	¦  «        D ¦   «         df|
d d…         dtU          |
dd …         ¦  «        › d�fg}d„ | +                    ¦   «          ,                    ¦   «         D ¦   «         }t[          d „ | .                    ¦   «         D ¦   «         ¦  «        }|D �]2\  }}|                     ||d¬¦  «        }t_          j0        d!|› �¦  «        }|D ]B\  } }tc          t8          || › d"�¬#¦  «        5   ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒCt7          |d$¦  «        r|rŒ�t          |¦  «        }te          |¦  «        r-t          j3        |¦  «        }| 4                    |||¬%¦  «         n| 4                    ||¦  «         tc          t8          |¬&¦  «        5  | 4                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ4d S )'Nr   úHpandas is not installed: not checking column name consistency for pandas)é–   rj  r±  c                ó   — g | ]}d |› �‘ŒS )Úcol_rN  ©rI  r3  s     rn   r’  z<check_dataframe_column_names_consistency.<locals>.<listcomp>%  s   € Ð<Ð<Ð< Q�j˜Q�j�jÐ<Ð<Ð<rp   F©Úcolumnsr€  r+  r„  Úerrorz#X does not have valid feature namesÚsklearn)Úmessagers   ÚmoduleÚfeature_names_in_zTEstimator does not have a feature_names_in_ attribute after fitting with a dataframer³  r´  rµ  rd   z2 does not document its feature_names_in_ attribute)rõ   rí   rÝ  rß  rÛ  rÜ  rÞ  rÛ  r×  rI  z<Feature names must be in the same order as they were in fit.c                ó   — g | ]}d |› �‘ŒS )Úanother_prefix_rN  rœ  s     rn   r’  z<check_dataframe_column_names_consistency.<locals>.<listcomp>k  s!   € Ð>Ð>Ð> qÐ"˜qÐ"Ð"Ð>Ð>Ð>rp   zHFeature names unseen at fit time:
- another_prefix_0
- another_prefix_1
r  z3Feature names seen at fit time, yet now missing:
- rî  c                ó"   — i | ]\  }}d |v ¯	||“ŒS )Úearly_stoppingrN  rÒ  s      rn   rÔ  z<check_dataframe_column_names_consistency.<locals>.<dictcomp>v  s3   € ð ð ð áˆC�Ø˜sÐ"Ð"ð 	ˆUà"Ð"Ð"rp   c              3  ó   K  — | ]}|d u V — Œ	dS )TNrN  )rI  rÆ  s     rn   rK  z;check_dataframe_column_names_consistency.<locals>.<genexpr>{  s&   è è € Ð LÐ L°5 ¨$ Ð LÐ LÐ LÐ LÐ LÐ Lrp   zBThe feature names should match those that were passed during fit.
z did not raiser¶  rù  r-  rP  )5rA  rE  rR   rN   r“   r
  rC  r™   r‡  r¹  rº  r   r]   ræ  rä  râ  rB  r7  rC  r   r  r¿  ru   rO  Úfilterwarningsrw   rÃ  r¡   rh  rt   r£  rÑ  r�  r}  rX   r“  rÀ  rÁ  r•  rg   r   rj  rk  rÅ   rç  rS  r   r!  Úescaper\   r   r/  rù  )rª   rÄ  rF  rl   rŠ  rÅ  rj   ÚX_origrx  ry  Únamesr�  r‚  rÇ  r%  r  rŒ  r  Úinvalid_namesrþ  Úearly_stopping_enabledÚinvalid_nameÚadditional_messager‹  Úexpected_msgr.  s                             rn   Ú(check_dataframe_column_names_consistencyr²    sÊ  € ð
ØÐÐÐÐøÝð 
ð 
ð 
ÝØVñ
ô 
ð 	
ð
øøøõ
 �NÑ#Ô#€DØœ?Ô6ÐU¸$¼/Ô:UÐàð  4Ô#5ð Øˆå
Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐà�ZŠZ˜XˆZÑ&Ô&€Få& y°&Ñ9Ô9€FØ"œLÑ€IˆzåŒHÐ<Ð<­%°
Ñ*;Ô*;Ð<Ñ<Ô<Ñ=Ô=€EØ
�Š�V U°ˆÑ7Ô7€Aå�IÑÔð 7Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜A A¨IˆKÑ6Ô6ˆÝ! )¨QÑ/Ô/€Aõ 
Ô	 Ñ	"Ô	"ð ð ÝÔØØ9Ý Øð		
ñ 	
ô 	
ð 	
ð 	�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �9Ð1Ñ2Ô2ð 
Ýð7ñ
ô 
ð 	
õ �iÔ1µ2´:Ñ>Ô>Ð>Ð>Ð>ØÔ&Ô,µÒ6Ð6Ð6Ð6Ý�yÔ2°EÑ:Ô:Ð:ð !Ô+€Kà×Ò˜zÑ*Ô*ð
à˜KÐ'Ð'¨;×+?Ò+?À
Ñ+KÔ+KÐ'Ø ¨Ô)?Ð@Ð@åØQ˜ÐQÐQÐQñ
ô 
ð 	
ð €Mðð 8ð 8ˆõ �y &Ñ)Ô)ð 	Øå! )¨VÑ4Ô4ˆØ�WÒÐÝ% o¸Ð;Ñ;Ô;ˆOØ×Ò˜f oÐ6Ñ7Ô7Ð7Ð7à"ð ð ‰	ˆˆ6ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ#ØØ=Ý$Ø ð	ñ ô ð ð ˆF�1‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð 
ˆtˆt�ˆtŒÐTÐUà>Ð>­E°*Ñ,=Ô,=Ð>Ñ>Ô>ð&ð	
ð �"�1�"ŒIØUÅ3ÀuÈQÈRÈRÄyÁ>Ä>ÐUÐUÐUð	
ð€Mðð à#×.Ò.Ñ0Ô0×6Ò6Ñ8Ô8ðñ ô €Fõ
 !Ð LÐ L¸F¿MºM¹O¼OÐ LÑ LÔ LÑLÔLÐà,9ð ,ñ ,Ñ(ˆÐ(Ø—’˜Q¨¸5�ÑAÔAˆå”yð$Ø!ð$ð $ñ
ô 
ˆð *ð 	ð 	‰LˆD�&ÝÝ ,¸4Ð8OÐ8OÐ8Oðñ ô ð ð ð ��u‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øõ �y -Ñ0Ô0ð 	Ð4Jð 	Øå˜.Ñ)Ô)ˆ	Ý˜Ñ#Ô#ð 	(Ý”i ‘l”lˆGØ×!Ò! ! Q°Ð!Ñ8Ô8Ð8Ð8à×!Ò! ! QÑ'Ô'Ð'å•J lÐ3Ñ3Ô3ð 	,ð 	,Ø×!Ò! %¨Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ùð3,ð ,sP   ‚ ‡!Å'4F'Æ'F+Æ.F+Ë)LÌL	ÌL	ÐP7Ð7P;Ð>P;ÓS0Ó0S4	Ó7S4	c                óx  — t          |¦  «        }|j        j        r|j        rd S t	          dg d¢g d¢gddd¬¦  «        \  }}t          ¦   «                              |¦  «        }t          |¦  «        }t          ||¦  «        }|j	        d         }t          |¦  «         |}| t          v rMt          j        t          j        |¦  «        t          j        |¦  «        f         }|d d d…dfxx         dz  cc<   |                     ||¬	¦  «        }d
„ t          |¦  «        D ¦   «         }	t!          t"          d¬¦  «        5  |                     |	d d d…         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |	¦  «        }
|
€J ‚t'          |
t          j        ¦  «        sJ ‚|
j        t,          k    sJ ‚t/          d„ |
D ¦   «         ¦  «        sJ ‚t'          |t0          ¦  «        r|d         j	        d         }n|j	        d         }t3          |
¦  «        |k    sJ d|› dt3          |
¦  «        › �¦   «         ‚d S )NrÉ  rÆ  rÇ  r   r+  rÈ  rÉ  rt  r×  c                ó   — g | ]}d |› �‘ŒS )ÚfeaturerN  rœ  s     rn   r’  z;check_transformer_get_feature_names_out.<locals>.<listcomp>´  s   € Ð?Ð?Ð?¨�m �m�mÐ?Ð?Ð?rp   z'input_features should have length equalrP  c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rH  )rt   r  )rI  rª   s     rn   rK  z:check_transformer_get_feature_names_out.<locals>.<genexpr>¾  s,   è è € ÐCÐC¨�z˜$¥Ñ$Ô$ÐCÐCÐCÐCÐCÐCrp   ú	Expected ú feature names, got )rN   r“   r
  r™   r!   r5   r  r   rä  râ  r]   rO   r‡  rÚ  rˆ  r7  r\   rh  r­  rt   rÑ  r�  r}  rI  r¥  rT  )rª   rÝ  rl   r�  r‚  rç   ry  rÞ  ÚX_transformÚinput_featuresÚfeature_names_outÚn_features_outs               rn   Ú'check_transformer_get_feature_names_outr½  š  s¨  € ÝÐ$Ñ%Ô%€DØŒ?Ô&ð ¨$Ô*<ð ØˆåØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	ÑÔ×&Ò& qÑ)Ô)€AåÐ(Ñ)Ô)€KÝ! +¨qÑ1Ô1€Aà”˜”€JÝ�[Ñ!Ô!Ð!à	
€BØÕ"Ð"Ð"ÝŒU•2”:˜a‘=”=¥"¤*¨Q¡-¤-Ð/Ô0ˆØ
ˆ3ˆ3ˆQˆ3�ˆ6ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
à×+Ò+¨A°Ð+Ñ4Ô4€KØ?Ð?­U°:Ñ->Ô->Ð?Ñ?Ô?€Nõ 
•
Ð"KÐ	LÑ	LÔ	Lð ?ð ?Ø×)Ò)¨.¸¸¸1¸Ô*=Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð $×9Ò9¸.ÑIÔIÐØÐ(Ð(Ð(ÝÐ'­¬Ñ4Ô4Ð4Ð4Ð4ØÔ"¥fÒ,Ð,Ð,Ð,ÝÐCÐCÐ1BÐCÑCÔCÑCÔCÐCÐCÐCå�+�uÑ%Ô%ð .Ø$ QœÔ-¨aÔ0ˆˆà$Ô*¨1Ô-ˆåÐ Ñ!Ô! ^Ò3Ð3Ð3ØP�NÐPÐP½Ð<MÑ8NÔ8NÐPÐPñ 4Ô3Ð3Ð3Ð3s   Ä<E'Å'E+Å.E+c                ó¼  — 	 dd l }n# t          $ r t          d¦  «        ‚w xY wt          |¦  «        }|j        j        r|j        rd S t          dg d¢g d¢gddd¬¦  «        \  }}t          ¦   «          	                    |¦  «        }t          |¦  «        }t          ||¦  «        }|j        d	         }t          |¦  «         |}| t          v rMt          j        t          j        |¦  «        t          j        |¦  «        f         }|d d d…d	fxx         dz  cc<   d
„ t%          |¦  «        D ¦   «         }	|                     ||	d¬¦  «        }
| 	                    |
|¬¦  «        }d„ t%          |¦  «        D ¦   «         }t)          t*          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         }|                     |	¦  «        }t/          ||¦  «         t1          |t2          ¦  «        r|d         j        d	         }n|j        d	         }t5          |¦  «        |k    sJ d|› dt5          |¦  «        › �¦   «         ‚d S )Nr   r˜  rÉ  rÆ  rÇ  r+  rÈ  rÉ  rt  c                ó   — g | ]}d |› �‘ŒS ©r¨  rN  rœ  s     rn   r’  zBcheck_transformer_get_feature_names_out_pandas.<locals>.<listcomp>ê  ó   € Ð=Ð=Ð= a˜	˜a˜	˜	Ð=Ð=Ð=rp   Fr�  r×  c                ó   — g | ]}d |› �‘ŒS )ÚbadrN  rœ  s     rn   r’  zBcheck_transformer_get_feature_names_out_pandas.<locals>.<listcomp>ï  s   € ÐBÐBÐB¨1˜Y 1˜Y˜YÐBÐBÐBrp   z0input_features is not equal to feature_names_in_rP  r·  r¸  )rA  rE  rR   rN   r“   r
  r™   r!   r5   r  r   rä  râ  r]   rO   r‡  rÚ  rˆ  r7  rC  r\   rh  r­  rX   rt   r¥  rT  )rª   rÝ  rF  rl   r�  r‚  rç   ry  rÞ  Úfeature_names_inÚdfr¹  Úinvalid_feature_namesÚfeature_names_out_defaultÚfeature_names_in_explicit_namesr¼  s                   rn   Ú.check_transformer_get_feature_names_out_pandasrÉ  Ê  sù  € ð
ØÐÐÐÐøÝð 
ð 
ð 
ÝØVñ
ô 
ð 	
ð
øøøõ
 Ð$Ñ%Ô%€DØŒ?Ô&ð ¨$Ô*<ð ØˆåØØ��˜I˜I˜IÐ&ØØØðñ ô �D€A€qõ 	ÑÔ×&Ò& qÑ)Ô)€AåÐ(Ñ)Ô)€KÝ! +¨qÑ1Ô1€Aà”˜”€JÝ�[Ñ!Ô!Ð!à	
€BØÕ"Ð"Ð"ÝŒU•2”:˜a‘=”=¥"¤*¨Q¡-¤-Ð/Ô0ˆØ
ˆ3ˆ3ˆQˆ3�ˆ6ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
à=Ð=­5°Ñ+<Ô+<Ð=Ñ=Ô=ÐØ	�Š�aÐ!1¸ˆÑ	>Ô	>€BØ×+Ò+¨B°"Ð+Ñ5Ô5€Kð CÐBµ°jÑ0AÔ0AÐBÑBÔBÐÝ	•
Ð"TÐ	UÑ	UÔ	Uð Að AØ×)Ò)Ð*?Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Að !,× AÒ AÑ CÔ CÐØ&1×&GÒ&GØñ'ô 'Ð#õ Ð0Ð2QÑRÔRÐRå�+�uÑ%Ô%ð .Ø$ QœÔ-¨aÔ0ˆˆà$Ô*¨1Ô-ˆåÐ(Ñ)Ô)¨^Ò;Ð;Ð;ØX�NÐXÐX½Ð<UÑ8VÔ8VÐXÐXñ <Ô;Ð;Ð;Ð;s   ‚ ‡!ÆF2Æ2F6Æ9F6c           	     óZ  — t           j                             d¦  «        }|                     d¬¦  «        }|                     ddd¬¦  «        }t          ||¦  «        }t          |¦  «        }|                     d¬¦  «                             ¦   «         }|rr|j	                             ¦   «         }t          |¦  «        t          |¦  «        z
  }t          |¦  «        t          |¦  «        z
  }	d| › d	|› d
|	› �}
||k    s
J |
¦   «         ‚ t          ddi ¦  «        ¦   «         }g d¢}|D �]}|j	        |         }|dk    rŒt          d„ |D ¦   «         ¦  «        r/t          d„ |D ¦   «         ¦  «        rt          d|› d| › d�¦  «        ‚d|› d| › d�}| › d|› d�}
t          |¦  «        } |j        di ||i¤Ž |D ]–}t!          ||¦  «        sŒ| › d|› d�}
t#          t$          ||
¬¦  «        5  |j        j        s|j        j        r t-          ||¦  «        |¦  «         n t-          ||¦  «        ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ—d„ |D ¦   «         }|D ]Ë}	 t/          |¦  «        }n# t0          $ r Y Œw xY w |j        di ||i¤Ž |D ]–}t!          ||¦  «        sŒ| › d|› d�}
t#          t$          ||
¬¦  «        5  |j        j        s|j        j        r t-          ||¦  «        |¦  «         n t-          ||¦  «        ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ—ŒÌ�Œd S )Nr   rÔ  r±  r+  rv  FrQ  z>Mismatch between _parameter_constraints and the parameters of z%.
Consider the unexpected parameters z% and expected but missing parameters ÚBadTyperN  )rÃ  rù  r  rô   r™   c              3  ó`   K  — | ])}t          |t          ¦  «        o|j        t          k    V — Œ*d S rH  )rt   rC   r@  r	   ©rI  r�  s     rn   rK  z)check_param_validation.<locals>.<genexpr>'  sL   è è € ð 
ð 
àõ �z¥8Ñ,Ô,ÐL°´ÅHÒ1Lð
ð 
ð 
ð 
ð 
ð 
rp   c              3  ó`   K  — | ])}t          |t          ¦  «        o|j        t          k    V — Œ*d S rH  )rt   rC   r@  r
   rÍ  s     rn   rK  z)check_param_validation.<locals>.<genexpr>*  sL   è è € ð 
ð 
àõ �z¥8Ñ,Ô,ÐH°´ÅDÒ1Hð
ð 
ð 
ð 
ð 
ð 
rp   zThe constraint for parameter rþ  zc can't have a mix of intervals of Integral and Real types. Use the type RealNotInt instead of Real.zThe 'z' parameter of z must be .* Got .* instead.z@ does not raise an informative error message when the parameter z% does not have a valid type or value.zc does not have a valid type. If any Python type is valid, the constraint should be 'no_validation'.r¶  c                ó,   — g | ]}t          |¦  «        ‘ŒS rN  )rG   rÍ  s     rn   r’  z*check_param_validation.<locals>.<listcomp>T  s    € ÐQÐQÐQ°z• zÑ2Ô2ÐQÐQÐQrp   a   does not have a valid value.
Constraints should be disjoint. For instance [StrOptions({'a_string'}), str] is not an acceptable set of constraint because generating an invalid string for the first constraint will always produce a valid string for the second constraint.)r‡  r¹  rº  r  r  r¿  rN   rÅ   rÆ   r‡  r  r@  rS  rh  r   r.  r¡   r\   rD   r¸   r�  r�  rg   rF   r0  )rª   rÄ  rÅ  r�  r‚  rl   Úestimator_paramsÚvalidation_paramsÚunexpected_paramsÚmissing_paramsr¸  Úparam_with_bad_typeÚfit_methodsr  Úconstraintsr·  rj   r  r�  Ú	bad_values                       rn   Úcheck_param_validationrØ    s0  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�Š˜ˆÑ!Ô!€AØ�Š�A�q˜rˆÑ"Ô"€AÝ! .°!Ñ4Ô4€AÝ�NÑ#Ô#€Dà%×0Ò0°eÐ0Ñ<Ô<×AÒAÑCÔCÐð ð 	>Ø*ÔA×FÒFÑHÔHÐÝÐ 1Ñ2Ô2µSÐ9IÑ5JÔ5JÑJÐÝÐ-Ñ.Ô.µÐ5FÑ1GÔ1GÑGˆð4ÈTð 4ð 4Ø4Eð4ð 4à#1ð4ð 4ð 	ð
 !Ð$4Ò4Ð4Ð4°gÑ4Ô4Ð4ð 2�$˜y¨"¨bÑ1Ô1Ñ3Ô3ÐàHÐHÐH€Kà&ð S9ñ S9ˆ
Ø$Ô;¸JÔGˆà˜/Ò)Ð)àõ ð 
ð 
à)ð
ñ 
ô 
ñ 
ô 
ð 	õ ð 
ð 
à)ð
ñ 
ô 
ñ 
ô 
ð	õ ð$°
ð $ð $Àð $ð $ð $ñô ð ð V˜ÐUÐU°DÐUÐUÐUˆàð Kð KØ#ðKð Kð Kð 	õ
 ˜.Ñ)Ô)ˆ	ð 	ˆ	ÔÐAÐA 
Ð,?Ð@ÐAÐAÐAà!ð 	5ð 	5ˆFÝ˜9 fÑ-Ô-ð àð ð Dð DØðDð Dð Dð õ Õ-°UÀGÐLÑLÔLð 5ð 5ØÔ#Ô0ð 5°DÔ4DÔ4Qð 5à.•G˜I vÑ.Ô.¨qÑ1Ô1Ð1Ð1à.•G˜I vÑ.Ô.¨q°!Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5øð RÐQÀ[ÐQÑQÔQˆà%ð 	9ð 	9ˆJðÝ6°zÑBÔB�	�	øÝ&ð ð ð Ø�ðøøøð !ˆIÔ Ð;Ð; J°	Ð#:Ð;Ð;Ð;à%ð 9ð 9�Ý˜y¨&Ñ1Ô1ð àð ð "ð "Ø!+ð"ð "ð "ð õ Õ1¸ÈÐPÑPÔPð 9ð 9ØÔ'Ô4ð 9¸Ô8HÔ8Uð 9à2� 	¨6Ñ2Ô2°1Ñ5Ô5Ð5Ð5à2� 	¨6Ñ2Ô2°1°aÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9øð9ñ	9ðoS9ð S9s8   Ç*AIÉIÉ
IÉ I0É0
I=É<I=ËAL	ÌL Ì#L c                ó¾  ‡ ‡‡— t          |¦  «        }|j        j        r|j        rd S t          j                             d¦  «        }t          |¦  «        }|                     d¬¦  «        Št          |‰¦  «        Š| 
                    ddd¬¦  «        Št          |‰¦  «        Št          |¦  «         ˆˆ ˆfd„}ˆˆfd„}||dœ}|                     ¦   «         D ]ƒ\  Š }t          |¦  «        }t          |‰ ¦  «        sŒ% ||¦  «        }	‰ t          v r|	d         }	|                     d	¬
¦  «          ||¦  «        }
‰ t          v r|
d         }
t#          |	|
¦  «         Œ„d S )Nr   rÔ  r±  r+  rv  c                ó¼   •— ‰t           v r*|                      ‰‰¦  «                             ‰‰¦  «        S |                      ‰‰¦  «                             ‰¦  «        S rH  )rO   rÃ  rí   )rJ  r�  rª   r‚  s    €€€rn   Úfit_then_transformz6check_set_output_transform.<locals>.fit_then_transform…  sQ   ø€ ØÕ&Ð&Ð&Ø—7’7˜1˜a‘=”=×*Ò*¨1¨aÑ0Ô0Ð0Ø�wŠw�q˜!‰}Œ}×&Ò& qÑ)Ô)Ð)rp   c                ó0   •— |                       ‰‰¦  «        S rH  )r  )rJ  r�  r‚  s    €€rn   r  z1check_set_output_transform.<locals>.fit_transformŠ  s   ø€ Ø× Ò   AÑ&Ô&Ð&rp   )rí   r  r	  r
  )rN   r“   r
  r™   r‡  r¹  rº  r   r  rä  r  r¿  r]   rç  r¡   rO   r  rV   )rª   rÝ  rl   rÅ  rç   rÛ  r  Útransform_methodsÚtransform_methodÚX_trans_no_settingÚX_trans_defaultr�  r‚  s   `          @@rn   Úcheck_set_output_transformrá  u  sÒ  øøø€ õ Ð$Ñ%Ô%€DØŒ?Ô&ð ¨$Ô*<ð Øˆå
Œ)×
Ò
 Ñ
"Ô
"€CÝÐ(Ñ)Ô)€Kà�Š˜ˆÑ!Ô!€AÝ!Ð"2°AÑ6Ô6€AØ�Š�A�q˜rˆÑ"Ô"€AÝ!Ð"2°AÑ6Ô6€AÝ�[Ñ!Ô!Ð!ð*ð *ð *ð *ð *ð *ð *ð
'ð 'ð 'ð 'ð 'ð 'ð (Ø&ðð Ðð #4×"9Ò"9Ñ";Ô";ð Jð JÑˆÐÝ˜KÑ(Ô(ˆÝ�{ DÑ)Ô)ð 	ØØ-Ð-¨kÑ:Ô:Ðð Õ&Ð&Ð&Ø!3°AÔ!6Ðà×Ò¨ÐÑ3Ô3Ð3Ø*Ð*¨;Ñ7Ô7ˆàÕ&Ð&Ð&Ø-¨aÔ0ˆOõ 	%Ð%7¸ÑIÔIÐIÐIð#Jð Jrp   c                ó*  ‡ — i }d||fd||fd||fd||fg}t          ˆ fd„dD ¦   «         ¦  «        rp|D ]m\  }}}	‰                      ||¦  «         |t          v r‰                      |	|¦  «        \  }
}n‰                      |	¦  «        }
|
‰                      ¦   «         f||<   Œnd|fd|fg}t          ‰ d	¦  «        rZ|D ]W\  }}|t          v r‰                      ||¦  «        \  }
}n‰                      ||¦  «        }
|
‰                      ¦   «         f||<   ŒX|S )
zúGenerate output to test `set_output` for different configuration:

    - calling either `fit.transform` or `fit_transform`;
    - passing either a dataframe or a numpy array to fit;
    - passing either a dataframe or a numpy array to transform.
    zfit.transform/df/dfzfit.transform/df/arrayzfit.transform/array/dfzfit.transform/array/arrayc              3  ó8   •K  — | ]}t          ‰|¦  «        V — Œd S rH  )r¡   )rI  Úmethrç   s     €rn   rK  z-_output_from_fit_transform.<locals>.<genexpr>µ  s-   øè è € Ð
GÐ
G¨$�7�; Ñ%Ô%Ð
GÐ
GÐ
GÐ
GÐ
GÐ
Grp   )rÃ  rí   zfit_transform/dfzfit_transform/arrayr  )rI  rÃ  rO   rí   r­  r¡   r  )rç   rª   r�  rÅ  r‚  ÚoutputsÚcasesÚcaseÚdata_fitÚdata_transformrÕ  r  r‰  s   `            rn   Ú_output_from_fit_transformrê  ¥  s�  ø€ ð €Gð 
  BÐ'Ø	! 2 qÐ)Ø	! 1 bÐ)Ø	$ a¨Ð+ð	€Eõ Ð
GÐ
GÐ
GÐ
GÐ2FÐ
GÑ
GÔ
GÑGÔGð Kð
 ð	
	Kð 
	Kñ 
ØØØà�OŠO˜H aÑ(Ô(Ð(ØÕ*Ð*Ð*Ø(×2Ò2°>À1ÑEÔE‘
�˜˜à%×/Ò/°Ñ?Ô?�Ø$ k×&GÒ&GÑ&IÔ&IÐJˆG�D‰MˆMð 
˜RÐ Ø	 Ð"ð€Eõ ˆ{˜OÑ,Ô,ð KØð 	Kð 	K‰JˆD�$ØÕ*Ð*Ð*Ø(×6Ò6°t¸QÑ?Ô?‘
�˜˜à%×3Ò3°D¸!Ñ<Ô<�Ø$ k×&GÒ&GÑ&IÔ&IÐJˆG�D‰MˆMà€Nrp   c                óð   — |\  }}	|\  }
} ||
¦  «        sJ ‚|                      d¦  «        r|nd} ||||¬¦  «        }	  ||
|¦  «         dS # t          $ r}t          | › d|› d|› �¦  «        |‚d}~ww xY w)a»  Check if the generated DataFrame by the transformer is valid.

    The DataFrame implementation is specified through the parameters of this function.

    Parameters
    ----------
    name : str
        The name of the transformer.
    case : str
        A single case from the cases generated by `_output_from_fit_transform`.
    index : index or None
        The index of the DataFrame. `None` if the library does not implement a DataFrame
        with an index.
    outputs_default : tuple
        A tuple containing the output data and feature names for the default output.
    outputs_dataframe_lib : tuple
        A tuple containing the output data and feature names for the pandas case.
    is_supported_dataframe : callable
        A callable that takes a DataFrame instance as input and return whether or
        E.g. `lambda X: isintance(X, pd.DataFrame)`.
    create_dataframe : callable
        A callable taking as parameters `data`, `columns`, and `index` and returns
        a callable. Be aware that `index` can be ignored. For example, polars dataframes
        would ignore the idnex.
    assert_frame_equal : callable
        A callable taking 2 dataframes to compare if they are equal.
    rÅ  N©rž  rô  z, does not generate a valid dataframe in the z] case. The generated dataframe is not equal to the expected dataframe. The error message is: )rÁ  r  )rª   rç  rô  Úoutputs_defaultÚoutputs_dataframe_libÚis_supported_dataframeÚcreate_dataframeÚassert_frame_equalrÕ  Úfeature_names_defaultÚdf_transÚfeature_names_dataframe_libÚexpected_indexÚexpected_dataframern  s                  rn   Ú_check_generated_dataframer÷  Ò  sé   € ðJ &5Ñ"€GÐ"Ø,AÑ)€HÐ)à!Ð! (Ñ+Ô+Ð+Ð+Ð+ð #Ÿmšm¨DÑ1Ô1Ð;�U�U°t€NØ)Ð)ØÐ4¸Nðñ ô ÐðØÐ˜8Ð%7Ñ8Ô8Ð8Ð8Ð8øÝð ð ð ÝØð 4ð 4Àð 4ð 4à01ð4ð 4ñ
ô 
ð ð		øøøøðøøøs   Á A Á
A5ÁA0Á0A5c               óv  — t          |¦  «        }|j        j        r|j        rdS t          j                             d¦  «        }t          |¦  «        }	|                     d¬¦  «        }
t          ||
¦  «        }
| 
                    ddd¬¦  «        }t          ||¦  «        }t          |	¦  «         d„ t          |
j        d         ¦  «        D ¦   «         }d	„ t          |
j        d         ¦  «        D ¦   «         } ||
||¬
¦  «        }t          |	¦  «                             d¬¦  «        }t!          || |
||¦  «        }|dk    r2t          |	¦  «                             |¬¦  «        }t#          ¦   «         }nt          |	¦  «        }t%          |¬¦  «        }	 |5  t!          || |
||¦  «        }ddd¦  «         n# 1 swxY w Y   nP# t&          $ rC}|                     ¦   «         }t+          |¦  «        }|› d�|v sd|v s
J |¦   «         ‚Y d}~dS d}~ww xY w|D ]$}t-          | ||||         ||         |||¦  «         Œ%dS )a‚  Check that a transformer can output a DataFrame when requested.

    The DataFrame implementation is specified through the parameters of this function.

    Parameters
    ----------
    name : str
        The name of the transformer.
    transformer_orig : estimator
        The original transformer instance.
    dataframe_lib : str
        The name of the library implementing the DataFrame.
    is_supported_dataframe : callable
        A callable that takes a DataFrame instance as input and returns whether or
        not it is supported by the dataframe library.
        E.g. `lambda X: isintance(X, pd.DataFrame)`.
    create_dataframe : callable
        A callable taking as parameters `data`, `columns`, and `index` and returns
        a callable. Be aware that `index` can be ignored. For example, polars dataframes
        will ignore the index.
    assert_frame_equal : callable
        A callable taking 2 dataframes to compare if they are equal.
    context : {"local", "global"}
        Whether to use a local context by setting `set_output(...)` on the transformer
        or a global context by using the `with config_context(...)`
    Nr   rÔ  r±  r+  rv  c                ó   — g | ]}d |› �‘ŒS rÀ  rN  rœ  s     rn   r’  z9_check_set_output_transform_dataframe.<locals>.<listcomp>A  rÁ  rp   rt  c                ó   — g | ]}d |› �‘ŒS )rô  rN  rœ  s     rn   r’  z9_check_set_output_transform_dataframe.<locals>.<listcomp>B  s   € Ð4Ð4Ð4˜Qˆ[�Qˆ[ˆ[Ð4Ð4Ð4rp   rì  r	  r
  Úlocal)Útransform_outputz% output does not support sparse data.z.The transformer outputs a scipy sparse matrix.)rN   r“   r
  r™   r‡  r¹  rº  r   r  rä  r  r¿  r]   r7  râ  r  rê  r   r   rh  Ú
capitalizer  r÷  )rª   rÝ  Údataframe_librï  rð  rñ  Úcontextrl   rÅ  rç   r�  r‚  rÄ  rô  rÅ  Útransformer_defaultrí  Útransformer_dfÚcontext_to_useÚ
outputs_dfrn  Úcapitalized_libÚerror_messagerç  s                           rn   Ú%_check_set_output_transform_dataframer    sæ  € õJ Ð$Ñ%Ô%€DØŒ?Ô&ð ¨$Ô*<ð Øˆå
Œ)×
Ò
 Ñ
"Ô
"€CÝÐ(Ñ)Ô)€Kà�Š˜ˆÑ!Ô!€AÝ!Ð"2°AÑ6Ô6€AØ�Š�A�q˜rˆÑ"Ô"€AÝ!Ð"2°AÑ6Ô6€AÝ�[Ñ!Ô!Ð!à=Ð=­5°´¸´Ñ+<Ô+<Ð=Ñ=Ô=ÐØ4Ð4¥%¨¬°¬
Ñ"3Ô"3Ð4Ñ4Ô4€EØ	Ð	˜!Ð%5¸UÐ	CÑ	CÔ	C€Bå Ñ,Ô,×7Ò7À)Ð7ÑLÔLÐÝ0Ð1DÀdÈAÈrÐSTÑUÔU€Oà�'ÒÐÝ˜{Ñ+Ô+×6Ò6ÀÐ6ÑOÔOˆÝ$™œˆˆå˜{Ñ+Ô+ˆÝ'¸ÐGÑGÔGˆðØð 	Tð 	TÝ3°NÀDÈ!ÈRÐQRÑSÔSˆJð	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tøøåð ð ð à'×2Ò2Ñ4Ô4ˆÝ˜A™œˆàÐEÐEÐEÈÐVÐVØ?À=ÐPÐPÐPØñ QÔPðQð 	ˆˆˆˆˆøøøøðøøøð  ð 

ð 

ˆÝ"ØØØØ˜DÔ!Ø�tÔØ"ØØñ		
ô 		
ð 		
ð 		
ð

ð 

s<   ÆG ÆF6Æ*G Æ6F:Æ:G Æ=F:Æ>G Ç
HÇ8H
È
Hc           	     óš   ‡— 	 dd l Šn# t          $ r t          d¦  «        ‚w xY wt          | |dˆfd„ˆfd„‰j        j        |¬¦  «         d S )Nr   z0pandas is not installed: not checking set outputrA  c                ó.   •— t          | ‰j        ¦  «        S rH  ©rt   rC  )r�  rF  s    €rn   r¢  z<_check_set_output_transform_pandas_context.<locals>.<lambda>s  ó   ø€ ­°A°r´|Ñ)DÔ)D€ rp   c                ó6   •— ‰                      | |d|¬¦  «        S )NF)rž  r€  rô  )rC  )r�  rž  rô  rF  s      €rn   r¢  z<_check_set_output_transform_pandas_context.<locals>.<lambda>t  s$   ø€ °2·<²<Ø�w U°%ð 4@ñ 4
ô 4
€ rp   ©rþ  rï  rð  rñ  rÿ  )rA  rE  rR   r  Útestingrñ  )rª   rÝ  rÿ  rF  s      @rn   Ú*_check_set_output_transform_pandas_contextr  i  sŸ   ø€ ðKØÐÐÐÐøÝð Kð Kð KÝÐIÑJÔJÐJðKøøøõ *ØØØØDÐDÐDÐDð
ð 
ð 
ð 
ð œ:Ô8Øð
ñ 
ô 
ð 
ð 
ð 
s   ƒ ˆ"c                ó(   — t          | |d¦  «         d S ©Nrû  ©r  ©rª   rÝ  s     rn   Ú!check_set_output_transform_pandasr  |  ó   € Ý.¨tÐ5EÀwÑOÔOÐOÐOÐOrp   c                ó(   — t          | |d¦  «         d S ©NÚglobalr  r  s     rn   Ú$check_global_output_transform_pandasr  €  ó   € Ý.¨tÐ5EÀxÑPÔPÐPÐPÐPrp   c           	     ó–   ‡— 	 dd l Šddlm} n# t          $ r t	          d¦  «        ‚w xY wˆfd„}t          | |dˆfd„|||¬¦  «         d S )Nr   )rñ  z0polars is not installed: not checking set outputc                ó�   •— t          |t          j        ¦  «        r|                     ¦   «         }‰                     | |d¬¦  «        S )Nr¦  )ÚschemaÚorient)rt   r‡  rÑ  rÎ  rC  )r�  rž  rô  Úpls      €rn   rð  zD_check_set_output_transform_polars_context.<locals>.create_dataframe‹  s>   ø€ Ý�g�rœzÑ*Ô*ð 	'Ø—n’nÑ&Ô&ˆGà�|Š|˜A g°eˆ|Ñ<Ô<Ð<rp   Úpolarsc                ó.   •— t          | ‰j        ¦  «        S rH  r	  )r�  r  s    €rn   r¢  z<_check_set_output_transform_polars_context.<locals>.<lambda>•  r
  rp   r  )r  Úpolars.testingrñ  rE  rR   r  )rª   rÝ  rÿ  rñ  rð  r  s        @rn   Ú*_check_set_output_transform_polars_contextr"  „  s²   ø€ ðKØÐÐÐØ5Ð5Ð5Ð5Ð5Ð5Ð5øÝð Kð Kð KÝÐIÑJÔJÐJðKøøøð=ð =ð =ð =ð =õ *ØØØØDÐDÐDÐDØ)Ø-Øðñ ô ð ð ð s   ƒ
 Ž(c                ó(   — t          | |d¦  «         d S r  ©r"  r  s     rn   Ú!check_set_output_transform_polarsr%  œ  r  rp   c                ó(   — t          | |d¦  «         d S r  r$  r  s     rn   Ú(check_global_set_output_transform_polarsr'     r  rp   c                óÞ  — t           j                             d¦  «        }t          |¦  «        }t	          |¦  «         d}t          |d|¬¦  «        \  }}t          ||¦  «        }| dv rt          j        |¦  «        }t          |d¦  «        rt           j	        |d<   t          |¦  «        r|                     |¬¦  «        }n|                     dd	|¬
¦  «        }t          ||¦  «        }|                     ¦   «         }|                     d¬¦  «         |                     ||¦  «         t          |d¦  «        r|                     |¦  «         |j        j        rJ ‚t)          ||¦  «         dS )a  Check that estimators able to do inplace operations can work on read-only
    input data even if a copy is not explicitly requested by the user.

    Make sure that a copy is made and consequently that the input array and its
    writeability are not modified by the estimator.
    r   rH  r  rÊ  )ÚLassoÚ
ElasticNetÚMultiTaskElasticNetÚMultiTaskLassoÚmissing_valuesr|  r±  r+  r„  F)Úwriterí   N)r‡  r¹  rº  r   r]   r!   rä  r;  r¡   r¼  r   ræ  r  r¿  r€  ÚsetflagsrÃ  rí   ÚflagsÚ	writeablerU   )	rª   rÄ  rÅ  rj   rx  r�  r  r‚  ÚX_copys	            rn   Úcheck_inplace_ensure_writeabler3  ¤  sm  € õ Œ)×
Ò
 Ñ
"Ô
"€Cå�nÑ%Ô%€IÝ�YÑÔÐà€Iå 	°aÀcÐJÑJÔJ�D€A€qÝ! )¨QÑ/Ô/€Að ÐOÐOÐOÝÔ˜aÑ Ô ˆõ ˆyÐ*Ñ+Ô+ð Ý”&ˆˆ$‰å�IÑÔð 7Ø�JŠJ˜IˆJÑ&Ô&ˆˆà�KŠK˜A A¨IˆKÑ6Ô6ˆÝ! )¨QÑ/Ô/€Aà�VŠV‰XŒX€Fð ‡J‚J�U€JÑÔÐà‡M‚M�!�QÑÔÐåˆy˜+Ñ&Ô&ð Ø×Ò˜AÑÔÐàŒwÔ Ð Ð Ð Ý�A�vÑÔÐÐÐrp   c                óÚ   ‡— t          |¦  «        }t          |¦  «        j        }dddt          j        ddg¦  «        dgi g g}|D ]%Šˆfd„|D ¦   «         } |d	i |¤Ž} |j        d	i |¤Ž Œ&dS )
z3Check that init or set_param does not raise errors.rI  g      @Ú
helloworldr¶  rN  rt  c                ó   •— i | ]}|‰“ŒS rN  rN  rÒ  s     €rn   rÔ  zCcheck_do_not_raise_errors_in_init_or_set_params.<locals>.<dictcomp>Ù  s   ø€ Ð3Ð3Ð3 S�c˜5Ð3Ð3Ð3rp   NrN  )r@  r   rÿ  r‡  rB  r.  )rª   rÄ  r5  rþ  Úsmoke_test_valuesr   rJ  rÆ  s          @rn   rƒ   rƒ   Ò  s«   ø€ å�^Ñ$Ô$€IÝ�yÑ!Ô!Ô,€Fà˜S ,µ´¸#¸s¸Ñ0DÔ0DÀqÀcÈ2ÈrÐRÐØ"ð %ð %ˆØ3Ð3Ð3Ð3¨FÐ3Ñ3Ô3ˆ
ð ˆiÐ%Ð%˜*Ð%Ð%ˆð 	ˆŒÐ$Ð$˜Ð$Ð$Ð$Ð$ð%ð %rp   c                óP  — t          |¦  «        }t          |¦  «         t          ddddd¬¦  «        \  }}d                     | ¬¦  «        }t	          j        |¦  «        }t          t          d|¬	¦  «        5  |                     ||¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )zÖCheck that if the classifier has tags.classifier_tags.multi_class=False,
    then it should raise a ValueError when calling fit with a multiclass dataset.

    This test is not yielded if the tag is not False.
    rH  r  rt  r   )rx  r€  rz  Ún_clusters_per_classr}  aˆ          The estimator tag `tags.classifier_tags.multi_class` is False for {name}
        which means it does not support multiclass classification. However, it does
        not raise the right `ValueError` when calling fit with a multiclass dataset,
        including the error message 'Only binary classification is supported.' This
        can be achieved by the following pattern:

        y_type = type_of_target(y, input_name='y', raise_unknown=True)
        if y_type != 'binary':
            raise ValueError(
                'Only binary classification is supported. The type of the target '
                f'is {{y_type}}.'
        )
    rû  z(Only binary classification is supported.r¶  N)	r   r]   r"   r  rˆ  r‰  r\   rh  rÃ  )rª   rÄ  rj   r�  r‚  r¸  s         rn   rÌ   rÌ   â  s	  € õ �nÑ%Ô%€IÝ�YÑÔÐåØØØØØðñ ô �D€A€qð÷ 	Š�DˆÑÔð õ Œo˜gÑ&Ô&€Gå	ÝÐDÈgð
ñ 
ô 
ð ð ð 	�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á7BÂBÂ"B)F)r  r  )NNNN)r$  r%  r&  r'  r(  r)  rH  )r$  r%  r;  r<  )r  r  r$  r%  r&  r'  r(  r)  )r  r  r$  rE  r(  r)  )
r  r  r$  r%  rZ  r^  r[  r_  r\  rE  )NFFT)NNFFT)NrË  F)FTT)FrË  )T(  r•  Ú
__future__r   r!  r!  rˆ  ru   Ú
contextlibr   r€  r   Ú	functoolsr   r   Úinspectr   Únumbersr	   r
   Útypingr   r   rü  rû   r‡  Úscipyr   Úscipy.statsr   r   r   Úsklearn.baser   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úsklearn.datasetsr    r!   r"   r#   r$   Úsklearn.exceptionsr%   r&   r'   r(   Úsklearn.linear_model._baser)   Úsklearn.metricsr*   r+   r,   Úsklearn.metrics.pairwiser-   r.   r/   Úsklearn.model_selectionr0   r1   r2   Ú#sklearn.model_selection._validationr3   Úsklearn.pipeliner4   Úsklearn.preprocessingr5   r6   Úsklearn.utilsr7   r8   Úsklearn.utils._array_apir9   r:   r;   r<   r=   r>   r?   rA   rè  Úsklearn.utils._missingrB   Úsklearn.utils._param_validationrC   rD   rE   rF   rG   rH   Úsklearn.utils._tagsrI   rJ   rK   rL   rM   rN   Ú-sklearn.utils._test_common.instance_generatorrO   rP   rQ   Úsklearn.utils._testingrR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   Úsklearn.utils.validationr^   r_   r`   r~  ro   r‡   r¬   rÎ   rØ   ré   rñ   rù   r§   r  r"  r:  r6  rD  rW  r$  rO  rp  rƒ  r…  r™  r®  r-  rÂ   r  r  r  r  r  r£   r4  r¥   r¤   r©   r�   r�   r‘   r’   r•   rr  r—   r˜   r–   rw   r›   rš   r  r�  r~   r  r«  r  r  r  r  r  rá   rà   rä   rå   rÌ  r�   r…   r|   rŽ   rã   rœ   rŸ   r    r¦   r·   rº   rÔ   rï   rî   r´   rµ   r»   r~  rø   rö   r¾   r¿   rÀ   rÁ   r®  r   r€   r‚   rÄ   rÅ  rË  r¶   rÖ   rË  rÒ   rÕ   rÇ   rõ  rÊ   r}   r{   r¢   r³   rÓ   r  rA  rz   r  r¿  rä  r†   rÈ   ræ   r  r  r¼   rÉ   r÷   r  r  r  r  r  r„   ry   rx   r²  r½  rÉ  rØ  rá  rê  r÷  r  r  r  r  r"  r%  r'  r3  rƒ   rÌ   rN  rp   rn   ú<module>rT     sÖ  ðØ WÐ Wð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð =Ð <Ð <Ð <Ð <Ð <Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø *Ð *Ð *Ð *Ð *Ð *Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð VÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UàÐ ð	
ð 	
ð 	
ð-ð -ð -ð@7-ð 7-ð 7-ðt)9ð )9ð )9ðX2ð 2ð 2ð0'ð 'ð 'ð>
6ð 
6ð 
6ð2ð 2ð 2ð$/
ð /
ð /
ð /
ðd;%ð ;%ð ;%ð ;%ð|Qð Qð Qð 59Ø+/ØØ $ð9"ð 9"ð 9"ð 9"ð 9"ðz GKð2ð 2ð 2ð 2ð 2ðF Ø48Ø+/Ø $ðBð Bð Bð Bð Bð BðP Ø.2Ø $ðkð kð kð kð kð kð\ €à�+Ø#'¨ ,Ø�J ˜xÑ(Ô(¨$Ð/Ø�J ¨Ð0Ñ1Ô1°4Ð8Ø˜tÐ$ðð ð #(ð	ñ 	ô 	ð ðWð Ø48Ø&,Ø/6Ø $ðWð Wð Wð Wð Wñ	ô 	ðWðtð ð ð$Wð Wð Wð Wð Wñ Wô Wð Wð*)ð )ð )ð$'ð 'ð 'ðB €˜-Ð(Ñ(Ô(ð ð  ñ )Ô(ð ðL ØØØ"ðNNð NNð NNð NNðj ØØØØ"ð=ð =ð =ð =ðH ØØðð ð ð ð0 ØØ"ð=ð =ð =ð =ðB 8<ð6ð 6ð 6ð 6ðr1
ð 1
ð 1
ðh3;ð 3;ð 3;ðlOð Oð OðNð Nð Nðð ð ð, €˜-Ð(Ñ(Ô(ð+
ð +
ñ )Ô(ð+
ð\ €˜=Ð*Ñ*Ô*ð/ð /ñ +Ô*ð/ð: €˜=Ð*Ñ*Ô*ð5ð 5ñ +Ô*ð5ð €˜-Ð(Ñ(Ô(ð9ð 9ñ )Ô(ð9ð* €˜-Ð(Ñ(Ô(ð!@ð !@ñ )Ô(ð!@ðH €˜-Ð(Ñ(Ô(ðCLð CLñ )Ô(ðCLðLRð Rð RðMð Mð Mð%Pð %Pð %PðP €˜=¨+Ð6Ð7Ñ7Ô7ð-ð -ñ 8Ô7ð-ð`ð ð ð ðð ñ „ðð(<ð <ð <ð €˜-Ð(Ñ(Ô(ð2ð 2ñ )Ô(ð2ðj €˜-Ð(Ñ(Ô(ð1ð 1ñ )Ô(ð1ð.<ð <ð <ð$ €˜-Ð(Ñ(Ô(ð!Rð !Rñ )Ô(ð!RðH €˜-Ð(Ñ(Ô(ð)ð )ñ )Ô(ð)ðX ð%ð %ñ „ð%ðP ðð ñ „ðð< ðð ñ „ðð$ €˜-Ð(Ñ(Ô(ð0ð 0ð 0ñ )Ô(ð0ð" €˜-Ð(Ñ(Ô(ðBð Bñ )Ô(ðBð" €˜-Ð(Ñ(Ô(ð!ð !ñ )Ô(ð!ð  €˜-Ð(Ñ(Ô(ð*ð *ñ )Ô(ð*ðX1ð X1ð X1ðv ð>ð >ñ „ð>ð@ ð%ð %ñ „ð%ðP ðð ñ „ðð: ð4ð 4ñ „ð4ð,ð ð ðD €˜-Ð(Ñ(Ô(ð"ð "ñ )Ô(ð"ð. €˜-Ð(Ñ(Ô(ð-1ð -1ñ )Ô(ð-1ð` ðð ñ „ðð ð2Gð 2Gð 2Gñ „ð2Gðj €˜-Ð(Ñ(Ô(ð,ð ,ñ )Ô(ð,ð8 €˜-Ð(Ñ(Ô(ð:Nð :Nñ )Ô(ð:Nðz €˜-Ð(Ñ(Ô(ðð ñ )Ô(ðð2 €˜-Ð(Ñ(Ô(ð73ð 73ð 73ñ )Ô(ð73ðv €˜-Ð(Ñ(Ô(ð-ð -ñ )Ô(ð-ð €˜-Ð(Ñ(Ô(ðXð Xñ )Ô(ðXð. €˜-Ð(Ñ(Ô(ð!
ð !
ñ )Ô(ð!
ðH à:CðGOð GOð GOñ „ðGOðT@ð @ð @ð,EPð EPð EPð EPðPLð Lð Lð6 €˜-Ð(Ñ(Ô(ð&6ð &6ñ )Ô(ð&6ðR €˜-Ð(Ñ(Ô(ð*ð *ñ )Ô(ð*ðZ €˜-Ð(Ñ(Ô(ðQ
ð Q
ñ )Ô(ðQ
ðh €˜-Ð(Ñ(Ô(ð+ð +ñ )Ô(ð+ð\ €˜-Ð(Ñ(Ô(ð*ð *ñ )Ô(ð*ð €˜-Ð(Ñ(Ô(ð	,ð 	,ñ )Ô(ð	,ð €˜-Ð(Ñ(Ô(ð,ð ,ñ )Ô(ð,ð$ ð.ð .ñ „ð.ð: €˜-Ð(Ñ(Ô(ð7ð 7ñ )Ô(ð7ðD ð7ð 7ñ „ð7ðtð ð ðMð Mð MðD €˜-Ð(Ñ(Ô(ð;ð ;ñ )Ô(ð;ð6 €˜-Ð(Ñ(Ô(à*/¸¼ð/,ð /,ð /,ñ )Ô(ð/,ðd ð1ð 1ñ „ð1ð  €˜-Ð(Ñ(Ô(ð)/ð )/ñ )Ô(ð)/ðX €˜-Ð(Ñ(Ô(ðð ñ )Ô(ðð* €˜-Ð(Ñ(Ô(ð%ð %ñ )Ô(ð%ðP €˜-Ð(Ñ(Ô(ð
ð 
ñ )Ô(ð
ðB €˜-Ð(Ñ(Ô(ðð ñ )Ô(ðð: €˜-Ð(Ñ(Ô(ð(ð (ñ )Ô(ð(ðD €˜-Ð(Ñ(Ô(ðQð Qñ )Ô(ðQð0 €˜-Ð(Ñ(Ô(ðQð Qñ )Ô(ðQð €˜-Ð(Ñ(Ô(ð+;ð +;ñ )Ô(ð+;ð\Rð Rð RðOð Oð Oð{Kð {Kð {Kð|ð ð ð* 48Àð )ð )ð )ð )ðX €˜-Ð(Ñ(Ô(ð 1ð  1ñ )Ô(ð 1ðF €˜-Ð(Ñ(Ô(ðð ñ )Ô(ðð. €˜-Ð(Ñ(Ô(ð*ð *ñ )Ô(ð*ð< €˜-Ð(Ñ(Ô(ðOð Oñ )Ô(ðOð €˜-Ð(Ñ(Ô(ð50ð 50ñ )Ô(ð50ðp €˜-Ð(Ñ(Ô(ðð ñ )Ô(ðð& €˜-Ð(Ñ(Ô(ð)Gð )Gñ )Ô(ð)GðX(Pð (Pð (PðVð ð ð9ð 9ð 9ðx$ð $ð $ðN2ð 2ð 2ð4ð ð ðB €˜-Ð(Ñ(Ô(ð_(ð _(ñ )Ô(ð_(ðD2Pð 2Pñ 2Pðjð ñ ð,J,ð J,ñ J,ðZ-ð -ñ -ð`6ð 6ñ 6ðro9ð o9ñ o9ðd-Jð -Jñ -Jð`*ð *ñ *ðZ:ð :ñ :ðzW
ð W
ñ W
ðtð ñ ð&Pð Pñ PðQð Qñ Qðð ñ ð0Pð Pñ PðQð Qñ Qð €˜-Ð(Ñ(Ô(ð*ð *ñ )Ô(ñ*ðZ%ð %ñ %ð #ð #ñ #ð #ð #rp   