§
    qŠtj�  ã                   ó  — 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	m
Z
 d dlmZmZmZ d dlmZ d„ Zd„ Zej                             d	¦  «        ej                             d
 e¦   «         d„ ¬¦  «        d„ ¦   «         ¦   «         Zej                             d	¦  «        ej                             dej        dd g¦  «        ej                             d
 e¦   «         d„ ¬¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             d	¦  «        ej                             dej        dg¦  «        ej                             d
 e¦   «         d„ ¬¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej                             d	¦  «        ej                             d
 e¦   «         d„ ¬¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             d
 e¦   «         d„ ¬¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         Zej                             dddg¦  «        ej                             d
 e¦   «         d„ ¬¦  «        d„ ¦   «         ¦   «         Zej                             d
 e¦   «         d„ ¬¦  «        ej                             d ej        d!g¦  «        d"„ ¦   «         ¦   «         ZdS )#é    N)Úclone)Úenable_iterative_imputer©ÚIterativeImputerÚ
KNNImputerÚSimpleImputer)Úassert_allcloseÚassert_allclose_dense_sparseÚassert_array_equal)ÚCSR_CONTAINERSc                  óX   — t          d¬¦  «        t          ¦   «         t          ¦   «         gS )Ngš™™™™™¹?)Útolr   © ó    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/impute/tests/test_common.pyÚimputersr      s"   € Ý Ð%Ñ%Ô%¥z¡|¤|µ]±_´_ÐEÐEr   c                  ó    — t          ¦   «         gS ©N)r   r   r   r   Úsparse_imputersr      s   € Ý‰OŒOÐÐr   z-ignore::sklearn.exceptions.ConvergenceWarningÚimputerc                 ó   — | j         j        S r   ©Ú	__class__Ú__name__©Úxs    r   ú<lambda>r      ó   € ¸a¼kÔ>R€ r   )Úidsc                 óÌ   — dgdgg}dgt           j        gg}t          | ¦  «        } |                      d¬¦  «         |                      |¦  «                             |¦  «         d S )Né   é   é   T©Úadd_indicator)ÚnpÚnanr   Ú
set_paramsÚfitÚ	transform)r   ÚtrainÚtests      r   Ú+test_imputation_missing_value_in_test_arrayr-      sh   € ð
 ˆS�1�#ˆJ€EØˆC•"”&�ˆ?€DÝ�G‰nŒn€GØ×Ò TÐÑ*Ô*Ð*Ø‡K‚K�ÑÔ× Ò  Ñ&Ô&Ð&Ð&Ð&r   Úmarkeréÿÿÿÿc                 ó   — | j         j        S r   r   r   s    r   r   r   '   r   r   c           
      ó6  — t          j        | dd| dgd| d| dgdd| | dgddd| dgg¦  «        }t          j        g d¢g d	¢g d
¢g d¢g¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     |¦  «        }t          |d d …dd …f         |¦  «         t          |j        j        t          j        g d¢¦  «        ¦  «         |                     d¬¦  «         |                     |¦  «        }t          |d d …d d…f         |¦  «         d S ©Nr!   é   r"   é   r#   é	   é   )ç      ð?ç        r8   r7   )r8   r7   r8   r7   )r8   r8   r7   r7   )r8   r8   r8   r7   T)Úmissing_valuesr%   éüÿÿÿ)r   r!   r"   r#   Fr$   )	r&   Úarrayr   r(   Úfit_transformr	   r   Ú
indicator_Ú	features_)r.   r   ÚXÚX_true_indicatorÚX_transÚX_trans_no_indicators         r   Útest_imputers_add_indicatorrC   %   s_  € õ 	Œà�Q˜˜6 1Ð%Ø�˜˜6 1Ð%Ø��6˜6 1Ð%Ø��1�f˜aÐ ð		
ñ	ô 	€Aõ ”xà Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð ð		
ñô Ðõ �G‰nŒn€GØ×Ò f¸DÐÑAÔAÐAà×#Ò# AÑ&Ô&€GÝ�G˜A˜A˜A˜r˜s˜s˜F”OÐ%5Ñ6Ô6Ð6Ý�wÔ)Ô3µR´X¸l¸l¸lÑ5KÔ5KÑLÔLÐLà×Ò UÐÑ+Ô+Ð+Ø"×0Ò0°Ñ3Ô3ÐÝ�G˜A˜A˜A˜s ˜s˜F”OÐ%9Ñ:Ô:Ð:Ð:Ð:r   c                 ó   — | j         j        S r   r   r   s    r   r   r   I   s   € °´Ô0D€ r   Úcsr_containerc           
      ó  — t          | ¦  «        }  ||dd|dgd|d|dgdd||dgddd|dgg¦  «        } |g d¢g d	¢g d
¢g d¢g¦  «        }|                      |d¬¦  «         |                      |¦  «        }t          |d d …dd …f         |¦  «         t	          | j        j        t          j        g d¢¦  «        ¦  «         |                      d¬¦  «         |                      |¦  «        }t          |d d …d d…f         |¦  «         d S r2   )	r   r(   r<   r
   r   r=   r>   r&   r;   )r   r.   rE   r?   r@   rA   rB   s          r   Ú"test_imputers_add_indicator_sparserG   F   s_  € õ �G‰nŒn€GØˆà�Q˜˜6 1Ð%Ø�˜˜6 1Ð%Ø��6˜6 1Ð%Ø��1�f˜aÐ ð		
ñ	ô 	€Að %�}à Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð ð		
ñô Ðð ×Ò f¸DÐÑAÔAÐAà×#Ò# AÑ&Ô&€GÝ  ¨¨¨¨B¨C¨C¨¤Ð2BÑCÔCÐCÝ�wÔ)Ô3µR´X¸l¸l¸lÑ5KÔ5KÑLÔLÐLà×Ò UÐÑ+Ô+Ð+Ø"×0Ò0°Ñ3Ô3ÐÝ  ¨¨¨¨C¨R¨C¨¤Ð2FÑGÔGÐGÐGÐGr   c                 ó   — | j         j        S r   r   r   s    r   r   r   k   r   r   r%   TFc           
      ót  — t          j        d¦  «        }t          j        }|                      ||¬¦  «        } t          j        |dd|dgd|d|dgdd||dgddd|d	gg¦  «        }|                      |¦  «        }|                     |d
g d¢¬¦  «        }|                      |¦  «        }t          ||¦  «         d S )NÚpandas©r%   r9   r!   r3   r"   r4   r#   r5   r6   ÚInt16)ÚaÚbÚcÚdÚe)ÚdtypeÚcolumns)	ÚpytestÚimportorskipr&   r'   r(   r;   r<   Ú	DataFramer	   )r   r%   Úpdr.   r?   ÚX_trans_expectedÚX_dfrA   s           r   Ú-test_imputers_pandas_na_integer_array_supportrZ   j   sã   € õ
 
Ô	˜XÑ	&Ô	&€BÝŒV€FØ× Ò ¨}ÈVÐ ÑTÔT€Gå
Œà�Q˜˜6 1Ð%Ø�˜˜6 1Ð%Ø��6˜6 1Ð%Ø��1�f˜aÐ ð		
ñ	ô 	€Að ×,Ò,¨QÑ/Ô/Ðð �<Š<˜ Ð2KÐ2KÐ2Kˆ<ÑLÔL€Dð ×#Ò# DÑ)Ô)€GåÐ$ gÑ.Ô.Ð.Ð.Ð.r   c                 ó   — | j         j        S r   r   r   s    r   r   r   ‡   r   r   c                 ó°  — t          j        d¦  «        }t          j        }|                      ||¬¦  «        } t          j        |ddd|dgd|dd|dgddd	||dgddd
d|dgg¦  «        }|                     |g d¢¬¦  «        }|                      |¦  «         |                      ¦   «         }|rg d¢}t          ||¦  «         dS g d¢}t          ||¦  «         dS )z%Check feature names out for imputers.rJ   rK   r!   r3   r#   r"   r6   r4   é   r5   é   )rM   rN   rO   rP   rQ   Úf)rS   )	rM   rN   rO   rP   r_   Úmissingindicator_aÚmissingindicator_bÚmissingindicator_dÚmissingindicator_e)rM   rN   rO   rP   r_   N)
rT   rU   r&   r'   r(   r;   rV   r)   Úget_feature_names_outr   )r   r%   rW   r.   r?   rY   ÚnamesÚexpected_namess           r   Ú&test_imputers_feature_names_out_pandasrg   ‡   s  € õ 
Ô	˜XÑ	&Ô	&€BÝŒV€FØ× Ò ¨}ÈVÐ ÑTÔT€Gå
Œà�Q˜˜1˜f aÐ(Ø�˜˜1˜f aÐ(Ø��1�f˜f aÐ(Ø��1�a˜ Ð#ð		
ñ	ô 	€Að �<Š<˜Ð#AÐ#AÐ#Aˆ<ÑBÔB€DØ‡K‚K�ÑÔÐà×)Ò)Ñ+Ô+€Eàð 2ð

ð 

ð 

ˆõ 	˜>¨5Ñ1Ô1Ð1Ð1Ð1à2Ð2Ð2ˆÝ˜>¨5Ñ1Ô1Ð1Ð1Ð1r   Úkeep_empty_featuresc                 ó   — | j         j        S r   r   r   s    r   r   r   ¯   r   r   c                 ó~  — t          j        t           j        dgt           j        dgt           j        dgg¦  «        }t          | ¦  «        } |                      d|¬¦  «        } dD ]X} t          | |¦  «        |¦  «        }|r|j        |j        k    sJ ‚Œ0|j        |j        d         |j        d         dz
  fk    sJ ‚ŒYdS )	z?Check that the imputer keeps features with only missing values.r!   r"   r#   F)r%   rh   )r<   r*   r   N)r&   r;   r'   r   r(   ÚgetattrÚshape)r   rh   r?   ÚmethodÚ	X_imputeds        r   Útest_keep_empty_featuresro   ®   sÛ   € õ 	Œ•2”6˜1�+¥¤¨˜{­R¬V°Q¨KÐ8Ñ9Ô9€AÝ�G‰nŒn€GØ× Ò ØÐ1Dð !ñ ô €Gð 1ð Cð CˆØ,•G˜G VÑ,Ô,¨QÑ/Ô/ˆ	Øð 	CØ”? a¤gÒ-Ð-Ð-Ð-Ð-à”? q¤w¨q¤z°1´7¸1´:À±>Ð&BÒBÐBÐBÐBÐBðCð Cr   c                 ó   — | j         j        S r   r   r   s    r   r   r   À   r   r   Úmissing_value_testr!   c                 óz  — t          j        dt           j        gddgg¦  «        }t          j        d|gddgg¦  «        }t          | ¦  «        } |                      d¬¦  «         |                      |¦  «         |                      |¦  «        }|j        dk    sJ ‚|                      d¬¦  «         |                      |¦  «         |                      |¦  «        }|j        dk    sJ ‚t          |d	d	…d	d
…f         |¦  «         t          j	        |¦  «        rddg}nddg}t          |d	d	…d
f         |¦  «         d	S )zoCheck that missing indicator always exists when add_indicator=True.

    Non-regression test for gh-26590.
    r   r!   r"   Tr$   )r"   r#   F)r"   r"   Nr/   )
r&   r;   r'   r   r(   r)   r*   rl   r	   Úisnan)r   rq   ÚX_trainÚX_testÚX_test_imputed_with_indicatorÚ X_test_imputed_without_indicatorÚexpected_missing_indicators          r   Ú?test_imputation_adds_missing_indicator_if_add_indicator_is_truery   À   si  € õ Œh˜�BœF˜ a¨ VÐ,Ñ-Ô-€Gõ ŒX˜Ð-Ð.°°A°Ð7Ñ8Ô8€Få�G‰nŒn€GØ×Ò TÐÑ*Ô*Ð*Ø‡K‚K�ÑÔÐà$+×$5Ò$5°fÑ$=Ô$=Ð!Ø(Ô.°&Ò8Ð8Ð8Ð8à×Ò UÐÑ+Ô+Ð+Ø‡K‚K�ÑÔÐØ'.×'8Ò'8¸Ñ'@Ô'@Ð$Ø+Ô1°VÒ;Ð;Ð;Ð;åØ% a a a¨¨"¨ fÔ-Ð/Oñô ð õ 
„xÐ"Ñ#Ô#ð ,Ø&'¨ VÐ"Ð"à&'¨ VÐ"åÐ1°!°!°!°R°%Ô8Ð:TÑUÔUÐUÐUÐUr   )Únumpyr&   rT   Úsklearn.baser   Úsklearn.experimentalr   Úsklearn.imputer   r   r   Úsklearn.utils._testingr	   r
   r   Úsklearn.utils.fixesr   r   r   ÚmarkÚfilterwarningsÚparametrizer-   r'   rC   rG   rZ   rg   ro   ry   r   r   r   ú<module>rƒ      sø  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð ð ð
 /Ð .Ð .Ð .Ð .Ð .ðFð Fð Fðð ð ð
 „×ÒÐKÑLÔLØ„×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSð'ð 'ñ TÔSñ MÔLð'ð „×ÒÐKÑLÔLØ„×Ò˜ B¤F¨B° ?Ñ3Ô3Ø„×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSð;ð ;ñ TÔSñ 4Ô3ñ MÔLð;ð< „×ÒÐKÑLÔLØ„×Ò˜ B¤F¨B <Ñ0Ô0Ø„×ÒØˆˆÑ Ô Ð&DÐ&Dð ñ ô ð „×Ò˜¨.Ñ9Ô9ðHð Hñ :Ô9ñô ñ 1Ô0ñ MÔLðHð< „×ÒÐKÑLÔLØ„×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSØ„×Ò˜¨4°¨-Ñ8Ô8ð/ð /ñ 9Ô8ñ TÔSñ MÔLð/ð4 „×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSØ„×Ò˜¨4°¨-Ñ8Ô8ð"2ð "2ñ 9Ô8ñ TÔSð"2ðJ „×ÒÐ.°°u°Ñ>Ô>Ø„×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSðCð Cñ TÔSñ ?Ô>ðCð  „×Ò˜ H H¡J¤JÐ4RÐ4RÐÑSÔSØ„×ÒÐ-°´¸¨{Ñ;Ô;ð Vð  Vñ <Ô;ñ TÔSð Vð  Vð  Vr   