§
    rŠtj?  ã                   ód  — d dl Z d dlmZ d dlZd dl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mZmZmZmZmZmZ d dlmZ d„ Zd	„ Zej                             d
e¦  «        d„ ¦   «         Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Zd„ Z  G d„ de¦  «        Z!d„ Z"d„ Z#ej                             dddg¦  «        d„ ¦   «         Z$d„ Z%ej                             dddg¦  «        d„ ¦   «         Z& G d„ ded¬ ¦  «        Z'd!„ Z(d"„ Z) G d#„ d$¦  «        Z*d%„ Z+d&„ Z, G d'„ d(e¦  «        Z-d)„ Z. G d*„ d+e¦  «        Z/d,„ Z0 G d-„ d.e¦  «        Z1ej                             dddg¦  «        d/„ ¦   «         Z2ej                             d0 e3ej4        ¦  «        ¦  «        d1„ ¦   «         Z5d2„ Z6d3„ Z7dS )4é    N)Ú
namedtuple)Úassert_array_equal)Úconfig_contextÚ
get_config)ÚStandardScaler)ÚADAPTERS_MANAGERÚContainerAdapterProtocolÚ_get_adapter_from_containerÚ_get_output_configÚ_safe_set_outputÚ_SetOutputMixinÚ_wrap_data_with_containerÚcheck_library_installed)ÚCSR_CONTAINERSc                  óz  ‡— t          j        d¦  «        } t          j        g d¢g d¢g¦  «        }t          j        g d¢t          ¬¦  «        Št          j        ddg¦  «        }|                      ddgddgg|¬	¦  «        }|                      ddg|¬	¦  «        }t          j        d         }| 	                    ||ˆfd
„¬¦  «        }t          || j        ¦  «        sJ ‚t          |j        ‰¦  «         t          |j        |¦  «         | 	                    ||ˆfd„¬¦  «        }t          || j        ¦  «        sJ ‚t          |j        ‰¦  «         t          |j        |¦  «         t          j        ddgt          ¬¦  «        }|                      ddgddggddg¬	¦  «        }| 	                    |||¬¦  «        }	t          |	j        |¦  «         t          |	j        |j        ¦  «         |                     |¦  «        sJ ‚|                     |¦  «        rJ ‚t          j        ddgt          ¬¦  «        }|                     ||¦  «        }	t          |	j        |¦  «         |                      g d¢g d¢gg d¢¬¦  «        }
|                      dgdggdg¬¦  «        }|                     |
|g¦  «        }|                      g d¢g d¢gg d¢¬¦  «        }| j                             ||¦  «         |                      ddgddggddg¬¦  «        }t          j        ddgt          ¬¦  «        }|                     ||¦  «        }	t          |	j        |¦  «         |                      ddgddgg|¬	¦  «        }| 	                    ||ddgd¬¦  «        }||usJ ‚t)          |j        ¦  «        d dgk    sJ ‚t)          |j        ¦  «        ddgk    sJ ‚|                      ddgddgg|¬	¦  «        }| 	                    ||ddgd!¬¦  «        }||u sJ ‚t)          |j        ¦  «        ddgk    sJ ‚t)          |j        ¦  «        ddgk    sJ ‚d"S )#z+Check pandas adapter has expected behavior.Úpandas©é   r   é   ©r   r   r   )Úf0Úf1Úf2©Údtyper   é   r   ©Úindexc                  ó   •— ‰ S ©N© ©Úcolumnss   €úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_set_output.pyú<lambda>z%test_pandas_adapter.<locals>.<lambda>!   ó   ø€ ÈG€ ó    r"   c                  ó   •— ‰ S r    r!   r"   s   €r$   r%   z%test_pandas_adapter.<locals>.<lambda>'   s   ø€ ÈW€ r'   r   r   é
   é   ÚaÚc©r   r   é   ©r   é   é   ©r+   ÚbÚer0   r.   ©r   r   r.   r0   ©r   r0   r1   r.   ©r+   r3   r4   r,   Úx__aÚy__ar3   F©r#   Úinplacer   TN)ÚpytestÚimportorskipÚnpÚasarrayÚobjectÚ	DataFrameÚSeriesr   ÚadaptersÚcreate_containerÚ
isinstancer   r#   r   Úis_supported_containerÚarrayÚrename_columnsÚhstackÚtestingÚassert_frame_equalÚlist)ÚpdÚX_npr   Ú	X_df_origÚ
X_ser_origÚadapterÚX_containerÚnew_columnsÚX_dfÚnew_dfÚX_df_1ÚX_df_2Ú	X_stackedÚexpected_dfÚX_outputr#   s                  @r$   Útest_pandas_adapterr[      s˜  ø€ å	Ô	˜XÑ	&Ô	&€BÝŒ:�y�y�y ) ) )Ð,Ñ-Ô-€DÝŒjÐ+Ð+Ð+µ6Ð:Ñ:Ô:€GÝŒJ˜˜1�vÑÔ€EØ—’˜q !˜f q¨! fÐ-°U�Ñ;Ô;€IØ—’˜A˜q˜6¨�Ñ/Ô/€JåÔ'¨Ô1€GØ×*Ò*¨4°ÀOÀOÀOÀOÐ*ÑTÔT€KÝ�k 2¤<Ñ0Ô0Ð0Ð0Ð0Ý�{Ô*¨GÑ4Ô4Ð4Ý�{Ô(¨%Ñ0Ô0Ð0ð ×*Ò*¨4°À_À_À_À_Ð*ÑUÔU€KÝ�k 2¤<Ñ0Ô0Ð0Ð0Ð0Ý�{Ô*¨GÑ4Ô4Ð4Ý�{Ô(¨%Ñ0Ô0Ð0õ ”*˜d D˜\µÐ8Ñ8Ô8€KØ�<Š<˜!˜Q˜ ! Q Ð(°°R°ˆ<Ñ9Ô9€DØ×%Ò% d¨I¸{Ð%ÑKÔK€FÝ�v”~ {Ñ3Ô3Ð3Ý�v”| T¤ZÑ0Ô0Ð0à×)Ò)¨$Ñ/Ô/Ð/Ð/Ð/Ø×-Ò-¨dÑ3Ô3Ð3Ð3Ð3õ ”(˜C ˜:­VÐ4Ñ4Ô4€KØ×#Ò# D¨+Ñ6Ô6€FÝ�v”~ {Ñ3Ô3Ð3ð �\Š\˜9˜9˜9 i i iÐ0¸/¸/¸/ˆ\ÑJÔJ€FØ�\Š\˜A˜3  ˜*¨s¨eˆ\Ñ4Ô4€FØ—’ ¨Ð/Ñ0Ô0€Ià—,’,Ø	ˆˆ�|�|�|Ð$Ð.BÐ.BÐ.Bð ñ ô €Kð „J×!Ò! )¨[Ñ9Ô9Ð9ð
 �<Š<˜!˜Q˜ ! Q Ð(°3¸°*ˆ<Ñ=Ô=€DÝ”(˜F FÐ+µ6Ð:Ñ:Ô:€KØ×#Ò# D¨+Ñ6Ô6€FÝ�v”~ {Ñ3Ô3Ð3ð �<Š<˜!˜Q˜ ! Q Ð(°ˆ<Ñ6Ô6€DØ×'Ò'¨¨d¸SÀ#¸JÐPUÐ'ÑVÔV€HØ˜4ÐÐÐÐÝ�”ÑÔ ! Q Ò'Ð'Ð'Ð'Ý�Ô Ñ!Ô! c¨3 ZÒ/Ð/Ð/Ð/ð �<Š<˜!˜Q˜ ! Q Ð(°ˆ<Ñ6Ô6€DØ×'Ò'¨¨d¸SÀ#¸JÐPTÐ'ÑUÔU€HØ�tÐÐÐÐÝ�”ÑÔ # s Ò+Ð+Ð+Ð+Ý�Ô Ñ!Ô! c¨3 ZÒ/Ð/Ð/Ð/Ð/Ð/r'   c                  ó¾  ‡— t          j        d¦  «        } t          j        g d¢g d¢g¦  «        }g d¢Š|                      |‰d¬¦  «        }t
          j        d         }|                     ||ˆfd„¬¦  «        }t          || j        ¦  «        sJ ‚t          |j
        ‰¦  «         t          j        g d	¢t          ¬
¦  «        }|                     |||¬¦  «        }t          |j
        |¦  «         |                     |¦  «        sJ ‚|                     |¦  «        rJ ‚t          j        g d¢t          ¬
¦  «        }|                     ||¦  «        }t          |j
        |¦  «         |                      g d¢g d¢gg d¢d¬¦  «        }|                      dgdggdgd¬¦  «        }|                     ||g¦  «        }	|                      g d¢g d¢gg d¢d¬¦  «        }
ddlm}  ||	|
¦  «         |                      ddgddggddgd¬¦  «        }|                     ||ddgd¬¦  «        }||usJ ‚t%          |j
        ¦  «        ddgk    sJ ‚t%          |j
        ¦  «        ddgk    sJ ‚|                      ddgddggddgd¬¦  «        }|                     ||ddgd¬¦  «        }||u sJ ‚t%          |j
        ¦  «        ddgk    sJ ‚t%          |j
        ¦  «        ddgk    sJ ‚d S )!z+Check Polars adapter has expected behavior.Úpolarsr   r   )r   r   Úf3Úrow)ÚschemaÚorientc                  ó   •— ‰ S r    r!   r"   s   €r$   r%   z%test_polars_adapter.<locals>.<lambda>e   r&   r'   r"   )r+   r3   r,   r   )r+   r,   Úgr-   r/   r2   r0   r.   r,   r5   r6   r7   r   )rK   r   r   r   r+   r3   ÚdFr:   TN)r<   r=   r>   rG   rA   r   rC   rD   rE   r   r#   r?   r@   rF   rH   rI   Úpolars.testingrK   rL   )ÚplrN   rO   rQ   rR   rS   rU   rV   rW   rX   rY   rK   rT   rZ   r#   s                 @r$   Útest_polars_adapterrg   ]   s\  ø€ å	Ô	˜XÑ	&Ô	&€BÝŒ8�Y�Y�Y 	 	 	Ð*Ñ+Ô+€DØ Ð Ð €GØ—’˜T¨'¸%�Ñ@Ô@€IåÔ'¨Ô1€GØ×*Ò*¨4°ÀOÀOÀOÀOÐ*ÑTÔT€Kå�k 2¤<Ñ0Ô0Ð0Ð0Ð0Ý�{Ô*¨GÑ4Ô4Ð4õ ”*˜_˜_˜_µFÐ;Ñ;Ô;€KØ×%Ò% i°ÀKÐ%ÑPÔP€FÝ�v”~ {Ñ3Ô3Ð3à×)Ò)¨)Ñ4Ô4Ð4Ð4Ð4Ø×-Ò-¨dÑ3Ô3Ð3Ð3Ð3õ ”(˜?˜?˜?µ&Ð9Ñ9Ô9€KØ×#Ò# I¨{Ñ;Ô;€FÝ�v”~ {Ñ3Ô3Ð3ð �\Š\˜9˜9˜9 i i iÐ0¸¸¸ÐQVˆ\ÑWÔW€FØ�\Š\˜A˜3  ˜*¨c¨U¸5ˆ\ÑAÔA€FØ—’ ¨Ð/Ñ0Ô0€Ià—,’,Ø	ˆˆ�|�|�|Ð$Ð-AÐ-AÐ-AÈ%ð ñ ô €Kð 2Ð1Ð1Ð1Ð1Ð1àÐ�y +Ñ.Ô.Ð.ð �<Š<˜!˜Q˜ ! Q Ð(°#°s°ÀEˆ<ÑJÔJ€DØ×'Ò'¨¨d¸SÀ#¸JÐPUÐ'ÑVÔV€HØ˜4ÐÐÐÐÝ�”ÑÔ # s Ò+Ð+Ð+Ð+Ý�Ô Ñ!Ô! c¨3 ZÒ/Ð/Ð/Ð/ð �<Š<˜!˜Q˜ ! Q Ð(°#°s°ÀEˆ<ÑJÔJ€DØ×'Ò'¨¨d¸SÀ#¸JÐPTÐ'ÑUÔU€HØ�tÐÐÐÐÝ�”ÑÔ # s Ò+Ð+Ð+Ð+Ý�Ô Ñ!Ô! c¨3 ZÒ/Ð/Ð/Ð/Ð/Ð/r'   Úcsr_containerc           	      óH  — t          j        g d¢g d¢g¦  «        } | |¦  «        }d}t          d¬¦  «        5  t          j        t
          |¬¦  «        5  t          d||t          ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )	z*Check errors in _wrap_data_with_container.r   r   z.The transformer outputs a scipy sparse matrix.r   ©Útransform_output©ÚmatchÚ	transformN)r>   r?   r   r<   ÚraisesÚ
ValueErrorr   r   )rh   ÚXÚX_csrrm   s       r$   Ú test__container_error_validationrs   “   sR  € õ 	Œ
�I�I�I˜y˜y˜yÐ)Ñ*Ô*€AØˆM˜!ÑÔ€EØ<€EÝ	¨Ð	2Ñ	2Ô	2ð Oð OÝŒ]�:¨UÐ3Ñ3Ô3ð 	Oð 	OÝ% k°5¸!½^Ñ=MÔ=MÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	OðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os5   ¸BÁA?Á3BÁ?B	ÂBÂB	ÂBÂBÂBc                   ó   — e Zd ZdS )Ú,EstimatorWithoutSetOutputAndWithoutTransformN©Ú__name__Ú
__module__Ú__qualname__r!   r'   r$   ru   ru   ž   s   € € € € € Ø€Dr'   ru   c                   ó   — e Zd Zdd„ZdS )Ú!EstimatorNoSetOutputWithTransformNc                 ó   — |S r    r!   ©Úselfrq   Úys      r$   rn   z+EstimatorNoSetOutputWithTransform.transform£   ó   € Øˆr'   r    ©rw   rx   ry   rn   r!   r'   r$   r{   r{   ¢   ó(   € € € € € ðð ð ð ð ð r'   r{   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚEstimatorWithSetOutputNc                 ó*   — |j         d         | _        | S ©Nr   ©ÚshapeÚn_features_in_r}   s      r$   ÚfitzEstimatorWithSetOutput.fit¨   ó   € Øœg aœjˆÔØˆr'   c                 ó   — |S r    r!   r}   s      r$   rn   z EstimatorWithSetOutput.transform¬   r€   r'   c                 óp   — t          j        d„ t          | j        ¦  «        D ¦   «         t          ¬¦  «        S )Nc                 ó   — g | ]}d |› �‘ŒS ©rq   r!   ©Ú.0Úis     r$   ú
<listcomp>z@EstimatorWithSetOutput.get_feature_names_out.<locals>.<listcomp>°   ó   € ÐGÐGÐG q˜7˜q˜7˜7ÐGÐGÐGr'   r   ©r>   r?   Úranger‰   r@   ©r~   Úinput_featuress     r$   Úget_feature_names_outz,EstimatorWithSetOutput.get_feature_names_out¯   ó1   € ÝŒzÐGÐG­E°$Ô2EÑ,FÔ,FÐGÑGÔGÍvÐVÑVÔVÐVr'   r    ©rw   rx   ry   rŠ   rn   r™   r!   r'   r$   r„   r„   §   sV   € € € € € ðð ð ð ðð ð ð ðWð Wð Wð Wð Wð Wr'   r„   c                  ón  — t          ¦   «         } t          | d¬¦  «         t          ¦   «         } t          j        t
          d¬¦  «        5  t          | d¬¦  «         ddd¦  «         n# 1 swxY w Y   t          ¦   «                              t          j	        g d¢g¦  «        ¦  «        } t          | d¬¦  «         t          d| ¦  «        }|d         dk    sJ ‚t          | d	¬¦  «         t          d| ¦  «        }|d         d	k    sJ ‚t          | d¬¦  «         t          d| ¦  «        }|d         d	k    sJ ‚dS )
z)Check _safe_set_output works as expected.r   ©rn   zUnable to configure outputrl   N©r   r   r   rn   ÚdenseÚdefault)ru   r   r{   r<   ro   rp   r„   rŠ   r>   r?   r   )ÚestÚconfigs     r$   Útest__safe_set_outputr£   ³   s…  € õ 7Ñ
8Ô
8€CÝ�S HÐ-Ñ-Ô-Ð-õ ,Ñ
-Ô
-€CÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð 2ð 2Ý˜¨Ð1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ !Ñ
"Ô
"×
&Ò
&¥r¤z°9°9°9°+Ñ'>Ô'>Ñ
?Ô
?€CÝ�S HÐ-Ñ-Ô-Ð-Ý ¨SÑ1Ô1€FØ�'Œ?˜hÒ&Ð&Ð&Ð&å�S IÐ.Ñ.Ô.Ð.Ý ¨SÑ1Ô1€FØ�'Œ?˜iÒ'Ð'Ð'Ð'õ �S DÐ)Ñ)Ô)Ð)Ý ¨SÑ1Ô1€FØ�'Œ?˜iÒ'Ð'Ð'Ð'Ð'Ð's   Á	A'Á'A+Á.A+c                   ó   — e Zd Zdd„ZdS )Ú2EstimatorNoSetOutputWithTransformNoFeatureNamesOutNc                 ó   — |S r    r!   r}   s      r$   rn   z<EstimatorNoSetOutputWithTransformNoFeatureNamesOut.transformÏ   r€   r'   r    r�   r!   r'   r$   r¥   r¥   Î   r‚   r'   r¥   c                  óF   — t          ¦   «         } t          | d¦  «        rJ ‚dS )zEEstimator without get_feature_names_out does not define `set_output`.Ú
set_outputN)r¥   Úhasattr)r¡   s    r$   Útest_set_output_mixinrª   Ó   s)   € å
<Ñ
>Ô
>€CÝ�s˜LÑ)Ô)Ð)Ð)Ð)Ð)Ð)r'   c                  ó  — t          j        g d¢g d¢g¦  «        } t          ¦   «         }t          |d¬¦  «         d}t	          j        t          |¬¦  «        5  |                     | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z$Check transform with invalid config.r   r   Úbadr�   úoutput config must be inrl   N)r>   r?   r„   r   r<   ro   rp   rn   ©rq   r¡   Úmsgs      r$   Útest__safe_set_output_errorr°   Ù   sÌ   € å
Œ
�I�I�I˜y˜y˜yÐ)Ñ*Ô*€Aå
 Ñ
"Ô
"€CÝ�S EÐ*Ñ*Ô*Ð*à
$€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA:Á:A>ÂA>Údataframe_libr   r]   c                 óÂ  — t          j        | ¦  «        }t          j        g d¢g d¢g¦  «        }t	          ¦   «                              |¦  «        }|                     d¬¦  «        }||u sJ ‚|                     |¦  «        }t          |t          j	        ¦  «        sJ ‚|                     | ¬¦  «         |                     |¦  «        }t          ||j
        ¦  «        sJ ‚dS )z%Check that the output is a dataframe.r   r   Nr�   )r<   r=   r>   r?   r„   rŠ   r¨   rn   rE   ÚndarrayrA   )r±   Úlibrq   r¡   Úest2Ú
X_trans_npÚ
X_trans_pds          r$   Útest_set_output_methodr¸   å   s×   € õ Ô
˜mÑ
,Ô
,€Cå
Œ
�I�I�I˜y˜y˜yÐ)Ñ*Ô*€AÝ
 Ñ
"Ô
"×
&Ò
& qÑ
)Ô
)€Cð �>Š> Dˆ>Ñ)Ô)€DØ�3ˆ;ˆ;ˆ;ˆ;Ø—’ Ñ"Ô"€JÝ�j¥"¤*Ñ-Ô-Ð-Ð-Ð-à‡N‚N˜]€NÑ+Ô+Ð+à—’˜qÑ!Ô!€Jå�j #¤-Ñ0Ô0Ð0Ð0Ð0Ð0Ð0r'   c                  ó>  — t          j        g d¢g d¢g¦  «        } t          ¦   «                              | ¦  «        }|                     d¬¦  «         d}t          j        t          |¬¦  «        5  |                     | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z-Check transform fails with invalid transform.r   r   r¬   r�   r­   rl   N)	r>   r?   r„   rŠ   r¨   r<   ro   rp   rn   r®   s      r$   Útest_set_output_method_errorrº   ú   sÝ   € õ 	Œ
�I�I�I˜y˜y˜yÐ)Ñ*Ô*€AÝ
 Ñ
"Ô
"×
&Ò
& qÑ
)Ô
)€CØ‡N‚N˜U€NÑ#Ô#Ð#à
$€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á/BÂBÂBrk   c                 ót  — t          ¦   «         d         }t          d¦  «        }|d         |k    sJ ‚t          | ¬¦  «        5  t          d¦  «        }|d         | k    sJ ‚t          ¦   «         }t          d|¦  «        }|d         | k    sJ ‚t	          ¦   «         }t          d|¦  «        }|d         | k    sJ ‚|                     d¬¦  «         t          d|¦  «        }|d         dk    sJ ‚	 ddd¦  «         n# 1 swxY w Y   |                     | ¬¦  «         t          d|¦  «        }|d         | k    sJ ‚dS )z+Check _get_output_config works as expected.rk   rn   rŸ   rj   r    r�   N)r   r   r   r{   r„   r¨   )rk   Úglobal_configr¢   r¡   s       r$   Útest__get_output_configr½     sž  € õ
 ‘L”LÐ!3Ô4€MÝ Ñ,Ô,€FØ�'Œ?˜mÒ+Ð+Ð+Ð+å	Ð)9Ð	:Ñ	:Ô	:ð ,ð ,å# KÑ0Ô0ˆØ�gŒÐ"2Ò2Ð2Ð2Ð2å/Ñ1Ô1ˆÝ# K°Ñ5Ô5ˆØ�gŒÐ"2Ò2Ð2Ð2Ð2å$Ñ&Ô&ˆå# K°Ñ5Ô5ˆØ�gŒÐ"2Ò2Ð2Ð2Ð2ð 	�Š ˆÑ+Ô+Ð+Ý# K°Ñ5Ô5ˆØ�gŒ )Ò+Ð+Ð+Ð+Ð+ð#,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð& ‡N‚NÐ-€NÑ.Ô.Ð.Ý ¨SÑ1Ô1€FØ�'Œ?Ð.Ò.Ð.Ð.Ð.Ð.Ð.s   ÁB*C9Ã9C=Ä C=c                   ó   — e Zd Zdd„ZdS )Ú EstimatorWithSetOutputNoAutoWrapNc                 ó   — |S r    r!   r}   s      r$   rn   z*EstimatorWithSetOutputNoAutoWrap.transform(  r€   r'   r    r�   r!   r'   r$   r¿   r¿   '  r‚   r'   r¿   ©Úauto_wrap_output_keysc                  ó¬   — t          ¦   «         } t          | d¦  «        rJ ‚t          j        g d¢g d¢g¦  «        }||                      |¦  «        u sJ ‚dS )z4Check that auto_wrap_output_keys=None does not wrap.r¨   r   r   N)r¿   r©   r>   r?   rn   )r¡   rq   s     r$   Útest_get_output_auto_wrap_falserÄ   ,  sb   € å
*Ñ
,Ô
,€CÝ�s˜LÑ)Ô)Ð)Ð)Ð)å
Œ
�I�I�I˜y˜y˜yÐ)Ñ*Ô*€AØ�—’˜aÑ Ô Ð Ð Ð Ð Ð Ð r'   c                  óœ   — d} t          j        t          | ¬¦  «        5   G d„ dt          d¬¦  «        }d d d ¦  «         d S # 1 swxY w Y   d S )Nz6auto_wrap_output_keys must be None or a tuple of keys.rl   c                   ó   — e Zd ZdS )úLtest_auto_wrap_output_keys_errors_with_incorrect_input.<locals>.BadEstimatorNrv   r!   r'   r$   ÚBadEstimatorrÇ   9  s   € € € € € ØˆDr'   rÈ   Úbad_parameterrÁ   )r<   ro   rp   r   )r¯   rÈ   s     r$   Ú6test_auto_wrap_output_keys_errors_with_incorrect_inputrÊ   5  s±   € Ø
B€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð ð	ð 	ð 	ð 	ð 	�?À/ð 	ñ 	ô 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   žAÁAÁAc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAnotherMixinc                 óH   •—  t          ¦   «         j        di |¤Ž || _        d S )Nr!   )ÚsuperÚ__init_subclass__Úcustom_parameter)ÚclsrÐ   ÚkwargsÚ	__class__s      €r$   rÏ   zAnotherMixin.__init_subclass__>  s.   ø€ Ø!�‰ŒÔ!Ð+Ð+ FÐ+Ð+Ð+Ø/ˆÔÐÐr'   )rw   rx   ry   rÏ   Ú__classcell__)rÓ   s   @r$   rÌ   rÌ   =  s8   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r'   rÌ   c                  óŽ   —  G d„ dt           t          d¬¦  «        }  | ¦   «         }|j        dk    sJ ‚t          |d¦  «        sJ ‚dS )z9Check that multiple init_subclasses passes parameters up.c                   ó   — e Zd Zdd„Zdd„ZdS )ú>test_set_output_mixin_custom_mixin.<locals>.BothMixinEstimatorNc                 ó   — |S r    r!   r}   s      r$   rn   zHtest_set_output_mixin_custom_mixin.<locals>.BothMixinEstimator.transformG  s   € ØˆHr'   c                 ó   — |S r    r!   r—   s     r$   r™   zTtest_set_output_mixin_custom_mixin.<locals>.BothMixinEstimator.get_feature_names_outJ  s   € Ø!Ð!r'   r    )rw   rx   ry   rn   r™   r!   r'   r$   ÚBothMixinEstimatorr×   F  s<   € € € € € ð	ð 	ð 	ð 	ð	"ð 	"ð 	"ð 	"ð 	"ð 	"r'   rÚ   é{   )rÐ   r¨   N)r   rÌ   rÐ   r©   )rÚ   r¡   s     r$   Ú"test_set_output_mixin_custom_mixinrÜ   C  su   € ð"ð "ð "ð "ð "�_­lÈSð "ñ "ô "ð "ð Ð
Ñ
Ô
€CØÔ 3Ò&Ð&Ð&Ð&Ý�3˜Ñ%Ô%Ð%Ð%Ð%Ð%Ð%r'   c                  óÈ   —  G d„ dt           ¦  «        }  G d„ d| ¦  «        } G d„ d| ¦  «        } G d„ d||¦  «        } |¦   «                              d	¦  «        dk    sJ ‚d	S )
zjCheck that multi-inheritance resolves to the correct class method.

    Non-regression test gh-25293.
    c                   ó   — e Zd Zd„ ZdS )ú!test_set_output_mro.<locals>.Basec                 ó   — dS )NÚBaser!   ©r~   rq   s     r$   rn   z+test_set_output_mro.<locals>.Base.transformY  s   € Ø�6r'   Nr�   r!   r'   r$   rá   rß   X  s#   € € € € € ð	ð 	ð 	ð 	ð 	r'   rá   c                   ó   — e Zd ZdS )útest_set_output_mro.<locals>.ANrv   r!   r'   r$   ÚArä   \  ó   € € € € € Øˆr'   rå   c                   ó   — e Zd Zd„ ZdS )útest_set_output_mro.<locals>.Bc                 ó   — dS )NÚBr!   râ   s     r$   rn   z(test_set_output_mro.<locals>.B.transform`  s   € Ø�3r'   Nr�   r!   r'   r$   rê   rè   _  s#   € € € € € ð	ð 	ð 	ð 	ð 	r'   rê   c                   ó   — e Zd ZdS )útest_set_output_mro.<locals>.CNrv   r!   r'   r$   ÚCrì   c  ræ   r'   rí   N)r   rn   )rá   rå   rê   rí   s       r$   Útest_set_output_mrorî   R  s×   € ðð ð ð ð �ñ ô ð ðð ð ð ð ˆDñ ô ð ðð ð ð ð ˆDñ ô ð ðð ð ð ð ˆAˆqñ ô ð ð ˆ1‰3Œ3�=Š=˜ÑÔ #Ò%Ð%Ð%Ð%Ð%Ð%r'   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚEstimatorWithSetOutputIndexNc                 ó*   — |j         d         | _        | S r†   r‡   r}   s      r$   rŠ   zEstimatorWithSetOutputIndex.fitj  r‹   r'   c                 ó    — dd l }|                     |                     ¦   «         d„ t          |j        d         ¦  «        D ¦   «         ¬¦  «        S )Nr   c                 ó   — g | ]}d |› �‘ŒS )Úsr!   r�   s     r$   r“   z9EstimatorWithSetOutputIndex.transform.<locals>.<listcomp>r  s   € Ð0TÐ0TÐ0T¸Q°°Q°°Ð0TÐ0TÐ0Tr'   r   )r   rA   Úto_numpyr–   rˆ   )r~   rq   r   rM   s       r$   rn   z%EstimatorWithSetOutputIndex.transformn  sL   € ØÐÐÐð �|Š|˜AŸJšJ™LœLÐ0TÐ0TÅ%ÈÌÐPQÌ
ÑBSÔBSÐ0TÑ0TÔ0Tˆ|ÑUÔUÐUr'   c                 óp   — t          j        d„ t          | j        ¦  «        D ¦   «         t          ¬¦  «        S )Nc                 ó   — g | ]}d |› �‘ŒS r�   r!   r�   s     r$   r“   zEEstimatorWithSetOutputIndex.get_feature_names_out.<locals>.<listcomp>u  r”   r'   r   r•   r—   s     r$   r™   z1EstimatorWithSetOutputIndex.get_feature_names_outt  rš   r'   r    r›   r!   r'   r$   rð   rð   i  sZ   € € € € € ðð ð ð ðVð Vð Vð VðWð Wð Wð Wð Wð Wr'   rð   c                  ó2  — t          j        d¦  «        } |                      g d¢g d¢gddg¬¦  «        }t          ¦   «                              d¬¦  «        }|                     |¦  «         |                     |¦  «        }t          |j        dd	g¦  «         d
S )zZCheck that set_output does not override index.

    Non-regression test for gh-25730.
    r   rž   )r0   r.   r1   r   r   r   r�   Ús0Ús1N)	r<   r=   rA   rð   r¨   rŠ   rn   r   r   )rM   rq   r¡   ÚX_transs       r$   Ú!test_set_output_pandas_keep_indexrü   x  s’   € õ
 
Ô	˜XÑ	&Ô	&€Bà
�Š�i�i�i   Ð+°A°q°6ˆÑ:Ô:€AÝ
%Ñ
'Ô
'×
2Ò
2¸XÐ
2Ñ
FÔ
F€CØ‡G‚GˆA�J„J€Jà�mŠm˜AÑÔ€GÝ�w”} t¨T lÑ3Ô3Ð3Ð3Ð3r'   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚEstimatorReturnTuplec                 ó   — || _         d S r    ©ÚOutputTuple)r~   r  s     r$   Ú__init__zEstimatorReturnTuple.__init__ˆ  s   € Ø&ˆÔÐÐr'   Nc                 ó4   — |                       |d|z  ¦  «        S )Nr   r   r}   s      r$   rn   zEstimatorReturnTuple.transform‹  s   € Ø×Ò  1 q¡5Ñ)Ô)Ð)r'   r    )rw   rx   ry   r  rn   r!   r'   r$   rþ   rþ   ‡  s7   € € € € € ð'ð 'ð 'ð*ð *ð *ð *ð *ð *r'   rþ   c                  ó  — t          dd¦  «        } t          j        g d¢g¦  «        }t          | ¬¦  «        }|                     |¦  «        }t          || ¦  «        sJ ‚t          |j        |¦  «         t          |j        d|z  ¦  «         dS )z+Check that namedtuples are kept by default.ÚOutputzX, Yrž   r   r   N)	r   r>   r?   rþ   rn   rE   r   rq   ÚY)r  rq   r¡   rû   s       r$   Útest_set_output_named_tuple_outr  �  s‹   € å˜ &Ñ)Ô)€FÝ
Œ
�I�I�I�;ÑÔ€AÝ
¨6Ð
2Ñ
2Ô
2€CØ�mŠm˜AÑÔ€Gå�g˜vÑ&Ô&Ð&Ð&Ð&Ý�w”y !Ñ$Ô$Ð$Ý�w”y ! a¡%Ñ(Ô(Ð(Ð(Ð(r'   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚEstimatorWithListInputNc                 óh   — t          |t          ¦  «        sJ ‚t          |d         ¦  «        | _        | S )Nr   )rE   rL   Úlenr‰   r}   s      r$   rŠ   zEstimatorWithListInput.fitœ  s/   € Ý˜!�TÑ"Ô"Ð"Ð"Ð"Ý! ! A¤$™iœiˆÔØˆr'   c                 ó   — |S r    r!   r}   s      r$   rn   z EstimatorWithListInput.transform¡  r€   r'   c                 óp   — t          j        d„ t          | j        ¦  «        D ¦   «         t          ¬¦  «        S )Nc                 ó   — g | ]}d |› �‘ŒS r�   r!   r�   s     r$   r“   z@EstimatorWithListInput.get_feature_names_out.<locals>.<listcomp>¥  r”   r'   r   r•   r—   s     r$   r™   z,EstimatorWithListInput.get_feature_names_out¤  rš   r'   r    r›   r!   r'   r$   r	  r	  ›  sV   € € € € € ðð ð ð ð
ð ð ð ðWð Wð Wð Wð Wð Wr'   r	  c                 ó2  — t          j        | ¦  «        }g d¢g d¢g}t          ¦   «         }|                     | ¬¦  «         |                     |¦  «                             |¦  «        }t          ||j        ¦  «        sJ ‚t          |j	        g d¢¦  «         dS )zJCheck set_output for list input.

    Non-regression test for #27037.
    )r   r   r   r   )r0   r.   r1   é   r�   )ÚX0ÚX1ÚX2ÚX3N)
r<   r=   r	  r¨   rŠ   rn   rE   rA   r   r#   )r±   r´   rq   r¡   ÚX_outs        r$   Útest_set_output_list_inputr  ¨  s™   € õ Ô
˜mÑ
,Ô
,€Cà	ˆˆ�|�|�|Ð$€AÝ
 Ñ
"Ô
"€CØ‡N‚N˜]€NÑ+Ô+Ð+à�GŠG�A‰JŒJ× Ò  Ñ#Ô#€EÝ�e˜Sœ]Ñ+Ô+Ð+Ð+Ð+Ý�u”}Ð&>Ð&>Ð&>Ñ?Ô?Ð?Ð?Ð?r'   Únamec                 óT   — t          t          j        |          t          ¦  «        sJ ‚dS )z*Check adapters have the correct interface.N)rE   r   rC   r	   )r  s    r$   Ú test_adapter_class_has_interfacer  ¹  s*   € õ Õ&Ô/°Ô5Õ7OÑPÔPÐPÐPÐPÐPÐPr'   c                 óì   ‡— t           j        Šˆfd„}|                      t           d|¦  «         d}t          j        t
          |¬¦  «        5  t          d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zCheck import error changed.c                 óJ   •— | dk    rt          ¦   «         ‚ ‰| d ¬¦  «         d S )Nr   )Úpackage)ÚImportError)r  Úorig_import_modules    €r$   Úpatched_import_modulez;test_check_library_installed.<locals>.patched_import_moduleÃ  s4   ø€ Ø�8ÒÐÝ‘-”-ÐØÐ˜4¨Ð.Ñ.Ô.Ð.Ð.Ð.r'   Úimport_modulez-Setting output container to 'pandas' requiresrl   r   N)Ú	importlibr   Úsetattrr<   ro   r  r   )Úmonkeypatchr  r¯   r  s      @r$   Útest_check_library_installedr$  ¿  sÌ   ø€ å"Ô0Ðð/ð /ð /ð /ð /ð
 ×Ò�	 ?Ð4IÑJÔJÐJà
9€CÝ	Œ•{¨#Ð	.Ñ	.Ô	.ð *ð *Ý Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s   ÁA)Á)A-Á0A-c                  óL  — t          j        d¦  «        } |                      g d¢g d¢dœ¦  «        }t          |¦  «        }|j        dk    sJ ‚d}t          j        t          |¬¦  «        5  t          |                     ¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z4Check the behavior fo `_get_adapter_from_container`.r   rž   )r)   é   éd   )r+   r3   zAThe container does not have a registered adapter in scikit-learn.rl   N)r<   r=   rA   r
   Úcontainer_libro   rp   rõ   )rM   rq   rQ   Úerr_msgs       r$   Útest_get_adapter_from_containerr*  Ï  sè   € å	Ô	˜XÑ	&Ô	&€BØ
�Š˜9˜9˜9¨=¨=¨=Ð9Ð9Ñ:Ô:€AÝ)¨!Ñ,Ô,€GØÔ  HÒ,Ð,Ð,Ð,ØQ€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 2ð 2Ý# A§J¢J¡L¤LÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s   Á*"BÂBÂ B)8r!  Úcollectionsr   Únumpyr>   r<   Únumpy.testingr   Úsklearn._configr   r   Úsklearn.preprocessingr   Úsklearn.utils._set_outputr   r	   r
   r   r   r   r   r   Úsklearn.utils.fixesr   r[   rg   ÚmarkÚparametrizers   ru   r{   r„   r£   r¥   rª   r°   r¸   rº   r½   r¿   rÄ   rÊ   rÌ   rÜ   rî   rð   rü   rþ   r  r	  r  ÚsortedrC   r  r$  r*  r!   r'   r$   ú<module>r5     sr  ðØ Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð /Ð .Ð .Ð .Ð .Ð .ðC0ð C0ð C0ðL30ð 30ð 30ðl „×Ò˜¨.Ñ9Ô9ðOð Oñ :Ô9ðOð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðð ð ð ð ñ ô ð ð
	Wð 	Wð 	Wð 	Wð 	W˜_ñ 	Wô 	Wð 	Wð(ð (ð (ð6ð ð ð ð ¸ñ ô ð ð
*ð *ð *ð	ð 	ð 	ð „×Ò˜¨8°XÐ*>Ñ?Ô?ð1ð 1ñ @Ô?ð1ð(	ð 	ð 	ð „×ÒÐ+¨h¸Ð-AÑBÔBð/ð /ñ CÔBð/ð@ð ð ð ð  Èdð ñ ô ð ð
!ð !ð !ðð ð ð0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ð&ð &ð &ð&ð &ð &ð.Wð Wð Wð Wð W /ñ Wô Wð Wð4ð 4ð 4ð*ð *ð *ð *ð *˜?ñ *ô *ð *ð	)ð 	)ð 	)ð
Wð 
Wð 
Wð 
Wð 
W˜_ñ 
Wô 
Wð 
Wð „×Ò˜¨8°XÐ*>Ñ?Ô?ð@ð @ñ @Ô?ð@ð  „×Ò˜  Ð(8Ô(AÑ!BÔ!BÑCÔCðQð Qñ DÔCðQð
*ð *ð *ð 2ð 2ð 2ð 2ð 2r'   