Ë
    êÿæi-3  ã                   óè  — 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 e	jp                  jr                  d„ «       Z:dAd„Z; G d„ de«      Z<e	jp                  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$„ «       Z> e7 e? e%«       «      e$¬%«      d&„ «       Z@e	jp                  jƒ                  d'«      e	jp                  jr                  d(„ «       «       ZBd)„ ZCe	jp                  jr                  d*„ «       ZDd+„ ZEd,„ ZF e? e e%«        e ed¬«      «      g eF«       «      «      ZGe	jp                  j{                  d-eGe#¬.«      d/„ «       ZHd0d1gZId2„ ZJ e%d3«      D � cg c]  }  eJ| «      r| ‘Œ c} ZKe	jp                  j{                  d3eKe#¬.«      d4„ «       ZL e%«       D � cg c]  }  eM| d5«      sŒ| ‘Œ c} ZNe	jp                  j{                  d6eNe#¬.«      d7„ «       ZOe	jp                  j{                  d6 e? e%«       «      e#¬.«      d8„ «       ZP e? e e%d3«       e e«        e«       «       ed9¬:«       ed;¬<«      g«      «      ZQe	jp                  j{                  d-eQe#¬.«      d=„ «       ZRe	jp                  j{                  d-eQe#¬.«      e	jp                  j{                  d>e3e.e4e/g«      d?„ «       «       ZSe	jp                  j{                  d6 e%«       e#¬.«      d@„ «       ZTyc c} w c c} w )Bz.
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_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_checksc                  ó–   — 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/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sklearn/tests/test_common.pyÚ test_all_estimator_no_base_classr/   @   sG   € ô *Ö+‰ˆˆiàRß
‰&�‹,ð 	ð —:‘:“<×*Ñ*¨6Õ2Ð7°CÓ7Ð2ñ	 ,ó    é   c                  ó   — y ©N© )ÚxÚys     r.   Ú_sample_funcr7   J   s   € Ør0   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 r3   r4   )Úselfs    r.   Ú__call__zCallableEstimator.__call__T   s   € Ør0   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r<   r4   r0   r.   r9   r9   N   s   „ ñó
r0   r9   zval, expected)r6   z_sample_func(y=1)r7   Ú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 r3   )r   )ÚvalÚexpecteds     r.   Útest_get_check_estimator_idsrK   X   s   € ô. $ CÓ(¨HÒ4Ð4Ñ4r0   )Ú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      r.   Útest_estimatorsrV   r   s3   € ô
 
ÜÔ!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 r3   r4   ©Ú_s    r.   Ú<lambda>z-test_import_all_consistency.<locals>.<lambda>‡   s   € Àr0   )ÚpathÚprefixÚonerrorÚsklearnz.tests.zsklearn.externalszsklearn._build_utilsÚdummy)ÚfromlistÚ__all__r4   z#Module '{0}' has no attribute '{1}')Úosr]   Údirnamer`   Ú__file__ÚpkgutilÚwalk_packagesÚ
__import__ÚgetattrÚhasattrr(   )Úsklearn_pathÚpkgsr[   ÚmodnameÚsubmodsÚpackager+   s          r.   Útest_import_all_consistencyrq   }   sÑ   € ô —G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€Lô × Ñ Ø *±nô€Dñ -1Ô1©D™=˜1˜g qŠw¨D€GÑ1Ø˜i˜[Ô(ˆØ˜ÑÐ#6¸'Ñ#AØà! WÑ,ØÜ˜W¨wÔ7ˆÜ˜G Y°Ö3ˆDÜ˜7 DÕ)ð Ð+P×+WÑ+WØ˜ó,ó Ð)ñ 4ñ )ùó 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 r3   r4   rZ   s    r.   r\   z3test_root_import_all_completeness.<locals>.<lambda>›   s   € ¨Tr0   )r]   r_   Ú.r[   )	rd   r]   re   r`   rf   rg   rh   r*   rc   )rl   Ú
EXCEPTIONSr[   rn   s       r.   Ú!test_root_import_all_completenessry   —   st   € Ü—G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€LØ7€JÜ ×.Ñ.Ø¡>÷‰ˆˆ7�Að �'‰>˜W×/Ñ/°Ô4¸À:Ñ8MØØœ'Ÿ/™/Ò)Ð)Ð)ñr0   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.imagesrX   )r^   z.testszn{0} do not have `tests` subpackages. Perhaps they require __init__.py or a meson.build in the parent directory)ÚreÚcompilerd   r]   re   r`   rf   rg   rh   ÚitemsÚsearchr(   )ÚHAS_TESTS_EXCEPTIONSÚresource_modulesrl   r[   r+   ÚispkgÚlookupÚmissing_testss           r.   Útest_all_tests_are_importabler‡   ¢   sú   € ô
 Ÿ:™:ð	óÐòÐô
 —G‘G—O‘O¤G×$4Ñ$4Ó5Ð6€Lô &×3Ñ3°LÈÕTõáT‰NˆAˆt�Uð 	ˆe‰ØTð ò ð "Ÿ<™<œ>ôá)‰KˆD�%ÙØÐ(Ñ(Ø$×+Ñ+¨DÔ1Ø�8‰O 6Ñ)ò 	Ø)ð ñ ð ˜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    r.   Útest_class_support_removedrŽ   É   s\   € ð E€CÜ	�‰”y¨Ö	,ÜÔ*Ô+÷ 
-ô 
�‰”y¨Ö	,ÜÔ!3Ð 4Ô5÷ 
-Ð	,÷ 
-Ð	,ú÷ 
-Ð	,ú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_stoppingr1   )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)rS   Ú
est_paramsÚests      r.   Ú_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_consistencyrO   T)Úrecordz was fitted without feature names)Ú
isinstancer   rŠ   Úskipr   r   r   r   rQ   ÚwarningsÚcatch_warningsrš   r=   ÚstrÚmessage)r¡   rS   r¤   Úwarnings       r.   Ú#test_pandas_column_name_consistencyr¬   ó   sË   € ô �.Ô"3Ô4Ü�‰Ð:Ô;Ø1Ô5PØó6ñ ô 	�‰ØQô	
ô 0Ü0°.öˆ	ô ¤}Ö6Ü×(Ñ(°Õ5¸Ü8Ø×'Ñ'×0Ñ0°)ô÷ 6ó "�Ø9ÄÀWÇ_Á_ÓAUÒUÐUÐUñ "÷ 7Ð6ñ÷ 6Ð5ú÷ 7Ð6ú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_outTrw   r1   )rk   r>   ÚsplitÚ"GET_FEATURES_OUT_MODULES_TO_IGNORE)ÚtransformerÚmodules     r.   Ú'_include_in_get_feature_names_out_checkrµ     s7   € Üˆ{Ð3Ô4ØØ×#Ñ#×)Ñ)¨#Ó.¨qÑ1€FØÔ;Ð;Ð;r0   r³   c                 óÎ   — t        t        ¬«      5  t        | j                  j                  | «       t        | j                  j                  | «       d d d «       y # 1 sw Y   y xY wrN   )r   rQ   r#   rš   r=   r$   )r³   s    r.   Ú'test_transformers_get_feature_names_outr·   !  sL   € ô 
¤=Ö	2Ü/Ø×!Ñ!×*Ñ*¨Kô	
ô 	7Ø×!Ñ!×*Ñ*¨Kô	
÷	 
3×	2Ñ	2ús   ‘AAÁA$r°   rS   c                 óH   — | j                   j                  }t        || «       y r3   )rš   r=   r   )rS   Úestimator_names     r.   Ú+test_estimators_get_feature_names_out_errorrº   3  s   € ð ×(Ñ(×1Ñ1€NÜ% n°iÕ@r0   c                 ó’   — t        | t        «      rt        j                  d«       | j                  j
                  }t        || «       y )NzFeatureUnion is not tested here)r¥   r   rŠ   r¦   rš   r=   r   ©rS   r+   s     r.   Útest_check_param_validationr½   ;  s6   € ô �)œ\Ô*Ü�‰Ð5Ô6Ø×Ñ×'Ñ'€DÜ˜4 Õ+r0   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 APIrO   )	rš   r=   rk   rŠ   r¦   r   r    r   rQ   )r¡   r+   rS   s      r.   Útest_set_output_transformrÂ   Q  sƒ   € ð ×#Ñ#×,Ñ,€DÜ�> <Ô0Ü�‰Ø6°t°fð =ð ô	
ô 0Ü" Nöˆ	ô ¤}Ö6Ü& y×':Ñ':×'CÑ'CÀYÔO÷ 7Ð6ñ÷ 7Ð6ú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 yetrO   )rš   r=   rk   rŠ   r¦   r   r   rQ   )r¡   rÃ   r+   rS   s       r.   Ú$test_set_output_transform_configuredrÅ   b  sŠ   € ð ×#Ñ#×,Ñ,€DÜ�> <Ô0Ü�‰Ø˜
×+Ñ+Ð,¨E°$°ð 8"ð "ô	
ô 0°
¸NÖKˆ	Ü¤}Ö6Ù�y×*Ñ*×3Ñ3°YÔ?÷ 7Ð6ñ Lß6Ð6ú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=   rk   r™   r   r   r¼   s     r.   Ú#test_check_inplace_ensure_writeablerÓ   z  s¶   € ð ×Ñ×'Ñ'€Däˆy˜&Ô!Ø×Ñ %ÐÕ(Ü	�˜HÔ	%Ø×Ñ EÐÕ*ä˜$˜Ð@ÐAÓBÐBð ˆyÒØ×Ñ M¸WÐÔEàˆu‚}Ø×Ñ¨ÐÔ/àˆ{ÒØ×Ñ MÐÔ2ä" 4¨Õ3r0   )r1   )Ur@   rd   rg   r~   r§   Ú	functoolsr   Ú	itertoolsr   rŠ   Úscipy.linalgr   r`   Ú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œ   Úthread_unsafer/   r7   r9   ÚparametrizerK   ÚlistrV   Úfilterwarningsrq   ry   r‡   rŽ   r    Úcolumn_name_estimatorsr¬   r²   rµ   ÚGET_FEATURES_OUT_ESTIMATORSr·   rk   Ú%ESTIMATORS_WITH_GET_FEATURE_NAMES_OUTrº   r½   ÚSET_OUTPUT_ESTIMATORSrÂ   rÅ   rÓ   )rŸ   s   0r.   Ú<module>rê      s=  ðñó 
Û Û 	Û Ý Ý ã Ý &ã Ý &Ý -Ý 1÷õ 4ß 8÷ó õ )÷ó ÷÷÷ ÷ õ ð" ‡�×Ññ8ó ð8ó	ô˜ô ð ‡�×ÑØá	� Ô	#Ð%8Ð9Ø	�~Ð&Ù	�˜wÓ	'¨Ð8Ù	˜cÔ	"Ð$?Ð@áØØ"Ø'Øô	ð6ð	
ñ 
Ó	Ð3Ð4ð#óñ,5ó-ð,5ñ ÙÑ	Ó	ÓÐ7Rôñóðð ‡�×Ñð,óð ‡�×Ññó ó	ð
ò**ð ‡�×Ññ#ó ð#òL	6ò;ñ* Ù	ÙÓÙ	Ñ)¨AÔ.Ó	/Ð0Ù'Ó)óóÐ ð ‡�×ÑØÐ,Ð2Jð ó ñVóðVð0 Øð&Ð "ò<ñ " -Ô0óá0ˆÙ.¨sÔ3ò Ø0ñÐ ð ‡�×ÑØÐ.Ð4Lð ó ñ
óð
ñ &Ô'ó)Ù'ˆC©7°3Ð8OÕ+P‚CÐ'ñ)Ð %ð
 ‡�×ÑØÐ6Ð<Tð ó ñAóðAð
 ‡�×ÑØ‘Ñ(Ó*Ó+Ð1Ið ó ñ,óð,ñ Ù	Ù˜=Ó)á™.Ó*©L«NÓ;Ù¨Ô.Ù°,Ô?ð	
óó	Ð ð ‡�×ÑØÐ+Ð1Ið ó ñPóðPð ‡�×ÑØÐ+Ð1Ið ó ð ‡�×ÑØà)Ø,Ø)Ø0ð	óñ	@óóð	@ð ‡�×ÑØÑ#Ó%Ð+Cð ó ñ4óñ4ùòGùò()s   Ç4M*È5M/ÉM/