Ë
    ÜÍ:jW5  ã                   óº  — d 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	Z	ddl
m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 dd
lmZ ddlmZmZ ddlmZmZmZmZ ddl m!Z! ddl"m#Z#m$Z$m%Z%m&Z& ddl'm(Z(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z: e	jv                  jx                  d„ «       Z=dDd„Z> G d„ de«      Z?e	jv                  j�                  d ee>d¬«      dfe>df ee>d«      df ed¬«      df eddd d!¬"«      d#f e?«       d$fg«      d%„ «       ZAe	jv                  j„                   e8 eC e%«       «      e$¬&«      d'„ «       «       ZDe	jv                  j‹                  d(«      e	jv                  jx                  d)„ «       «       ZFd*„ ZGe	jv                  jx                  d+„ «       ZHd,„ ZId-„ ZJ eC e e%«        e ed¬«      «      g eJ«       «      «      ZKe	jv                  j�                  d.eKe#¬/«      d0„ «       ZLd1d2gZMd3„ ZN e%d4«      D � cg c]  }  eN| «      r| ‘Œ c} ZOe	jv                  j�                  d4eOe#¬/«      d5„ «       ZP e%«       D � cg c]  }  eQ| d6«      sŒ| ‘Œ c} ZRe	jv                  j�                  d7eRe#¬/«      d8„ «       ZSe	jv                  j�                  d7 eC e%«       «      e#¬/«      d9„ «       ZT eC e e%d4«       e e«        e«       «       ed:¬;«       ed<¬=«      g«      «      ZUe	jv                  j�                  d.eUe#¬/«      d>„ «       ZVe	jv                  j�                  d.eUe#¬/«      e	jv                  j�                  d?e4e/e5e0g«      d@„ «       «       ZWe	jv                  j�                  d7 e%«       e#¬/«      dA„ «       ZX e%«       D � cg c]  }  e:| dB«      sŒ| ‘Œ c} ZYe	jv                  j�                  d7eYe#¬/«      dC„ «       ZZyc c} w c c} w c c} w )Ez.
General tests for all estimators in sklearn.
é    N)Úpartial)Úchain)ÚLinAlgWarning)ÚBaseEstimator)ÚColumnTransformer)ÚConvergenceWarning)Úenable_halving_search_cvÚenable_iterative_imputer)ÚLogisticRegression)ÚFeatureUnionÚmake_pipeline)ÚFunctionTransformerÚMinMaxScalerÚOneHotEncoderÚStandardScaler)Úall_estimators)Ú_get_check_estimator_idsÚ_get_expected_failed_checksÚ_tested_estimatorsÚ_yield_instances_for_check)ÚSkipTestÚignore_warnings)Ú#check_all_zero_sample_weights_errorÚ(check_dataframe_column_names_consistencyÚcheck_estimatorÚ!check_get_feature_names_out_errorÚ$check_global_output_transform_pandasÚ(check_global_set_output_transform_polarsÚcheck_inplace_ensure_writeableÚcheck_param_validationÚcheck_set_output_transformÚ!check_set_output_transform_pandasÚ!check_set_output_transform_polarsÚ'check_transformer_get_feature_names_outÚ.check_transformer_get_feature_names_out_pandasÚparametrize_with_checks)Úhas_fit_parameterc                  ó–   — t        «       D ]<  \  } }dj                  | «      }| j                  «       j                  d«      sŒ7J |«       ‚ y )NzDBase estimators such as {0} should not be included in all_estimatorsÚbase)r   ÚformatÚlowerÚ
startswith)ÚnameÚ	EstimatorÚmsgs      ún/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/tests/test_common.pyÚ test_all_estimator_no_base_classr1   B   sL   € ô *Ó+ò 8‰ˆˆiàRß
‰&�‹,ð 	ð —:‘:“<×*Ñ*¨6Õ2Ð7°CÓ7Ð2ñ	8ó    é   c                  ó   — y ©N© )ÚxÚys     r0   Ú_sample_funcr9   L   s   € Ør2   c                   ó   — e Zd ZdZd„ Zy)ÚCallableEstimatorzqDummy development stub for an estimator.

    This is to make sure a callable estimator passes common tests.
    c                  ó   — y r5   r6   )Úselfs    r0   Ú__call__zCallableEstimator.__call__V   s   € Ør2   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r>   r6   r2   r0   r;   r;   P   s   „ ñó
r2   r;   zval, expected)r8   z_sample_func(y=1)r9   Úworldg       @)ÚCzLogisticRegression(C=2.0)z	newton-cgÚbalancedT)Úrandom_stateÚsolverÚclass_weightÚ
warm_startz]LogisticRegression(class_weight='balanced',random_state=1,solver='newton-cg',warm_start=True)zCallableEstimator()c                 ó$   — t        | «      |k(  sJ ‚y r5   )r   )ÚvalÚexpecteds     r0   Útest_get_check_estimator_idsrM   Z   s   € ô. $ CÓ(¨HÒ4Ð4Ñ4r2   )Úexpected_failed_checksc                 ó~   — t        t        t        t        t        f¬«      5   || «       d d d «       y # 1 sw Y   y xY w©N©Úcategory)r   ÚFutureWarningr   ÚUserWarningr   )Ú	estimatorÚcheckÚrequests      r0   Útest_estimatorsrX   t   s8   € ô 
ÜÔ!3´[Ä-ÐPô
ñ ñ 	ˆiÔ÷÷ ñ ús   ¡	3³<zZignore:Since version 1.0, it is not needed to import enable_hist_gradient_boosting anymorec                  ó~  — t         j                  j                  t        j                  «      g} t        j                  | dd„ ¬«      }|D ��cg c]  \  }}}|‘Œ
 }}}|dgz   D ]R  }d|v sd|v rŒd|v rŒt        |d¬	«      }t        |d
d«      D ]%  }t        ||«      rŒJ dj                  ||«      «       ‚ ŒT y c c}}w )Núsklearn.c                  ó   — y r5   r6   ©Ú_s    r0   ú<lambda>z-test_import_all_consistency.<locals>.<lambda>Š   ó   � r2   )ÚpathÚprefixÚonerrorÚsklearnz.tests.zsklearn.externalszsklearn._build_utilsÚdummy)ÚfromlistÚ__all__r6   z#Module '{0}' has no attribute '{1}')Úosr`   Údirnamerc   Ú__file__ÚpkgutilÚwalk_packagesÚ
__import__ÚgetattrÚhasattrr*   )Úsklearn_pathÚpkgsr]   ÚmodnameÚsubmodsÚpackager-   s          r0   Útest_import_all_consistencyrt   €   sÚ   € ô —G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€Lô × Ñ Ø *±nô€Dð -1×1™=˜1˜g qŠwÐ1€GÑ1Ø˜i˜[Ñ(ò 
ˆØ˜ÑÐ#6¸'Ñ#AØà! WÑ,ØÜ˜W¨wÔ7ˆÜ˜G Y°Ó3ò 	ˆDÜ˜7 DÕ)ð Ð+P×+WÑ+WØ˜ó,ó Ð)ñ	ñ
ùó 2s   ÁB9c                  ó  — t         j                  j                  t        j                  «      g} d}t        j                  | d„ ¬«      D ]4  \  }}}d|v s|j                  d«      s||v rŒ!|t        j                  v rŒ4J ‚ y )N)ÚutilsÚtestsr)   Úconftestc                  ó   — y r5   r6   r\   s    r0   r^   z3test_root_import_all_completeness.<locals>.<lambda>ž   r_   r2   )r`   rb   ú.r]   )	rg   r`   rh   rc   ri   rj   rk   r,   rf   )ro   Ú
EXCEPTIONSr]   rq   s       r0   Ú!test_root_import_all_completenessr|   š   sy   € Ü—G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€LØ7€JÜ ×.Ñ.Ø¡>ôò *‰ˆˆ7�Að �'‰>˜W×/Ñ/°Ô4¸À:Ñ8MØØœ'Ÿ/™/Ò)Ð)Ð)ñ*r2   c                  ó¼  — t        j                  d«      } h d£}t        j                  j	                  t
        j                  «      g}t        j                  |d¬«      D ���ci c]	  \  }}}||“Œ }}}}|j                  «       D ��cg c]%  \  }}|r||vr| j                  |«      s	|dz   |vr|‘Œ' }}}|g k(  sJ dj                  |«      «       ‚y c c}}}w c c}}w )NzK(?x)
        \.externals(\.|$)|
        \.tests(\.|$)|
        \._
        >   úsklearn.datasets.dataúsklearn.datasets.descrúsklearn.datasets.imagesrZ   )ra   z.testszn{0} do not have `tests` subpackages. Perhaps they require __init__.py or a meson.build in the parent directory)ÚreÚcompilerg   r`   rh   rc   ri   rj   rk   ÚitemsÚsearchr*   )ÚHAS_TESTS_EXCEPTIONSÚresource_modulesro   r]   r-   ÚispkgÚlookupÚmissing_testss           r0   Útest_all_tests_are_importablerŠ   ¥   sù   € ô
 Ÿ:™:ð	óÐòÐô
 —G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€Lô &×3Ñ3°LÈÔT÷ð áˆAˆt�Uð 	ˆe‰ð€Fò ð "Ÿ<™<›>÷áˆD�%ÙØÐ(Ñ(Ø$×+Ñ+¨DÔ1Ø�8‰O 6Ñ)ò 	ð€Mñ ð ˜BÒð ð	÷ ‘F˜=Ó)óÑùôùós   Á#CÂ*Cc                  ó  — d} t        j                  t        | ¬«      5  t        t        «       d d d «       t        j                  t        | ¬«      5  t        t        g«       d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)Nz8Passing a class was deprecated.* isn't supported anymore)Úmatch)ÚpytestÚraisesÚ	TypeErrorr   r   r&   ©r/   s    r0   Útest_class_support_removedr‘   Ì   sl   € ð E€CÜ	�‰”y¨Ô	,ñ ,ÜÔ*Ô+÷,ô 
�‰”y¨Ô	,ñ 6ÜÔ!3Ð 4Ô5÷6ð 6÷,ð ,ú÷6ð 6ús   žA+ÁA7Á+A4Á7B c               #   óš  K  — t        «       D ]º  } t        | j                  «       «      }d|v r| j                  dd¬«      –— Œ6d|v rh| j                  dd¬«      }|j                  j
                  dv r8t        j                  |t        j                  j                  d¬	«      ¬
«      –— Œ�|–— Œ¢d|v sŒ§| j                  d¬«      –— Œ¼ y ­w)NÚ	oob_scoreT)r“   Ú	bootstrapÚearly_stoppingr3   )r•   Ún_iter_no_change>   ÚMLPRegressorÚMLPClassifierzMLP still validates in fitr�   )Úmarksr–   )r–   )
r   ÚsetÚ
get_paramsÚ
set_paramsÚ	__class__r?   r�   ÚparamÚmarkÚxfail)rU   Ú
est_paramsÚests      r0   Ú_estimators_that_predict_in_fitr£   Ø   sÅ   è ø€ Ü'Ó)ò ;ˆ	Ü˜×-Ñ-Ó/Ó0ˆ
Ø˜*Ñ$Ø×&Ñ&°ÀÐ&ÓFÓFØ Ñ+Ø×&Ñ&°dÈQÐ&ÓOˆCØ�}‰}×%Ñ%Ð)JÑJä—l‘lØœvŸ{™{×0Ñ0Ð5QÐ0ÓRôó ð “	Ø :Ò-Ø×&Ñ&¸Ð&Ó:Ó:ñ;ùs   ‚B1CÂ4CÚestimator_orig)Úidsc                 óÞ  — t        | t        «      rt        j                  d«       dt	        | «      v rt        j                  d«       t        t        | «      D ]{  }t        t        ¬«      5  t        j                  d¬«      5 }t        |j                  j                  |«       d d d «       D ]  }dt        |j                  «      vrŒJ ‚ 	 d d d «       Œ} y # 1 sw Y   Œ5xY w# 1 sw Y   Œ”xY w)Nz$ColumnTransformer is not tested herer   zCEstimator does not support check_dataframe_column_names_consistencyrQ   T)Úrecordz was fitted without feature names)Ú
isinstancer   r�   Úskipr   r   r   r   rS   ÚwarningsÚcatch_warningsr�   r?   ÚstrÚmessage)r¤   rU   r§   Úwarnings       r0   Ú#test_pandas_column_name_consistencyr¯   ö   sî   € ô �.Ô"3Ô4Ü�‰Ð:Ô;Ø1Ô5PØó6ñ ô 	�‰ØQô	
ô 0Ü0°.óò 	Vˆ	ô ¤}Ô6ñ 	VÜ×(Ñ(°Ô5ð ¸Ü8Ø×'Ñ'×0Ñ0°)ô÷ð "ò V�Ø9ÄÀWÇ_Á_ÓAUÒUÐUÐUñV÷	Vð 	Vñ	V÷ð ú÷	Vð 	Vús*   Á+C#Â!CÂ#$C#ÃC#ÃC ÃC#Ã#C,	ÚensembleÚkernel_approximationc                 óh   — t        | d«      ry| j                  j                  d«      d   }|t        vS )NÚget_feature_names_outTrz   r3   )rn   r@   ÚsplitÚ"GET_FEATURES_OUT_MODULES_TO_IGNORE)ÚtransformerÚmodules     r0   Ú'_include_in_get_feature_names_out_checkr¸     s7   € Üˆ{Ð3Ô4ØØ×#Ñ#×)Ñ)¨#Ó.¨qÑ1€FØÔ;Ð;Ð;r2   r¶   c                 óÎ   — t        t        ¬«      5  t        | j                  j                  | «       t        | j                  j                  | «       d d d «       y # 1 sw Y   y xY wrP   )r   rS   r$   r�   r?   r%   )r¶   s    r0   Ú'test_transformers_get_feature_names_outrº   $  sU   € ô 
¤=Ô	2ñ 
Ü/Ø×!Ñ!×*Ñ*¨Kô	
ô 	7Ø×!Ñ!×*Ñ*¨Kô	
÷	
÷ 
ñ 
ús   ‘AAÁA$r³   rU   c                 óH   — | j                   j                  }t        || «       y r5   )r�   r?   r   )rU   Úestimator_names     r0   Ú+test_estimators_get_feature_names_out_errorr½   6  s   € ð ×(Ñ(×1Ñ1€NÜ% n°iÕ@r2   c                 ó’   — t        | t        «      rt        j                  d«       | j                  j
                  }t        || «       y )NzFeatureUnion is not tested here)r¨   r   r�   r©   r�   r?   r    ©rU   r-   s     r0   Útest_check_param_validationrÀ   >  s6   € ô �)œ\Ô*Ü�‰Ð5Ô6Ø×Ñ×'Ñ'€DÜ˜4 Õ+r2   F)Úsparse_outputz
one-to-one)Úfeature_names_outc                 ó.  — | j                   j                  }t        | d«      st        j                  d|› d�«       t        t        | «      D ];  }t        t        ¬«      5  t        |j                   j                  |«       d d d «       Œ= y # 1 sw Y   ŒHxY w)NÚ
set_outputz(Skipping check_set_output_transform for z!: Does not support set_output APIrQ   )	r�   r?   rn   r�   r©   r   r!   r   rS   )r¤   r-   rU   s      r0   Útest_set_output_transformrÅ   T  s˜   € ð ×#Ñ#×,Ñ,€DÜ�> <Ô0Ü�‰Ø6°t°fð =ð ô	
ô 0Ü" Nóò Pˆ	ô ¤}Ô6ñ 	PÜ& y×':Ñ':×'CÑ'CÀYÔO÷	Pð 	PñP÷	Pð 	Pús   Á!BÂB	Ú
check_funcc                 ó:  — | j                   j                  }t        | d«      s&t        j                  d|j                  › d|› d�«       t        || «      D ]8  }t        t        ¬«      5   ||j                   j                  |«       d d d «       Œ: y # 1 sw Y   ŒExY w)NrÄ   z	Skipping z for z%: Does not support set_output API yetrQ   )r�   r?   rn   r�   r©   r   r   rS   )r¤   rÆ   r-   rU   s       r0   Ú$test_set_output_transform_configuredrÈ   e  s    € ð ×#Ñ#×,Ñ,€DÜ�> <Ô0Ü�‰Ø˜
×+Ñ+Ð,¨E°$°ð 8"ð "ô	
ô 0°
¸NÓKò @ˆ	Ü¤}Ô6ñ 	@Ù�y×*Ñ*×3Ñ3°YÔ?÷	@ð 	@ñ@÷	@ð 	@ús   Á(BÂB	c                 ól  — | j                   j                  }t        | d«      r| j                  d¬«       n-t        | d«      r| j                  d¬«       nt	        |› d�«      ‚|dk(  r| j                  dd	¬
«       |dk(  r| j                  d¬«       |dk(  r| j                  d¬«       t        || «       y )NÚcopyF)rÊ   Úcopy_X)rË   z! doesn't require writeable input.ÚHDBSCANÚprecomputedÚbrute)ÚmetricÚ	algorithmÚPCAÚfull)Ú
svd_solverÚ	KernelPCA)Úkernel)r�   r?   rn   rœ   r   r   r¿   s     r0   Ú#test_check_inplace_ensure_writeablerÖ   }  s¶   € ð ×Ñ×'Ñ'€Däˆy˜&Ô!Ø×Ñ %ÐÕ(Ü	�˜HÔ	%Ø×Ñ EÐÕ*ä˜$˜Ð@ÐAÓBÐBð ˆyÒØ×Ñ M¸WÐÔEàˆu‚}Ø×Ñ¨ÐÔ/àˆ{ÒØ×Ñ MÐÔ2ä" 4¨Õ3r2   Úsample_weightc                 óH   — | j                   j                  }t        || «       y r5   )r�   r?   r   r¿   s     r0   Ú(test_check_all_zero_sample_weights_errorrÙ   œ  s   € ð ×Ñ×'Ñ'€Dä'¨¨iÕ8r2   )r3   )[rB   rg   rj   r�   rª   Ú	functoolsr   Ú	itertoolsr   r�   Úscipy.linalgr   rc   Úsklearn.baser   Úsklearn.composer   Úsklearn.exceptionsr   Úsklearn.experimentalr	   r
   Úsklearn.linear_modelr   Úsklearn.pipeliner   r   Úsklearn.preprocessingr   r   r   r   Úsklearn.utilsr   Ú-sklearn.utils._test_common.instance_generatorr   r   r   r   Úsklearn.utils._testingr   r   Úsklearn.utils.estimator_checksr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   Úsklearn.utils.validationr'   rŸ   Úthread_unsafer1   r9   r;   ÚparametrizerM   Úno_check_spmatrixÚlistrX   Úfilterwarningsrt   r|   rŠ   r‘   r£   Úcolumn_name_estimatorsr¯   rµ   r¸   ÚGET_FEATURES_OUT_ESTIMATORSrº   rn   Ú%ESTIMATORS_WITH_GET_FEATURE_NAMES_OUTr½   rÀ   ÚSET_OUTPUT_ESTIMATORSrÅ   rÈ   rÖ   Ú#ESTIMATORS_ACCEPTING_SAMPLE_WEIGHTSrÙ   )r¢   s   0r0   ú<module>ró      s¦  ðñó 
Û Û 	Û Ý Ý ã Ý &ã Ý &Ý -Ý 1÷õ 4ß 8÷ó õ )÷ó ÷÷÷ ÷ ÷ õ  7ð ‡�×Ññ8ó ð8ó	ô˜ô ð ‡�×ÑØá	� Ô	#Ð%8Ð9Ø	�~Ð&Ù	�˜wÓ	'¨Ð8Ù	˜cÔ	"Ð$?Ð@áØØ"Ø'Øô	ð6ð	
ñ 
Ó	Ð3Ð4ð#óñ,5ó-ð,5ð ‡�×ÑÙÙÑ	Ó	ÓÐ7Rôñóó ðð ‡�×Ñð,óð ‡�×Ññó ó	ð
ò**ð ‡�×Ññ#ó ð#òL	6ò;ñ* Ù	ÙÓÙ	Ñ)¨AÔ.Ó	/Ð0Ù'Ó)óóÐ ð ‡�×ÑØÐ,Ð2Jð ó ñVóðVð0 Øð&Ð "ò<ñ " -Ó0öàÙ.¨sÔ3ò òÐ ð ‡�×ÑØÐ.Ð4Lð ó ñ
óð
ñ &Ó'ö)Ø©7°3Ð8OÕ+P‚Cò)Ð %ð
 ‡�×ÑØÐ6Ð<Tð ó ñAóðAð
 ‡�×ÑØ‘Ñ(Ó*Ó+Ð1Ið ó ñ,óð,ñ Ù	Ù˜=Ó)á™.Ó*©L«NÓ;Ù¨Ô.Ù°,Ô?ð	
óó	Ð ð ‡�×ÑØÐ+Ð1Ið ó ñPóðPð ‡�×ÑØÐ+Ð1Ið ó ð ‡�×ÑØà)Ø,Ø)Ø0ð	óñ	@óóð	@ð ‡�×ÑØÑ#Ó%Ð+Cð ó ñ4óð4ñ0 &Ó'ö'ØÑ+<¸SÀ/Õ+R‚Cò'Ð #ð
 ‡�×ÑØÐ4Ð:Rð ó ñ9óñ9ùòEùò()ùòL's   ÈOÉOÉ%OÎOÎ"O