§
    ¥˜ºh¾0 ã                   óÒ#  — 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mZ d„ Zej                             dd	d
g¦  «        d„ ¦   «         Zd„ Zej                             dd	d
g¦  «        d„ ¦   «         Zej                             dej        ej        ej        g¦  «        ej                             dej        ej        ej        g¦  «        d„ ¦   «         ¦   «         Zej                             dej        ej        ej        g¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z ej                             dg d¢g d¢g ej!        g d¢g d¢g¦  «         ej!        g d¢g d¢ge"¬¦  «         ej!        g d¢d ej#        d!gge"¬¦  «         ej!        g d¢d  e$d"¦  «        d!gge"¬¦  «         ej!        g d#¢g d$¢ge"¬¦  «         ej!        g d%¢d ej#        dgge"¬¦  «         ej!        g d%¢d  e$d"¦  «        dgge"¬¦  «        gg d&¢¬'¦  «        d(„ ¦   «         Z%ej                             dd	d
g¦  «        ej                             d)d*d+g¦  «        ej                             d,dd-g¦  «        d.„ ¦   «         ¦   «         ¦   «         Z&ej                             d)d*d+g¦  «        ej                             d/d0d1gd2d1gd0d1ggg d3¢g d4¢g d3¢gfd5d gd6d gd7d8gd6d ggg d9¢g d:¢g d;¢gfg¦  «        d<„ ¦   «         ¦   «         Z'd=„ Z(ej                             d,g d>¢¦  «        ej                             d?g d>¢¦  «        d@„ ¦   «         ¦   «         Z)ej                             dAdBdCg¦  «        ej                             dd2d0g ej!        dDdEg¦  «        g¦  «        dF„ ¦   «         ¦   «         Z*ej                             dAdBdCg¦  «        dG„ ¦   «         Z+ej                             dHdId1gdJd1ggdIdJgd1ggej,        f ej!        d2d0gdKd0gg¦  «        d2dKgd0ggej-        f ej!        dLd!gdMd!gge"¬¦  «        dLdMgd!ggej,        f ej!        dLd!gdMd!gg¦  «        dLdMgd!ggej.        f ej!        d2d0gej#        d0gg¦  «        d2ej#        gd0ggej        f ej!        dLej#        gdej#        gge"¬¦  «        dLdgej#        ggej,        f ej!        dL e$d"¦  «        gd e$d"¦  «        gge"¬¦  «        dLdg e$d"¦  «        ggej,        fgg dN¢¬'¦  «        dO„ ¦   «         Z/ej                             dd	d
g¦  «        ej                             dP ej!        d d8gge"¬¦  «        j0         ej!        d dQgge"¬¦  «        j0        g dR¢gej,        f ej!        d2d0ggdS¬¦  «        j0         ej!        d2dTggdS¬¦  «        j0        g dU¢gej1        f ej!        d d8gge"¬¦  «        j0         ej!        d dQgge"¬¦  «        j0         ej!        g dR¢¦  «        gej,        f ej!        dd gge"¬¦  «        j0         ej!        dd8gge"¬¦  «        j0        g dV¢ge"f ej!        d d8gge"¬¦  «        j0         ej!        d ej#        gge"¬¦  «        j0        g dW¢ge"f ej!        d dgge"¬¦  «        j0         ej!        d ej#        gge"¬¦  «        j0        g dX¢ge"f ej!        d ej#        gge"¬¦  «        j0         ej!        d dgge"¬¦  «        j0        d ej#        dYgge"fgg dZ¢¬'¦  «        d[„ ¦   «         ¦   «         Z2d\„ Z3d]„ Z4d^„ Z5ej                             d_d-d`dagfdbg dc¢fg dd¢dedfgfgg dg¢¬'¦  «        dh„ ¦   «         Z6di„ Z7ej                             dg d¢g d¢g ej!        g dj¢g dk¢g¦  «         ej!        g d¢g d¢ge"¬¦  «        gg dl¢¬'¦  «        dm„ ¦   «         Z8ej                             dP ej!        d d8gge"¬¦  «        j0         ej!        d dQgge"¬¦  «        j0        g dR¢gej,        f ej!        d2d0ggdS¬¦  «        j0         ej!        d2dTggdS¬¦  «        j0        g dU¢gej1        f ej!        d d8gge"¬¦  «        j0         ej!        d dQgge"¬¦  «        j0         ej!        g dR¢¦  «        gej,        fgg dn¢¬'¦  «        do„ ¦   «         Z9dp„ Z:dq„ Z;ej                             dre$e<g¦  «        ds„ ¦   «         Z=dt„ Z>du„ Z?dv„ Z@dw„ ZAdx„ ZBdy„ ZCej                             dzej#        d e$d"¦  «        g¦  «        d{„ ¦   «         ZDej                             d,dIdKgg d|¢g¦  «        d}„ ¦   «         ZEej                             d~d+d*gdd€g¬'¦  «        ej                             d,d-g d�¢gd-d‚g¬'¦  «        dƒ„ ¦   «         ¦   «         ZFej                             d„e	e
g¦  «        d…„ ¦   «         ZGej                             d†d‡d0idˆd‰idˆdŠid0d‹dŒœdTd�dŒœg¦  «        ej                             dŽd�g d�¢gg¦  «        d‘„ ¦   «         ¦   «         ZHej                             d,dbd-d8gg¦  «        d’„ ¦   «         ZIej                             d,d gdQgg¦  «        d“„ ¦   «         ZJej                             d†d‡dKidˆd‹idˆd”idˆd•idˆd–idKd—dŒœdTd‹dŒœg¦  «        d˜„ ¦   «         ZKej                             d,d-d8gg¦  «        d™„ ¦   «         ZLej                             d,d gdQgg¦  «        dš„ ¦   «         ZMd›„ ZNej                             d†dKd2dŒœdˆdTig¦  «        dœ„ ¦   «         ZOd�„ ZPdž„ ZQdŸ„ ZRd „ ZSd¡„ ZTej                             d†d¢d2d£œg¦  «        d¤„ ¦   «         ZUej                             d†d0dKd£œg¦  «        d¥„ ¦   «         ZVd¦„ ZWej                             d§g d¨¢¦  «        ej                             d©g dª¢¦  «        d«„ ¦   «         ¦   «         ZXd¬„ ZYej                             dzej#        dg¦  «        d­„ ¦   «         ZZd®„ Z[ej                             dd
d	g¦  «        ej                             d¯d°d±g¦  «        d²„ ¦   «         ¦   «         Z\ej                             dd	d
g¦  «        d³„ ¦   «         Z]ej                             dd	d
g¦  «        d´„ ¦   «         Z^ej                             dd	d
g¦  «        dµ„ ¦   «         Z_d¶„ Z`d·„ Zaej                             d¸ej#        d¹g¦  «        dº„ ¦   «         Zbej                             d¯d°d±g¦  «        ej                             d¸ej#        d¹g¦  «        d»„ ¦   «         ¦   «         Zcej                             dP ej!        d ej#        gge"¬¦  «        j0         ej!        d d8gge"¬¦  «        j0         ej!        d ej#        dQge"¬¦  «        gej,        f ej!        d ej#        gge"¬¦  «        j0         ej!        d d8gge"¬¦  «        j0         ej!        d ej#        dQge"¬¦  «        gej,        f ej!        d¼ej#        ggej        ¬¦  «        j0         ej!        dDggej        ¬¦  «        j0         ej!        d¼dEej#        g¦  «        gej        fgg d½¢¬'¦  «        d¾„ ¦   «         Zdej                             d¿ ej!        dÀej#        dDgg¦  «        j0         ej!        dÁej#        dÀgg¦  «        j0         ej!        dEgg¦  «        f ej!        g dÂ¢g¦  «        j0         ej!        g dÃ¢g¦  «        j0         ej!        ej#        gg¦  «        f ej!        dÄej#        d8gge"¬¦  «        j0         ej!        dÀej#        dÁgg¦  «        j0         ej!        dQgge"¬¦  «        f ej!        g dÅ¢ge"¬¦  «        j0         ej!        g dÆ¢g¦  «        j0         ej!        ej#        gge"¬¦  «        fg¦  «        dÇ„ ¦   «         ZedÈ„ ZfdÉ„ Zgej                             dÊdËdMgg ej!        dËdMggdÌ¬¦  «         ej!        dËdMggdÍ¬¦  «        g¦  «        ej                             dÎdLdMgg ej!        dLdMggdÌ¬¦  «         ej!        dLdMggdÍ¬¦  «        g¦  «        dÏ„ ¦   «         ¦   «         ZhdÐ„ ZidÑ„ ZjdÒ„ Zkej                             dÓd+d*g¦  «        dÔ„ ¦   «         Zlej                             dÕ ej!        d gdÖgge"¬¦  «        d gej#        gej#        gg ejm        dÖgdgdgge"¬¦  «        f ej!        ej#        gdÖgd gge"¬¦  «        d gej#        gej#        gg ejm        dÖgej#        gej#        gge"¬¦  «        fg¦  «        d×„ ¦   «         ZndØ„ ZodÙ„ ZpdÚ„ ZqdÛ„ ZrdÜ„ Zsej                             d†d‡dKidˆd‹idˆd”idˆd•idˆd–idKd—dŒœdTd‹dŒœg¦  «        dÝ„ ¦   «         ZtdÞ„ Zudß„ Zvdà„ Zwdá„ Zxej                             d†d‡d‹idˆd0ig¦  «        dâ„ ¦   «         Zyej                             d†d‡d2idˆdãig¦  «        dä„ ¦   «         Zzdå„ Z{dæ„ Z|dS )çé    N©Úsparse)ÚNotFittedError)ÚOneHotEncoderÚOrdinalEncoder)Úis_scalar_nan)Ú_convert_containerÚassert_allcloseÚassert_array_equalc                  óê  — t          j        g d¢g d¢g¦  «        } t          ¦   «         }t          d¬¦  «        }|                     | ¦  «        }|                     | ¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          j        |¦  «        sJ ‚t          j        |¦  «        rJ ‚t          |                     ¦   «         g d¢g d¢g¦  «         t          |                     ¦   «         |¦  «         d S )N©é   é   é   ©r   r   r   F©Úsparse_output©r   é   )ç        ç      ð?r   r   r   )r   r   r   r   r   )	ÚnpÚarrayr   Úfit_transformÚshaper   Úissparser   Útoarray)ÚXÚ
enc_sparseÚ	enc_denseÚX_trans_sparseÚX_trans_denses        úq/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/preprocessing/tests/test_encoders.pyÚ!test_one_hot_encoder_sparse_denser$      s  € õ 	Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ‘”€JÝ¨EÐ2Ñ2Ô2€Ià×-Ò-¨aÑ0Ô0€NØ×+Ò+¨AÑ.Ô.€MàÔ 6Ò)Ð)Ð)Ð)ØÔ &Ò(Ð(Ð(Ð(åŒ?˜>Ñ*Ô*Ð*Ð*Ð*ÝŒ˜}Ñ-Ô-Ð-Ð-Ð-õ Ø×ÒÑ Ô Ð#<Ð#<Ð#<Ð>WÐ>WÐ>WÐ"Xñô ð õ �~×-Ò-Ñ/Ô/°Ñ?Ô?Ð?Ð?Ð?ó    Úhandle_unknownÚignoreÚinfrequent_if_existc                 ón  — t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g¦  «        }t          d¬¦  «        }|                     |¦  «         t	          j        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          | ¬¦  «        }|                     |¦  «         |                     ¦   «         }t          |                     |¦  «         
                    ¦   «         t          j        g d	¢g¦  «        ¦  «         t          ||¦  «         d S )
N)r   r   r   )r   r   r   )r   r   r   )é   r   r   Úerror©r&   úFound unknown categories©Úmatch)r   r   r   r   r   r   r   )r   r   r   ÚfitÚpytestÚraisesÚ
ValueErrorÚ	transformÚcopyr   r   r
   ©r&   r   ÚX2ÚohÚ	X2_passeds        r#   Ú#test_one_hot_encoder_handle_unknownr:   (   sa  € å
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3€AÝ	Œ�9�9�9�+Ñ	Ô	€Bõ 
 gÐ	.Ñ	.Ô	.€BØ‡F‚Fˆ1�I„I€IÝ	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø
�Š�RÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
 nÐ	5Ñ	5Ô	5€BØ‡F‚Fˆ1�I„I€IØ—’‘	”	€IÝØ
�Š�YÑÔ×'Ò'Ñ)Ô)Ý
ŒÐ5Ð5Ð5Ð6Ñ7Ô7ñô ð õ
 �B˜	Ñ"Ô"Ð"Ð"Ð"s   Á5BÂBÂBc                  óð   — t          j        dgdgg¦  «        } t          ddg¬¦  «        }d}t          j        t
          |¬¦  «        5  |                     | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚaÚb©Ú
categorieszqThis OneHotEncoder instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.r.   )r   r   r   r1   r2   r   r4   )r   ÚencÚmsgs      r#   Útest_one_hot_encoder_not_fittedrB   @   sÄ   € Ý
Œ�3�%˜#˜�Ñ Ô €AÝ
 C¨ :Ð
.Ñ
.Ô
.€Cð	ð õ
 
Œ•~¨SÐ	1Ñ	1Ô	1ð ð Ø�Š�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA+Á+A/Á2A/c                 óÖ  — t          j        g d¢¦  «                             d¦  «        }t          j        ddg¦  «                             d¦  «        }t          | ¬¦  «        }|                     |¦  «         |                     ¦   «         }t          |                     |¦  «                             ¦   «         t          j        g d¢g d¢g¦  «        ¦  «         t          ||¦  «         d S )N)Ú11111111Ú22Ú333Ú4444)éÿÿÿÿr   Ú55555rE   r,   )r   r   r   r   ©r   r   r   r   )	r   r   Úreshaper   r0   r5   r   r4   r   r6   s        r#   Ú+test_one_hot_encoder_handle_unknown_stringsrL   L   sÚ   € å
ŒÐ2Ð2Ð2Ñ3Ô3×;Ò;¸GÑDÔD€AÝ	Œ�7˜D�/Ñ	"Ô	"×	*Ò	*¨7Ñ	3Ô	3€Bõ
 
 nÐ	5Ñ	5Ô	5€BØ‡F‚Fˆ1�I„I€IØ—’‘	”	€IÝØ
�Š�YÑÔ×'Ò'Ñ)Ô)Ý
ŒÐ&Ð&Ð&Ð(<Ð(<Ð(<Ð=Ñ>Ô>ñô ð õ
 �r˜9Ñ%Ô%Ð%Ð%Ð%r%   Úoutput_dtypeÚinput_dtypec                 ól  — t          j        ddgg| ¬¦  «        j        }t          j        ddgddgg|¬¦  «        }t          d|¬¦  «        }t	          |                     |¦  «                             ¦   «         |¦  «         t	          |                     |¦  «                             |¦  «                             ¦   «         |¦  «         t          d|d¬¦  «        }t	          |                     |¦  «        |¦  «         t	          |                     |¦  «                             |¦  «        |¦  «         d S )Nr   r   ©ÚdtypeÚauto)r?   rQ   F)r?   rQ   r   )	r   ÚasarrayÚTr   r   r   r   r0   r4   )rN   rM   r   Ú
X_expectedr8   s        r#   Útest_one_hot_encoder_dtyperV   _   s  € õ 	Œ
�Q˜�F�8 ;Ð/Ñ/Ô/Ô1€AÝ”˜a ˜V a¨ VÐ,°LÐAÑAÔA€Jå	 &°Ð	=Ñ	=Ô	=€BÝ�r×'Ò'¨Ñ*Ô*×2Ò2Ñ4Ô4°jÑAÔAÐAÝ�r—v’v˜a‘y”y×*Ò*¨1Ñ-Ô-×5Ò5Ñ7Ô7¸ÑDÔDÐDå	 &°ÈEÐ	RÑ	RÔ	R€BÝ�r×'Ò'¨Ñ*Ô*¨JÑ7Ô7Ð7Ý�r—v’v˜a‘y”y×*Ò*¨1Ñ-Ô-¨zÑ:Ô:Ð:Ð:Ð:r%   c                 óŒ  — t          j        d¦  «        }|                     ddgddgdœ¦  «        }t          j        g d¢g d¢g| ¬	¦  «        }t          | ¬	¦  «        }t          |                     |¦  «                             ¦   «         |¦  «         t          | 	                    |¦  «         
                    |¦  «                             ¦   «         |¦  «         t          | d
¬¦  «        }t          |                     |¦  «        |¦  «         t          | 	                    |¦  «         
                    |¦  «        |¦  «         d S )NÚpandasr<   r=   r   r   ©ÚAÚB©r   r   r   r   ©r   r   r   r   rP   F)rQ   r   )r1   ÚimportorskipÚ	DataFramer   r   r   r   r   r   r0   r4   )rM   ÚpdÚX_dfrU   r8   s        r#   Ú!test_one_hot_encoder_dtype_pandasrb   n   s   € å	Ô	˜XÑ	&Ô	&€Bà�<Š<˜s C˜j°°1¨vÐ6Ð6Ñ7Ô7€DÝ”˜<˜<˜<¨¨¨Ð6¸lÐKÑKÔK€Jå	˜\Ð	*Ñ	*Ô	*€BÝ�r×'Ò'¨Ñ-Ô-×5Ò5Ñ7Ô7¸ÑDÔDÐDÝ�r—v’v˜d‘|”|×-Ò-¨dÑ3Ô3×;Ò;Ñ=Ô=¸zÑJÔJÐJå	˜\¸Ð	?Ñ	?Ô	?€BÝ�r×'Ò'¨Ñ-Ô-¨zÑ:Ô:Ð:Ý�r—v’v˜d‘|”|×-Ò-¨dÑ3Ô3°ZÑ@Ô@Ð@Ð@Ð@r%   c                  óœ  — t          ¦   «         } g d¢g d¢g d¢g d¢g}|                      |¦  «         |                      ¦   «         }t          g d¢|¦  «         |                      g d¢¦  «        }t          g d¢|¦  «         t	          j        t          d¬	¦  «        5  |                      d
dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ÚMaler   Úgirlr   r   )ÚFemaleé)   re   r   é
   )rd   é3   Úboyé   r   )rd   é[   re   é   é   )Ú	x0_FemaleÚx0_MaleÚx1_1Úx1_41Úx1_51Úx1_91Úx2_boyÚx2_girlÚx3_1Úx3_2Úx3_12Úx3_21Úx4_3Úx4_10Úx4_30)ÚoneÚtwoÚthreeÚfourÚfive)Ú
one_FemaleÚone_MaleÚtwo_1Útwo_41Útwo_51Útwo_91Ú	three_boyÚ
three_girlÚfour_1Úfour_2Úfour_12Úfour_21Úfive_3Úfive_10Úfive_30z!input_features should have lengthr.   r~   r   )r   r0   Úget_feature_names_outr   r1   r2   r3   )r@   r   Úfeature_namesÚfeature_names2s       r#   Ú"test_one_hot_encoder_feature_namesr•   ~   sT  € Ý
‰/Œ/€Cà!Ð!Ð!Ø%Ð%Ð%Ø"Ð"Ð"Ø$Ð$Ð$ð		€Að ‡G‚GˆA�J„J€JØ×-Ò-Ñ/Ô/€Måð	
ð 	
ð 	
ð" 	ñ%ô ð ð* ×.Ò.Ð/VÐ/VÐ/VÑWÔW€Nåð	
ð 	
ð 	
ð" 	ñ%ô ð õ* 
Œ•zÐ)LÐ	MÑ	MÔ	Mð 2ð 2Ø×!Ò! 5¨% .Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s   ÂCÃCÃCc                  ó0  — t          ¦   «         } t          j        ddggt          ¬¦  «        j        }|                      |¦  «         |                      ¦   «         }t          ddg|¦  «         |                      dg¬¦  «        }t          dd	g|¦  «         d S )
Nu   câ�¤t1Údat2rP   u	   x0_câ�¤t1Úx0_dat2u   nðŸ‘�me©Úinput_featuresu   nðŸ‘�me_câ�¤t1u   nðŸ‘�me_dat2)r   r   r   ÚobjectrT   r0   r’   r   )r@   r   r“   s      r#   Ú*test_one_hot_encoder_feature_names_unicoderœ   º   s“   € Ý
‰/Œ/€CÝ
Œ�8˜VÐ$Ð%­VÐ4Ñ4Ô4Ô6€AØ‡G‚GˆA�J„J€JØ×-Ò-Ñ/Ô/€MÝ˜ YÐ/°Ñ?Ô?Ð?Ø×-Ò-¸i¸[Ð-ÑIÔI€MÝÐ(¨.Ð9¸=ÑIÔIÐIÐIÐIr%   c                  ó  — d„ } t          | ¬¦  «        }t          j        ddggt          ¬¦  «        j        }|                     |¦  «         |                     ¦   «         }t          ddg|¦  «         |                     dg¬	¦  «        }t          d
dg|¦  «         d„ }t          |¬¦  «                             |¦  «        }d}t          j	        t          |¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )z=Check the behaviour of `feature_name_combiner` as a callable.c                 ó,   — | dz   t          |¦  «        z   S )NÚ_)Úrepr©ÚfeatureÚcategorys     r#   Úname_combinerzHtest_one_hot_encoder_custom_feature_name_combiner.<locals>.name_combinerÇ   s   € Ø˜‰}�t H™~œ~Ñ-Ð-r%   )Úfeature_name_combinerÚNoneNrP   z	x0_'None'Úx0_Noner<   r™   za_'None'Úa_Nonec                 ó   — dS )Nr   © r¡   s     r#   Úwrong_combinerzItest_one_hot_encoder_custom_feature_name_combiner.<locals>.wrong_combinerÒ   s   € àˆqr%   zMWhen `feature_name_combiner` is a callable, it should return a Python string.r.   )r   r   r   r›   rT   r0   r’   r   r1   r2   Ú	TypeError)r¤   r@   r   r“   r«   Úerr_msgs         r#   Ú1test_one_hot_encoder_custom_feature_name_combinerr®   Ä   sg  € ð.ð .ð .õ ¨mÐ
<Ñ
<Ô
<€CÝ
Œ�6˜4�.Ð!­Ð0Ñ0Ô0Ô2€AØ‡G‚GˆA�J„J€JØ×-Ò-Ñ/Ô/€MÝ˜ YÐ/°Ñ?Ô?Ð?Ø×-Ò-¸c¸UÐ-ÑCÔC€MÝ˜
 HÐ-¨}Ñ=Ô=Ð=ðð ð õ ¨nÐ
=Ñ
=Ô
=×
AÒ
AÀ!Ñ
DÔ
D€CàWð õ 
Œ•y¨Ð	0Ñ	0Ô	0ð $ð $Ø×!Ò!Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   ÃD Ä DÄDc                  óÌ  — t          j        ddgg¦  «        j        } t          ¦   «         }|                     g d¢g¬¦  «         |                     ¦   «         d         g d¢gk    sJ ‚|                     | ¦  «                             ¦   «         j        dk    sJ ‚|                     g d¢g¬¦  «         |                     | ¦  «                             ¦   «         j        dk    sJ ‚d S )	Nr   r   )r   r   r   r   r>   r?   )r   r*   )r   r   r   r   r*   r   )	r   r   rT   r   Ú
set_paramsÚ
get_paramsr   r   r   )r   r8   s     r#   Útest_one_hot_encoder_set_paramsr²   Þ   sÞ   € Ý
Œ�1�a�&�ÑÔÔ€AÝ	‰Œ€Bà‡M‚M˜l˜l˜l˜^€MÑ,Ô,Ð,Ø�=Š=‰?Œ?˜<Ô(¨\¨\¨\¨NÒ:Ð:Ð:Ð:Ø×Ò˜AÑÔ×&Ò&Ñ(Ô(Ô.°&Ò8Ð8Ð8Ð8à‡M‚M˜o˜o˜oÐ.€MÑ/Ô/Ð/Ø×Ò˜AÑÔ×&Ò&Ñ(Ô(Ô.°&Ò8Ð8Ð8Ð8Ð8Ð8r%   c                 óF  — t          d¬¦  «        }|                     | ¦  «        }t          dd¬¦  «        }|                     | ¦  «        }t          |                     ¦   «         |¦  «         t	          j        |¦  «        r|j        dk    sJ ‚|                     ¦   «         S )NrR   r>   F©r?   r   Úcsr)r   r   r
   r   r   r   Úformat)r   r@   ÚXtr1ÚXtr2s       r#   Úcheck_categorical_onehotr¹   ê   s’   € Ý
 6Ð
*Ñ
*Ô
*€CØ×Ò˜QÑÔ€Då
 6¸Ð
?Ñ
?Ô
?€CØ×Ò˜QÑÔ€Då�D—L’L‘N”N DÑ)Ô)Ð)åŒ?˜4Ñ Ô Ð9 T¤[°EÒ%9Ð%9Ð%9Ð%9Ø�<Š<‰>Œ>Ðr%   r   ©Údefr   é7   ©Úabcr   r¼   )rh   r   r¼   )r   r   r¼   )r=   rZ   Úcat)r<   r[   r¿   rP   )r=   r   r¿   r<   r¿   Únan)Nr   r¿   )r<   r   r¿   )Nr   N)ÚmixedÚnumericr›   z	mixed-nanzmixed-float-nanz
mixed-Nonezmixed-None-nanzmixed-None-float-nan)Úidsc                 ó¦  — t          t          j        | ¦  «        d d …dgf         ¦  «        }t          |ddgddgg¦  «         t          t          j        | ¦  «        d d …ddgf         ¦  «        }t          |g d¢g d¢g¦  «         t	          d¬¦  «                             | ¦  «        }t          |                     ¦   «         g d¢g d¢g¦  «         d S )	Nr   r   )r   r   r   r   ©r   r   r   r   rR   r>   )r   r   r   r   r   )r   r   r   r   r   )r¹   r   r   r
   r   r   r   )r   ÚXtrs     r#   Útest_one_hot_encoderrÇ   ÷   sÑ   € õ0 #¥2¤8¨A¡;¤;¨q¨q¨q°1°#¨vÔ#6Ñ
7Ô
7€CÝ�C˜1˜a˜& 1 a &Ð)Ñ*Ô*Ð*å
"¥2¤8¨A¡;¤;¨q¨q¨q°1°a°&¨yÔ#9Ñ
:Ô
:€CÝ�C˜,˜,˜,¨¨¨Ð5Ñ6Ô6Ð6å
 6Ð
*Ñ
*Ô
*×
8Ò
8¸Ñ
;Ô
;€CÝ�C—K’K‘M”M O O O°_°_°_Ð#EÑFÔFÐFÐFÐFr%   Úsparse_FTÚdropÚfirstc                 ó®  — g d¢g d¢g d¢g}t          ||¬¦  «        }|                     |¦  «        }t          j        |t          ¬¦  «        }t          |                     |¦  «        |¦  «         ddgddgd	dgg}t          |d
|¬¦  «        }|                     |¦  «        }t          j        |¦  «        }t          |                     |¦  «        |¦  «         |�€g d¢g d¢g d¢g}t          || ddgddgg d¢g¬¦  «        }|                     |¦  «        }t          j        |t          ¬¦  «        }d |d<   t          |                     |¦  «        |¦  «         ddgddgd	dgg}t          |ddgddgg| ¬¦  «        }|                     |¦  «        }t          j        |t          ¬¦  «        }d |d<   d |d d …df<   t          |                     |¦  «        |¦  «         t          j        g d¢g d¢g¦  «        }t          j        d¦  «        }t          j
        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr½   rº   )r¾   r   r¼   ©r   rÉ   rP   r   r¼   r   r   rR   )r   r?   rÉ   r¾   r»   )é6   r¼   é8   )r   r&   r?   )r   r   rÍ   rÎ   )r   r?   r&   ©r   r   r   ©r   r   r   ú)Shape of the passed X data is not correctr.   )r   r   r   r   r›   r   Úinverse_transformÚreÚescaper1   r2   r3   )r&   rÈ   rÉ   r   r@   ÚX_trÚexprA   s           r#   Útest_one_hot_encoder_inverser×     sÜ  € ð 
ˆˆ˜˜˜¨¨¨Ð8€AÝ
 g°DÐ
9Ñ
9Ô
9€CØ×Ò˜QÑÔ€DÝ
Œ(�1�FÐ
#Ñ
#Ô
#€CÝ�s×,Ò,¨TÑ2Ô2°CÑ8Ô8Ð8à
ˆRˆ�1�b�'˜A˜r˜7Ð#€AÝ
 g¸&ÀtÐ
LÑ
LÔ
L€CØ×Ò˜QÑÔ€DÝ
Œ(�1‰+Œ+€CÝ�s×,Ò,¨TÑ2Ô2°CÑ8Ô8Ð8à�|ð ˆ^ˆ^˜^˜^˜^¨^¨^¨^Ð<ˆÝØ!Ø)Ø ˜¨¨A¨°°°Ð=ð
ñ 
ô 
ˆð
 × Ò  Ñ#Ô#ˆÝŒh�q¥Ð'Ñ'Ô'ˆØˆˆD‰	Ý˜3×0Ò0°Ñ6Ô6¸Ñ<Ô<Ð<ð �ˆW�q˜"�g  2˜wÐ'ˆÝØ!Ø˜A˜  R Ð)Ø)ð
ñ 
ô 
ˆð
 × Ò  Ñ#Ô#ˆÝŒh�q¥Ð'Ñ'Ô'ˆØˆˆD‰	ØˆˆAˆAˆAˆqˆD‰	Ý˜3×0Ò0°Ñ6Ô6¸Ñ<Ô<Ð<õ Œ8�Y�Y�Y 	 	 	Ð*Ñ+Ô+€DÝ
Œ)Ð?Ñ
@Ô
@€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð $ð $Ø×Ò˜dÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   È'I
É
IÉIz
X, X_transr   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   c                 ó  — t          |¬¦  «                             | ¦  «        }d}|rt          |d¦  «        }t          j        t
          |¬¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z×Check that `inverse_transform` raise an error with unknown samples, no
    dropped feature, and `handle_unknow="error`.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/14934
    r   zqSamples \[(\d )*\d\] can not be inverted when drop=None and handle_unknown='error' because they contain all zerosr   r.   N)r   r0   r	   r1   r2   r3   rÒ   )r   ÚX_transrÈ   r@   rA   s        r#   Ú?test_one_hot_encoder_inverse_transform_raise_error_with_unknownrÜ   K  sÓ   € õ&  gÐ
.Ñ
.Ô
.×
2Ò
2°1Ñ
5Ô
5€Cð	Að ð
 ð 8å$ W¨hÑ7Ô7ˆÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 'ð 'Ø×Ò˜gÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   ÁA6Á6A:Á=A:c                  óà   — t          j        ddgddgddggt          ¬¦  «        } t          dd¬	¦  «        }|                     | ¦  «        }t          |                     |¦  «        | ¦  «         d S )
Nrd   r   rf   r   r   rP   Ú	if_binaryF©rÉ   r   )r   r   r›   r   r   r   rÒ   )r   ÚoherÕ   s      r#   Ú&test_one_hot_encoder_inverse_if_binaryrá   k  sr   € Ý
Œ�6˜1�+ ¨!˜}¨x¸¨mÐ<ÅFÐKÑKÔK€AÝ
˜[¸Ð
>Ñ
>Ô
>€CØ×Ò˜QÑÔ€DÝ�s×,Ò,¨TÑ2Ô2°AÑ6Ô6Ð6Ð6Ð6r%   )rÞ   rÊ   NÚ
reset_dropc                 óè  — t          j        ddgddgddggt          ¬¦  «        }t          | d¬¦  «        }|                     |¦  «         |                     |¦  «        }|                     ¦   «         }|                     |¬	¦  «         t          | 	                    |¦  «        |¦  «         t          |                     |¦  «        |¦  «         t          |                     ¦   «         |¦  «         d S )
Nrd   r   rf   r   r   rP   Frß   ©rÉ   )r   r   r›   r   r0   r4   r’   r°   r   rÒ   r
   )rÉ   râ   r   rà   rÕ   r“   s         r#   Útest_one_hot_encoder_drop_resetrå   r  sÞ   € õ 	Œ�6˜1�+ ¨!˜}¨x¸¨mÐ<ÅFÐKÑKÔK€AÝ
˜T°Ð
7Ñ
7Ô
7€CØ‡G‚GˆA�J„J€JØ�=Š=˜ÑÔ€DØ×-Ò-Ñ/Ô/€MØ‡N‚N˜
€NÑ#Ô#Ð#Ý�s×,Ò,¨TÑ2Ô2°AÑ6Ô6Ð6Ý�C—M’M !Ñ$Ô$ dÑ+Ô+Ð+Ý�s×0Ò0Ñ2Ô2°MÑBÔBÐBÐBÐBr%   Úmethodr0   r   ç      @ç      @c                 óÀ   — t          ¦   «         }d}t          j        t          |¬¦  «        5   t	          ||¦  «        | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú'Expected 2D array, got 1D array insteadr.   )r   r1   r2   r3   Úgetattr)r   ræ   r8   rA   s       r#   Útest_X_is_not_1Drì   �  s¥   € õ 
‰Œ€Bà
3€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø���FÑÔ˜AÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¬AÁAÁAc                 ó  — t          j        d¦  «        }|                     g d¢¦  «        }t          ¦   «         }d}t          j        t
          |¬¦  «        5   t          || ¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrX   )é   r   r*   rî   rê   r.   )r1   r^   ÚSeriesr   r2   r3   rë   )ræ   r`   r   r8   rA   s        r#   Útest_X_is_not_1D_pandasrð   ‹  sÈ   € å	Ô	˜XÑ	&Ô	&€BØ
�	Š	�,�,�,ÑÔ€AÝ	‰Œ€Bà
3€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø���FÑÔ˜AÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA>Á>BÂBzX, cat_exp, cat_dtyper¾   r»   r   rZ   r[   )rÁ   rÂ   r›   Ústringzmissing-floatzmissing-np.nan-objectzmissing-float-nan-objectc                 óü  — | | d d d…         fD ]í}t          d¬¦  «        }|                     |¦  «         t          |j        t          ¦  «        sJ ‚t          |j        |¦  «        D ]”\  }}|                     ¦   «         }t          |d         ¦  «        r0t          |d         ¦  «        sJ ‚|d d…         |d d…         k    sJ ‚n|                     ¦   «         |k    sJ ‚t          j	        |j
        |¦  «        sJ ‚Œ•Œîd S )NrH   rR   r>   )r   r0   Ú
isinstanceÚcategories_ÚlistÚzipÚtolistr   r   Ú
issubdtyperQ   )r   Úcat_expÚ	cat_dtypeÚXir@   ÚresrÖ   Úres_lists           r#   Útest_one_hot_encoder_categoriesrþ   –  s  € ðF �!�D�D�b�D”'ˆlð 7ð 7ˆÝ vÐ.Ñ.Ô.ˆØ�Š�‰Œˆå˜#œ/­4Ñ0Ô0Ð0Ð0Ð0Ý˜CœO¨WÑ5Ô5ð 	7ð 	7‰HˆC�Ø—z’z‘|”|ˆHÝ˜S œWÑ%Ô%ð +Ý$ X¨b¤\Ñ2Ô2Ð2Ð2Ð2Ø   ”}¨¨C¨R¨C¬Ò0Ð0Ð0Ð0Ð0à—z’z‘|”| sÒ*Ð*Ð*Ð*Ý”= ¤¨IÑ6Ô6Ð6Ð6Ð6Ð6ð	7ð7ð 7r%   zX, X2, cats, cat_dtypeÚd©r<   r=   ÚcÚint64r*   ©r   r   r   )Nr<   Úz)r<   r=   r  )r<   Nr  r  )r›   rÂ   zobject-stringzobject-string-nonezobject-string-nanzobject-None-and-nanzobject-nan-and-Nonec                 ó`  — t          |¬¦  «        }t          j        g d¢g d¢g¦  «        }t          |                     | ¦  «                             ¦   «         |¦  «         t          |j        d         ¦  «        t          |d         ¦  «        k    sJ ‚|j        d          	                    ¦   «         t          |d         ¦  «        k    sJ ‚|j        d         j
        |k    sJ ‚t          |¬¦  «        }t          j        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||¬¦  «        }t          j        g d¢g d¢g¦  «        }t          |                     |¦  «                             |¦  «                             ¦   «         |¦  «         d S )	Nr>   ©r   r   r   ©r   r   r   r   r-   r.   ©r?   r&   )r   r   r   )r   r   r   r   r   r   rõ   r?   rô   r÷   rQ   r1   r2   r3   r0   r4   )r   r7   Úcatsrú   r&   r@   rÖ   s          r#   Ú)test_one_hot_encoder_specified_categoriesr
  È  sÄ  € õt  4Ð
(Ñ
(Ô
(€CÝ
Œ(�O�O�O _ _ _Ð5Ñ
6Ô
6€CÝ�s×(Ò(¨Ñ+Ô+×3Ò3Ñ5Ô5°sÑ;Ô;Ð;Ý�”˜qÔ!Ñ"Ô"¥d¨4°¬7¡m¤mÒ3Ð3Ð3Ð3ØŒ?˜1Ô×$Ò$Ñ&Ô&­$¨t°A¬w©-¬-Ò7Ð7Ð7Ð7ð Œ?˜1ÔÔ# yÒ0Ð0Ð0Ð0õ  4Ð
(Ñ
(Ô
(€CÝ	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å
 4¸Ð
GÑ
GÔ
G€CÝ
Œ(�O�O�O _ _ _Ð5Ñ
6Ô
6€CÝ�s—w’w˜r‘{”{×,Ò,¨RÑ0Ô0×8Ò8Ñ:Ô:¸CÑ@Ô@Ð@Ð@Ð@s   ÄD0Ä0D4Ä7D4c                  ó^  — t          j        ddggt          ¬¦  «        j        } t	          g d¢g¬¦  «        }t          j        g d¢g d¢g¦  «        }t          |                     | ¦  «                             | ¦  «                             ¦   «         |¦  «         t          | 	                    | ¦  «                             ¦   «         |¦  «         |j
        d                              ¦   «         g d¢k    sJ ‚t          j        |j
        d         j        t           j        ¦  «        sJ ‚t          j        d	d
gg¦  «        j        } t	          g d¢g¬¦  «        }d}t          j        t"          |¬¦  «        5  | 	                    | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d	d
t           j        gg¦  «        j        } t	          d	t           j        d
gg¬¦  «        }t          j        t"          |¬¦  «        5  | 	                    | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr<   r=   rP   )r=   r<   r  r>   r  r  r   r   r   )r   r   r   z%Unsorted categories are not supportedr.   )r   r   r›   rT   r   r   r0   r4   r   r   rô   r÷   rø   rQ   Úobject_r1   r2   r3   rÀ   )r   r@   rÖ   rA   s       r#   Ú(test_one_hot_encoder_unsorted_categoriesr    sv  € Ý
Œ�3˜�*�¥VÐ,Ñ,Ô,Ô.€Aå
 O O OÐ#4Ð
5Ñ
5Ô
5€CÝ
Œ(�O�O�O _ _ _Ð5Ñ
6Ô
6€CÝ�s—w’w˜q‘z”z×+Ò+¨AÑ.Ô.×6Ò6Ñ8Ô8¸#Ñ>Ô>Ð>Ý�s×(Ò(¨Ñ+Ô+×3Ò3Ñ5Ô5°sÑ;Ô;Ð;ØŒ?˜1Ô×$Ò$Ñ&Ô&¨/¨/¨/Ò9Ð9Ð9Ð9ÝŒ=˜œ¨Ô+Ô1µ2´:Ñ>Ô>Ð>Ð>Ð>õ 	Œ�1�a�&�ÑÔÔ€AÝ
 I I I ;Ð
/Ñ
/Ô
/€CØ
1€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø×Ò˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�1�a�œ�.Ð!Ñ"Ô"Ô$€AÝ
 Q­¬° NÐ#3Ð
4Ñ
4Ô
4€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø×Ò˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Å2FÆFÆFÇ?H"È"H&È)H&c                  ó|  — t          j        ddgddggt          ¬¦  «        j        } t	          g d¢g d¢g¬¦  «        }t          j        g d	¢g d
¢g¦  «        }t          |                     | ¦  «                             ¦   «         |¦  «         |j        d          	                    ¦   «         g d¢k    sJ ‚t          j
        |j        d         j        t           j        ¦  «        sJ ‚|j        d          	                    ¦   «         g d¢k    sJ ‚t          j
        |j        d         j        t           j        ¦  «        sJ ‚d S )Nr<   r=   r   r   rP   r   )r   r   r   r>   )r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r›   rT   r   r   r   r   rô   r÷   rø   rQ   r  ©r   r@   rÖ   s      r#   Ú7test_one_hot_encoder_specified_categories_mixed_columnsr  -  s-  € å
Œ�3˜�*˜q !˜fÐ%­VÐ4Ñ4Ô4Ô6€AÝ
 O O O°Y°Y°YÐ#?Ð
@Ñ
@Ô
@€CÝ
Œ(Ð2Ð2Ð2Ð4RÐ4RÐ4RÐSÑ
TÔ
T€CÝ�s×(Ò(¨Ñ+Ô+×3Ò3Ñ5Ô5°sÑ;Ô;Ð;ØŒ?˜1Ô×$Ò$Ñ&Ô&¨/¨/¨/Ò9Ð9Ð9Ð9ÝŒ=˜œ¨Ô+Ô1µ2´:Ñ>Ô>Ð>Ð>Ð>ØŒ?˜1Ô×$Ò$Ñ&Ô&¨)¨)¨)Ò3Ð3Ð3Ð3åŒ=˜œ¨Ô+Ô1µ2´:Ñ>Ô>Ð>Ð>Ð>Ð>Ð>r%   c                  ó°   — t          j        d¦  «        } |                      ddgddgdœ¦  «        }t          |¦  «        }t	          |g d¢g d¢g¦  «         d S )	NrX   r<   r=   r   r   rY   r\   r]   )r1   r^   r_   r¹   r
   )r`   ra   rÆ   s      r#   Útest_one_hot_encoder_pandasr  :  sc   € Ý	Ô	˜XÑ	&Ô	&€Bà�<Š<˜s C˜j°°1¨vÐ6Ð6Ñ7Ô7€Då
" 4Ñ
(Ô
(€CÝ�C˜,˜,˜,¨¨¨Ð5Ñ6Ô6Ð6Ð6Ð6r%   zdrop, expected_namesÚx0_cÚx2_brÞ   )r  Úx1_2r  )r  r   r=   Úx0_bÚx2_a)rÊ   ÚbinaryÚmanualc                 ó¨   — g d¢g d¢g}t          | ¬¦  «        }|                     |¦  «         |                     ¦   «         }t          ||¦  «         d S )N)r  r   r<   )r=   r   r=   rä   )r   r0   r’   r   )rÉ   Úexpected_namesr   rà   r“   s        r#   Ú'test_one_hot_encoder_feature_names_dropr  C  s\   € ð 
ˆˆ˜˜˜Ð&€Aå
˜TÐ
"Ñ
"Ô
"€CØ‡G‚GˆA�J„J€JØ×-Ò-Ñ/Ô/€MÝ�~ }Ñ5Ô5Ð5Ð5Ð5r%   c                  ó*  — ddgddgddgg} t          j        g d¢g d¢g d¢g¦  «        }t          j        d d	g¦  «        }t          d
d¬¦  «        }|                     | ¦  «        }t	          |j        |¦  «         t          ||¦  «         ddgddgddgg} t          j        ddgddgddgg¦  «        }t          j        d	d g¦  «        }t          d
d¬¦  «        }|                     | ¦  «        }t	          |j        |¦  «         t          ||¦  «         d S )Nrh   Úyesé   Únorn   )r   r   r   r   rJ   )r   r   r   r   r   rÞ   Frß   Útruer<   Úfalser   r   )r   r   r   r   r   Ú	drop_idx_r
   )r   ÚexpectedÚexpected_drop_idxrà   Úresults        r#   Ú*test_one_hot_encoder_drop_equals_if_binaryr'  U  sE  € à
ˆeˆ�r˜4�j 2 u +Ð.€AÝŒxØ	Ð	Ð	Ð3Ð3Ð3Ð5IÐ5IÐ5IÐJñô €Hõ œ $¨ Ñ+Ô+Ðå
˜[¸Ð
>Ñ
>Ô
>€CØ×Ò˜qÑ!Ô!€FÝ�s”}Ð&7Ñ8Ô8Ð8Ý�F˜HÑ%Ô%Ð%ð �#ˆ˜ #˜¨°#¨Ð7€AÝŒx˜#˜s˜ c¨3 Z°#°s°Ð<Ñ=Ô=€HÝœ ! T Ñ+Ô+Ðå
˜[¸Ð
>Ñ
>Ô
>€CØ×Ò˜qÑ!Ô!€FÝ�s”}Ð&7Ñ8Ô8Ð8Ý�F˜HÑ%Ô%Ð%Ð%Ð%r%   )rh   r   r¼   )r  r   r¼   )rÁ   rÂ   r›   c                 ó,  — t          ¦   «         }t          j        g d¢g d¢gd¬¦  «        }t          |                     | ¦  «        |                     d¦  «        ¦  «         t          d¬¦  «        }t          |                     | ¦  «        |¦  «         d S )N©r   r   r   ©r   r   r   r  rP   Úfloat64)r   r   r   r   r   Úastyper  s      r#   Útest_ordinal_encoderr-  m  sŽ   € õ Ñ
Ô
€CÝ
Œ(�I�I�I˜y˜y˜yÐ)°Ð
9Ñ
9Ô
9€CÝ�s×(Ò(¨Ñ+Ô+¨S¯ZªZ¸	Ñ-BÔ-BÑCÔCÐCÝ
˜wÐ
'Ñ
'Ô
'€CÝ�s×(Ò(¨Ñ+Ô+¨SÑ1Ô1Ð1Ð1Ð1r%   )r›   rÂ   zobject-string-catc                 óT  — t          |¬¦  «        }t          j        dgdgg¦  «        }t          |                     | ¦  «        |¦  «         t          |j        d         ¦  «        t          |d         ¦  «        k    sJ ‚|j        d                              ¦   «         t          |d         ¦  «        k    sJ ‚|j        d         j	        |k    sJ ‚t          |¬¦  «        }t          j        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr>   r   r   r   r-   r.   )r   r   r   r   r   rõ   r?   rô   r÷   rQ   r1   r2   r3   r0   )r   r7   r	  rú   r@   rÖ   s         r#   Ú)test_ordinal_encoder_specified_categoriesr/  ~  sY  € õ2  DÐ
)Ñ
)Ô
)€CÝ
Œ(�S�E˜C˜5�>Ñ
"Ô
"€CÝ�s×(Ò(¨Ñ+Ô+¨SÑ1Ô1Ð1Ý�”˜qÔ!Ñ"Ô"¥d¨4°¬7¡m¤mÒ3Ð3Ð3Ð3ØŒ?˜1Ô×$Ò$Ñ&Ô&­$¨t°A¬w©-¬-Ò7Ð7Ð7Ð7ð Œ?˜1ÔÔ# yÒ0Ð0Ð0Ð0õ  DÐ
)Ñ
)Ô
)€CÝ	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ã:DÄD!Ä$D!c                  óÆ  — g d¢g d¢g} t          ¦   «         }|                     | ¦  «        }t          j        | t          ¬¦  «        }t          |                     |¦  «        |¦  «         t          j        g d¢g d¢g¦  «        }t          j        d¦  «        }t          j
        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr½   rº   rP   )r   r   r   r   r\   rÑ   r.   )r   r   r   r   r›   r   rÒ   rÓ   rÔ   r1   r2   r3   )r   r@   rÕ   rÖ   rA   s        r#   Útest_ordinal_encoder_inverser1  §  s  € Ø	ˆˆ˜˜˜Ð(€AÝ
Ñ
Ô
€CØ×Ò˜QÑÔ€DÝ
Œ(�1�FÐ
#Ñ
#Ô
#€CÝ�s×,Ò,¨TÑ2Ô2°CÑ8Ô8Ð8õ Œ8�\�\�\ < < <Ð0Ñ1Ô1€DÝ
Œ)Ð?Ñ
@Ô
@€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð $ð $Ø×Ò˜dÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   Â3CÃCÃCc                  óü  — t          dd¬¦  «        } t          j        ddgddgdd	ggt          ¬
¦  «        }t          j        ddgddgddggt          ¬
¦  «        }|                      |¦  «         |                      |¦  «        }t          j        ddgddgddggd¬
¦  «        }t          ||¦  «         |                      |¦  «        }t          j        dd gd dgddggt          ¬
¦  «        }t          ||¦  «         d S )NÚuse_encoded_valueéþÿÿÿ©r&   Úunknown_valuer<   Úxr=   Úyr  r  rP   ÚxyÚblar   r   r   r  )r   r   r   r›   r0   r4   r   rÒ   )r@   ÚX_fitrÛ   ÚX_trans_encrÖ   ÚX_trans_invÚinv_exps          r#   Ú+test_ordinal_encoder_handle_unknowns_stringr?  µ  s
  € Ý
Ð(;È2Ð
NÑ
NÔ
N€CÝŒH�s˜C�j 3¨ *¨s°C¨jÐ9ÅÐHÑHÔH€EÝŒh˜˜d˜ e¨S \°C¸°:Ð>ÅfÐMÑMÔM€GØ‡G‚GˆE�N„N€Nà—-’- Ñ(Ô(€KÝ
Œ(�Q˜�G˜b !˜W q¨! fÐ-°WÐ
=Ñ
=Ô
=€CÝ�{ CÑ(Ô(Ð(à×'Ò'¨Ñ4Ô4€KÝŒh˜˜d˜ d¨C [°3¸°*Ð=ÅVÐLÑLÔL€GÝ�{ GÑ,Ô,Ð,Ð,Ð,r%   rQ   c                 óè  — t          dd¬¦  «        }t          j        ddgddgdd	gg| ¬
¦  «        }t          j        ddgddgddgg| ¬
¦  «        }|                     |¦  «         |                     |¦  «        }t          j        ddgddgddggd¬
¦  «        }t          ||¦  «         |                     |¦  «        }t          j        dd gd dgddggt          ¬
¦  «        }t          ||¦  «         d S )Nr3  éüÿÿr5  r   é   r   é   r   é	   rP   rk   é   r   r  )r   r   r   r0   r4   r   rÒ   r›   )rQ   r@   r;  rÛ   r<  rÖ   r=  r>  s           r#   Ú,test_ordinal_encoder_handle_unknowns_numericrF  Ä  s
  € å
Ð(;È4Ð
PÑ
PÔ
P€CÝŒH�q˜!�f˜q !˜f q¨! fÐ-°UÐ;Ñ;Ô;€EÝŒh˜˜B˜ " a ¨1¨a¨&Ð1¸Ð?Ñ?Ô?€GØ‡G‚GˆE�N„N€Nà—-’- Ñ(Ô(€KÝ
Œ(�Q˜�I  a˜y¨1¨a¨&Ð1¸Ð
AÑ
AÔ
A€CÝ�{ CÑ(Ô(Ð(à×'Ò'¨Ñ4Ô4€KÝŒh˜˜D˜	 D¨! 9¨q°!¨fÐ5½VÐDÑDÔD€GÝ�{ GÑ,Ô,Ð,Ð,Ð,r%   c                  ó  — t          dt          j        ¬¦  «        } t          j        dgdgdgg¦  «        }|                      |¦  «         |                      dgdgdgg¦  «        }t          |dgdgt          j        gg¦  «         d S )Nr3  r5  r   r   r   r*   r   )r   r   rÀ   r   r0   r4   r   )r@   r;  rÛ   s      r#   Ú(test_ordinal_encoder_handle_unknowns_nanrH  Ô  s…   € õ Ð(;Í2Ì6Ð
RÑ
RÔ
R€CåŒH�q�c˜A˜3  �_Ñ%Ô%€EØ‡G‚GˆE�N„N€NØ�mŠm˜a˜S 1 #¨ s˜OÑ,Ô,€GÝ�w !  q c­B¬F¨8Ð 4Ñ5Ô5Ð5Ð5Ð5r%   c                  ó  — t          dt          j        t          ¬¦  «        } t          j        dgdgdgg¦  «        }t          j        t          d¬¦  «        5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr3  )r&   r6  rQ   r   r   r   z'dtype parameter should be a float dtyper.   )	r   r   rÀ   Úintr   r1   r2   r3   r0   )r@   r;  s     r#   Ú8test_ordinal_encoder_handle_unknowns_nan_non_float_dtyperK  ß  sÇ   € õ Ø*½"¼&Íðñ ô €Cõ ŒH�q�c˜A˜3  �_Ñ%Ô%€EÝ	Œ•zÐ)RÐ	SÑ	SÔ	Sð ð Ø�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA:Á:A>ÂA>c                  ó
  — t          j        g d¢gt          ¬¦  «        j        } g d¢}t	          |¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ÚLowÚMediumÚHighrN  rM  rP   )rM  rN  rO  r>   z*Shape mismatch: if categories is an array,r.   )	r   r   r›   rT   r   r1   r2   r3   r0   )r   r	  r@   rA   s       r#   Ú+test_ordinal_encoder_raise_categories_shaperP  ë  sË   € Ý
ŒÐ<Ð<Ð<Ð=ÅVÐLÑLÔLÔN€AØ$Ð$Ð$€DÝ
 DÐ
)Ñ
)Ô
)€CØ
6€Cå	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA8Á8A<Á?A<c            	      óL  ‡‡— t          d¬¦  «        Št          j        g d¢g d¢gd¬¦  «        } t          j        ddgd	d
ggd¬¦  «        t          j        ddgd	d
ggd¬¦  «        t          j        ddgddgg¦  «        t          j        ddgddgg¦  «        t          j        ddgd	dggd¬¦  «        fD ]wŠ‰                     ‰¦  «         t	          ˆˆfd„t          d¦  «        D ¦   «         ¦  «        sJ ‚t          ‰                     ‰¦  «                             ¦   «         | ¦  «         Œxddgd	d
ggŠ‰                     ‰¦  «         t	          ˆfd„t          d¦  «        D ¦   «         ¦  «        sJ ‚t          ‰                     ‰¦  «                             ¦   «         | ¦  «         ddgd	dggŠ‰                     ‰¦  «         t	          ˆfd„t          d¦  «        D ¦   «         ¦  «        sJ ‚t          ‰                     ‰¦  «                             ¦   «         | ¦  «         d S )NrR   r>   )r   r   r   r   )r   r   r   r   r+  rP   r   r   r   r*   r  r<   r=   r  rÿ   ó   aó   bó   có   dr›   c                 óF   •— g | ]}‰j         |         j        ‰j        k    ‘ŒS rª   ©rô   rQ   )Ú.0Úir   r@   s     €€r#   ú
<listcomp>z'test_encoder_dtypes.<locals>.<listcomp>  s*   ø€ ÐJÐJÐJ¸A�C”O AÔ&Ô,°´Ò7ÐJÐJÐJr%   c                 ón   •— g | ]1}t          j        ‰j        |         j        t           j        ¦  «        ‘Œ2S rª   )r   rø   rô   rQ   Úinteger©rX  rY  r@   s     €r#   rZ  z'test_encoder_dtypes.<locals>.<listcomp>  s1   ø€ ÐVÐVÐVÈ•”˜cœo¨aÔ0Ô6½¼
ÑCÔCÐVÐVÐVr%   c                 ó<   •— g | ]}‰j         |         j        d k    ‘ŒS )r›   rW  r]  s     €r#   rZ  z'test_encoder_dtypes.<locals>.<listcomp>  s(   ø€ ÐGÐGÐG¸�” Ô"Ô(¨HÒ4ÐGÐGÐGr%   )	r   r   r   r0   ÚallÚranger   r4   r   )rÖ   r   r@   s    @@r#   Útest_encoder_dtypesra  õ  sD  øø€ å
 6Ð
*Ñ
*Ô
*€CÝ
Œ(Ð(Ð(Ð(Ð*>Ð*>Ð*>Ð?ÀyÐ
QÑ
QÔ
Q€Cõ 	Œ�1�a�&˜1˜a˜&Ð!¨Ð1Ñ1Ô1Ý
Œ�1�a�&˜1˜a˜&Ð!¨Ð3Ñ3Ô3Ý
Œ�3˜�*˜s C˜jÐ)Ñ*Ô*Ý
Œ�4˜�,  t Ð-Ñ.Ô.Ý
Œ�1�c�(˜Q ˜HÐ%¨XÐ6Ñ6Ô6ðð 	<ð 	<ˆð 	�Š�‰
Œ
ˆ
ÝÐJÐJÐJÐJÐJÅÀqÁÄÐJÑJÔJÑKÔKÐKÐKÐKÝ˜3Ÿ=š=¨Ñ+Ô+×3Ò3Ñ5Ô5°sÑ;Ô;Ð;Ð;à
ˆQˆ�!�Q�Ð€AØ‡G‚GˆA�J„J€JÝÐVÐVÐVÐVÍUÐSTÉXÌXÐVÑVÔVÑWÔWÐWÐWÐWÝ�s—}’} QÑ'Ô'×/Ò/Ñ1Ô1°3Ñ7Ô7Ð7à
ˆSˆ�A�s�8Ð€AØ‡G‚GˆA�J„J€JÝÐGÐGÐGÐG½eÀA¹h¼hÐGÑGÔGÑHÔHÐHÐHÐHÝ�s—}’} QÑ'Ô'×/Ò/Ñ1Ô1°3Ñ7Ô7Ð7Ð7Ð7r%   c                  ó(  ‡‡— t          j        d¦  «        } t          d¬¦  «        Št          j        g d¢g d¢gd¬¦  «        }|                      dd	gd
dgddgdœd¬¦  «        }‰                     |¦  «         t          ˆfd„t          d	¦  «        D ¦   «         ¦  «        sJ ‚t          ‰ 
                    |¦  «                             ¦   «         |¦  «         |                      dd	gddgddgdœ¦  «        }|d         j        |d         j        |d         j        gŠ‰                     |¦  «         t          ˆˆfd„t          d
¦  «        D ¦   «         ¦  «        sJ ‚t          ‰ 
                    |¦  «                             ¦   «         |¦  «         d S )NrX   rR   r>   )r   r   r   r   r   r   )r   r   r   r   r   r   r+  rP   r   r   r   r*   r   rî   )rZ   r[   ÚCr  c                 ó<   •— g | ]}‰j         |         j        d k    ‘ŒS )r  rW  r]  s     €r#   rZ  z.test_encoder_dtypes_pandas.<locals>.<listcomp>  s(   ø€ ÐFÐFÐF¸�” Ô"Ô(¨GÒ3ÐFÐFÐFr%   r<   r=   rç   rè   rZ   r[   rc  c                 óH   •— g | ]}‰j         |         j        ‰|         k    ‘ŒS rª   rW  )rX  rY  ÚX_typer@   s     €€r#   rZ  z.test_encoder_dtypes_pandas.<locals>.<listcomp>"  s,   ø€ ÐHÐHÐH¸!�” Ô"Ô(¨F°1¬IÒ5ÐHÐHÐHr%   )r1   r^   r   r   r   r_   r0   r_  r`  r   r4   r   rQ   )r`   rÖ   r   rf  r@   s      @@r#   Útest_encoder_dtypes_pandasrg    s™  øø€ å	Ô	˜XÑ	&Ô	&€Bå
 6Ð
*Ñ
*Ô
*€CÝ
Œ(Ø	'Ð	'Ð	'Ð)GÐ)GÐ)GÐHØðñ ô €Cð
 	�Š˜A˜q˜6¨¨A¨°a¸°VÐ<Ð<ÀGˆÑLÔL€AØ‡G‚GˆA�J„J€JÝÐFÐFÐFÐF½UÀ1¹X¼XÐFÑFÔFÑGÔGÐGÐGÐGÝ�s—}’} QÑ'Ô'×/Ò/Ñ1Ô1°3Ñ7Ô7Ð7à
�Š˜A˜q˜6¨¨c¨
¸#¸s¸ÐDÐDÑEÔE€AØ�ŒfŒl˜A˜cœFœL¨!¨C¬&¬,Ð7€FØ‡G‚GˆA�J„J€JÝÐHÐHÐHÐHÐH½uÀQ¹x¼xÐHÑHÔHÑIÔIÐIÐIÐIÝ�s—}’} QÑ'Ô'×/Ò/Ñ1Ô1°3Ñ7Ô7Ð7Ð7Ð7r%   c                  ó|   — t          ¦   «         } ddgddgg}t          j                             | j        |¦  «         d S )Nrd   r   rf   r   )r   r   ÚtestingÚassert_no_warningsr   )r@   r   s     r#   Útest_one_hot_encoder_warningrk  &  s>   € Ý
‰/Œ/€CØ
�!ˆ�x �mÐ$€AÝ„J×!Ò! #Ô"3°QÑ7Ô7Ð7Ð7Ð7r%   Úmissing_valuec                 ó�  — dddd| g}t          |¬¦  «        }g d¢g d¢dddd| gg}|                     |¦  «                             ¦   «         }g d¢g d	¢g d
¢g}t          ||¦  «         |j        |u sJ ‚d„ t          |j        |j        ¦  «        D ¦   «         }|                     |¦  «        }t          j
        |t          ¬¦  «        }t          |d         ¦  «        rÊt          |d d…         |d d…         ¦  «         t          |d         ¦  «        sJ ‚t          |d         ¦  «        sJ ‚t          |d d …d d…f         |d d …d d…f         ¦  «         t          |dd d…f         |dd d…f         ¦  «         t          |d         ¦  «        sJ ‚t          |d         ¦  «        sJ ‚d S t          ||¦  «         t          ||¦  «         d S )Nr»   rk   r   rÎ   rä   )r¾   rk   r   r¼   r<   )r»   rk   r   r¼   r<   )r   r   r   r   r   )r   r   r   r   r   rÙ   c                 ó$   — g | ]\  }}||         ‘ŒS rª   rª   )rX  r¿   r¢   s      r#   rZ  z4test_one_hot_encoder_drop_manual.<locals>.<listcomp>:  s-   € ð ð ð Ù%˜˜gˆˆGŒðð ð r%   rP   rH   )rH   rH   )r   r   r   r   rÉ   rö   rô   r#  rÒ   r   r   r›   r   )	rl  Úcats_to_dropr@   r   ÚtransrÖ   Údropped_catsÚX_inv_transÚX_arrays	            r#   Ú test_one_hot_encoder_drop_manualrt  ,  s  € à˜2˜q " mÐ4€LÝ
˜\Ð
*Ñ
*Ô
*€CàÐÐØÐÐØ	��A�r˜=Ð)ð	€Að
 ×Ò˜aÑ Ô ×(Ò(Ñ*Ô*€EØˆ?ˆ?˜O˜O˜O¨_¨_¨_Ð
=€CÝ�u˜cÑ"Ô"Ð"ØŒ8�|Ð#Ð#Ð#Ð#ðð Ý),¨S¬_¸c¼mÑ)LÔ)Lðñ ô €Lð ×'Ò'¨Ñ.Ô.€KÝŒh�q¥Ð'Ñ'Ô'€Gõ �\ "Ô%Ñ&Ô&ð 1Ý˜<¨¨¨Ô,¨l¸3¸B¸3Ô.?Ñ@Ô@Ð@Ý˜\¨"Ô-Ñ.Ô.Ð.Ð.Ð.Ý˜\¨"Ô-Ñ.Ô.Ð.Ð.Ð.å˜7 1 1 1 c r c 6œ?¨K¸¸¸¸3¸B¸3¸Ô,?Ñ@Ô@Ð@õ 	˜7 2 s¨ s 7Ô+¨[¸¸S¸b¸S¸Ô-AÑBÔBÐBÝ˜W Vœ_Ñ-Ô-Ð-Ð-Ð-Ý˜[¨Ô0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1å˜<¨Ñ6Ô6Ð6Ý˜7 KÑ0Ô0Ð0Ð0Ð0r%   )r¾   r   rg   r<   c                 óÎ   — t          | ¬¦  «        }d}t          j        t          |¬¦  «        5  |                     g d¢g d¢g d¢g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrä   z-`drop` should have length equal to the numberr.   r½   rº   )r»   r   é;   )r   r1   r2   r3   r0   )rÉ   r@   r­   s      r#   Útest_invalid_drop_lengthrw  Q  sÉ   € å
˜TÐ
"Ñ
"Ô
"€CØ=€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Bð BØ�Š���   °°°Ð@ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs   ®AÁAÁ!AÚdensityr   Údense©r<   r   r=   r  c                 ó  — t          | ¬¦  «        }t          | |¬¦  «        }g d¢g d¢g}|                     |¦  «         |                     |¦  «         t          |j        |j        ¦  «         |dk    rt          |j        d¦  «         n=t          ||j        |j        ¦  «        D ]!\  }}}|t          |¦  «                 |k    sJ ‚Œ"t          |j        t          j	        ¦  «        sJ ‚|j        j
        t          k    sJ ‚d S )Nr   rÌ   )r  r   r<   rz  rÊ   r   )r   r0   r   rô   r#  rö   rJ  ró   r   ÚndarrayrQ   r›   )rx  rÉ   Úohe_baseÚohe_testr   Údrop_catÚdrop_idxÚcat_lists           r#   Útest_categoriesr‚  Y  s  € õ ¨7Ð3Ñ3Ô3€HÝ¨7¸Ð>Ñ>Ô>€HØ	ˆˆ˜˜˜Ð&€AØ‡L‚L��O„O€OØ‡L‚L��O„O€OÝ�xÔ+¨XÔ-AÑBÔBÐBØˆw‚€Ý˜8Ô-¨qÑ1Ô1Ð1Ð1å,/Ø�(Ô$ hÔ&:ñ-
ô -
ð 	7ð 	7Ñ(ˆH�h ð �C ™MœMÔ*¨hÒ6Ð6Ð6Ð6Ð6Ý�hÔ(­"¬*Ñ5Ô5Ð5Ð5Ð5ØÔÔ#¥vÒ-Ð-Ð-Ð-Ð-Ð-r%   ÚEncoderc                 óR   — d | ¦   «                               ¦   «         d         v sJ ‚d S )NÚcategoricalÚX_types)Ú	_get_tags)rƒ  s    r#   Ú"test_encoders_has_categorical_tagsrˆ  m  s0   € à˜G˜G™IœI×/Ò/Ñ1Ô1°)Ô<Ð<Ð<Ð<Ð<Ð<Ð<r%   ÚkwargsÚmax_categoriesÚmin_frequencyé   g�Âõ(\�Ò?rî   )rŠ  r‹  rk   r?   rR   ©r<   r=   r  rÿ   c                 óH  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          d|d	d
dœ| ¤Ž                     |¦  «        }t          |j        g d¢g¦  «         dgdgdgdgdgg}t          j        ddgddgddgddgddgg¦  «        }|                     |¦  «        }t          ||¦  «         d„ dgdgdz  z   D ¦   «         }| 	                    |¦  «        }t          ||¦  «         | 
                    ¦   «         }	t          ddg|	¦  «         dS )zpTest that different parameters for combine 'a', 'c', and 'd' into
    the infrequent category works as expected.r<   r   r=   r  r  rh   rÿ   r   r(   F)r?   r&   r   ©r<   r  rÿ   Úer   r   c                 ó   — g | ]}|g‘ŒS rª   rª   ©rX  Úcols     r#   rZ  z2test_ohe_infrequent_two_levels.<locals>.<listcomp>�  ó   € ÐHÐHÐH˜c�S�EÐHÐHÐHr%   Úinfrequent_sklearnr*   r  Úx0_infrequent_sklearnNrª   ©r   r   rT   r   r0   r   Úinfrequent_categories_r4   r
   rÒ   r’   )
r‰  r?   ÚX_trainrà   ÚX_testr$  rÛ   Úexpected_invÚX_invr“   s
             r#   Útest_ohe_infrequent_two_levelsr�  r  st  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
ð ØØ,Øðð ð ð	ð ÷
 
‚cˆ'�l„lð õ �sÔ1°O°O°OÐ3DÑEÔEÐEàˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝŒx˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸Ð@ÑAÔA€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&àHÐH c UÐ.BÐ-CÀaÑ-GÑ%GÐHÑHÔH€LØ×!Ò! 'Ñ*Ô*€EÝ�| UÑ+Ô+Ð+à×-Ò-Ñ/Ô/€MÝ˜Ð 7Ð8¸-ÑHÔHÐHÐHÐHr%   c                 ó  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          d	d
d| ¬¦  «                             |¦  «        }|j        d         |j        d                  dk    sJ ‚t          j        dgdgg¦  «        }|                     |¦  «        }t          dgdgg|¦  «         | 	                    ¦   «         }t          dg|¦  «         |                     |¦  «        }t          dgdgg|¦  «         dS )z3Test two levels and dropping the frequent category.r<   r   r=   r  r  rh   rÿ   r   r(   Fr   ©r&   r   rŠ  rÉ   r   r   r–  r•  N)r   r   rT   r   r0   rô   r#  r4   r
   r’   r   rÒ   )rÉ   r™  rà   rš  rÛ   r“   Ú	X_inverses          r#   Ú,test_ohe_infrequent_two_levels_drop_frequentr¡  ˜  s/  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
Ø,ØØØð	ñ ô ÷
 
‚cˆ'�l„lð ð Œ?˜1Ô˜cœm¨AÔ.Ô/°3Ò6Ð6Ð6Ð6åŒX˜�u˜s˜e�nÑ%Ô%€FØ�mŠm˜FÑ#Ô#€GÝ�a�S˜1˜#�J Ñ(Ô(Ð(à×-Ò-Ñ/Ô/€MÝÐ/Ð0°-Ñ@Ô@Ð@à×%Ò% gÑ.Ô.€IÝ˜˜Ð 4Ð5Ð6¸	ÑBÔBÐBÐBÐBr%   c                 ó<  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          d	d
d| ¬¦  «        }d| d         ›d�}t	          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z_Test two levels and dropping any infrequent category removes the
    whole infrequent category.r<   r   r=   r  r  rh   rÿ   r   r(   Fr   rŸ  úUnable to drop category r   ú( from feature 0 because it is infrequentr.   N©r   r   rT   r   r1   r2   r3   r0   ©rÉ   r™  rà   rA   s       r#   Ú5test_ohe_infrequent_two_levels_drop_infrequent_errorsr§  °  s  € õ
 Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
Ø,ØØØð	ñ ô €Cð Y T¨!¤WÐ
XÐ
XÐ
X€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   Á.BÂBÂBrD  g¸…ëQ¸Î?g{®GázÄ?rC  c                 ó6  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          dd	d
dœ| ¤Ž                     |¦  «        }t          |j        ddgg¦  «         dgdgdgdgdgg}t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }|                     |¦  «        }t          ||¦  «         dgdgdgdgdgg}| 	                    |¦  «        }t          ||¦  «         | 
                    ¦   «         }t          g d¢|¦  «         dS )zkTest that different parameters for combing 'a', and 'd' into
    the infrequent category works as expected.r<   r   r=   r  r  rh   rÿ   r   r(   F©r&   r   r�  r*  ©r   r   r   r)  r•  )r  r  r–  Nrª   r—  )	r‰  r™  rà   rš  r$  rÛ   r›  rœ  r“   s	            r#   Ú test_ohe_infrequent_three_levelsr¬  Â  sp  € õ  Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
ð Ø,¸Eðð ØEKðð ç	‚cˆ'�l„lð õ �sÔ1°S¸#°J°<Ñ@Ô@Ð@àˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝŒx˜˜˜ I I I¨y¨y¨y¸)¸)¸)ÀYÀYÀYÐOÑPÔP€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&ð 
ˆØ	ÐØ	ˆØ	ÐØ	Ðð€Lð ×!Ò! 'Ñ*Ô*€EÝ�| UÑ+Ô+Ð+à×-Ò-Ñ/Ô/€MÝÐ@Ð@Ð@À-ÑPÔPÐPÐPÐPr%   c                 ó^  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          d	d
d| ¬¦  «                             |¦  «        }t          j        dgdgdgg¦  «        }t          ddgddgddgg|                     |¦  «        ¦  «         |                     d¬¦  «                             |¦  «         d}t          j	        t          |¬¦  «        5  |                     dgdgg¦  «        }ddd¦  «         n# 1 swxY w Y   t          ddgddgg|¦  «         dS )z5Test three levels and dropping the frequent category.r<   r   r=   r  r  rh   rÿ   r   r(   FrŸ  r   r   r'   r,   r-   r.   r�  N)r   r   rT   r   r0   r
   r4   r°   r1   ÚwarnsÚUserWarning)rÉ   r™  rà   rš  rA   rÛ   s         r#   Ú.test_ohe_infrequent_three_levels_drop_frequentr°  ì  sŽ  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
Ø,ØØØð	ñ ô ÷
 
‚cˆ'�l„lð õ ŒX˜�u˜s˜e c UÐ+Ñ,Ô,€FÝ�a˜�V˜a ˜V a¨ VÐ,¨c¯mªm¸FÑ.CÔ.CÑDÔDÐDð ‡N‚N (€NÑ+Ô+×/Ò/°Ñ8Ô8Ð8Ø
$€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð 0ð 0Ø—-’- # ¨¨ Ñ/Ô/ˆð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ �a˜�V˜a ˜VÐ$ gÑ.Ô.Ð.Ð.Ð.s   Ã&DÄDÄDc                 ó<  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          d	d
d| ¬¦  «        }d| d         ›d�}t	          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z7Test three levels and dropping the infrequent category.r<   r   r=   r  r  rh   rÿ   r   r(   FrŸ  r£  r   r¤  r.   Nr¥  r¦  s       r#   Ú7test_ohe_infrequent_three_levels_drop_infrequent_errorsr²    s  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
Ø,ØØØð	ñ ô €Cð Y T¨!¤WÐ
XÐ
XÐ
X€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð r¨  c                  ó"  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        } t          d	d
d¬¦  «                             | ¦  «        }t          |j        ddgg¦  «         dgdgdgdgg}t          j        g d¢g d¢g d¢g d¢g¦  «        }|                     |¦  «        }t          ||¦  «         dgg}d}t          j
        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zmTest that different parameters for combining 'a', and 'd' into
    the infrequent category works as expected.r<   r   r=   r  r  rh   rÿ   r   r+   F)r&   r   rŠ  r*  r«  r)  Úbadz.Found unknown categories \['bad'\] in column 0r.   N)r   r   rT   r   r0   r   r˜  r4   r
   r1   r2   r3   )r™  rà   rš  r$  rÛ   rA   s         r#   Ú(test_ohe_infrequent_handle_unknown_errorrµ    s€  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝ
Ø¨eÀAðñ ô ç	‚cˆ'�l„lð õ �sÔ1°S¸#°J°<Ñ@Ô@Ð@ð ˆe�c�U˜S˜E C 5Ð)€FÝŒx˜˜˜ I I I¨y¨y¨y¸)¸)¸)ÐDÑEÔE€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&ð ˆgˆY€FØ
;€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�fÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ã!DÄDÄDc                 ó  — t          j        dgdz  dgdz  z   gt          ¬¦  «        j        }t	          dg d¢gddd	œ| ¤Ž                     |¦  «        }dgd
gdgdgdgg}t          j        ddgddgddgddgddgg¦  «        }|                     |¦  «        }t          ||¦  «         dddgg}dgdgg}|D ]R}|                     |¬¦  «                             |¦  «         t          dgdgg|                     |¦  «        ¦  «         ŒSdS )zG'a' is the only frequent category, all other categories are infrequent.r<   r   r�  rn   rP   ©r  rÿ   r<   r=   Fr(   ©r?   r   r&   r=   r  rÿ   r   r   rÊ   rÞ   rä   Nrª   )	r   r   r›   rT   r   r0   r4   r
   r°   )r‰  r™  rà   rš  r$  rÛ   ÚdropsrÉ   s           r#   Ú5test_ohe_infrequent_two_levels_user_cats_one_frequentrº  ,  s^  € õ Œh˜˜ ™	 S E¨B¡JÑ.Ð/µvÐ>Ñ>Ô>Ô@€GÝ
ð Ø(Ð(Ð(Ð)ØØ,ðð ð ð	ð ÷
 
‚cˆ'�l„lð ð ˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝŒx˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸Ð@ÑAÔA€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&ð �k C 5Ð)€EØˆe�c�Uˆ^€FØð ;ð ;ˆØ�Š˜DˆÑ!Ô!×%Ò% gÑ.Ô.Ð.Ý˜!˜˜q˜c˜
 C§M¢M°&Ñ$9Ô$9Ñ:Ô:Ð:Ð:ð;ð ;r%   c                  ó  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   gt          ¬	¦  «        j        } t	          g d
¢gddd¬¦  «                             | ¦  «        }t          |j        g d¢g¦  «         dgdgdgdgdgg}t          j        ddgddgddgddgddgg¦  «        }|                     |¦  «        }t          ||¦  «         d„ dgdgdz  z   D ¦   «         }| 
                    |¦  «        }t          ||¦  «         dS )zFTest that the order of the categories provided by a user is respected.r<   r   r=   r  r  rh   rÿ   r   rP   r·  Fr(   r   ©r?   r   r&   rŠ  )r  rÿ   r<   r�  r   r   c                 ó   — g | ]}|g‘ŒS rª   rª   r’  s     r#   rZ  z<test_ohe_infrequent_two_levels_user_cats.<locals>.<listcomp>^  r”  r%   r•  r*   N©r   r   r›   rT   r   r0   r   r˜  r4   r
   rÒ   ©r™  rà   rš  r$  rÛ   r›  rœ  s          r#   Ú(test_ohe_infrequent_two_levels_user_catsrÀ  H  s\  € åŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8Ð9Åðñ ô äð õ Ø(Ð(Ð(Ð)ØØ,Øð	ñ ô ÷
 
‚cˆ'�l„lð õ �sÔ1°O°O°OÐ3DÑEÔEÐEàˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝŒx˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸Ð@ÑAÔA€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&ð IÐH c UÐ.BÐ-CÀaÑ-GÑ%GÐHÑHÔH€LØ×!Ò! 'Ñ*Ô*€EÝ�| UÑ+Ô+Ð+Ð+Ð+r%   c                  ó  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   gt          ¬	¦  «        j        } t	          g d
¢gddd¬¦  «                             | ¦  «        }t          |j        ddgg¦  «         dgdgdgdgdgg}t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }|                     |¦  «        }t          ||¦  «         dgdgdgdgdgg}| 
                    |¦  «        }t          ||¦  «         dS )z¦Test that the order of the categories provided by a user is respected.
    In this case 'c' is encoded as the first category and 'b' is encoded
    as the second one.r<   r   r=   r  r  rh   rÿ   r   rP   ©r  rÿ   r=   r<   Fr(   r¼  r�  r)  r«  r*  r•  Nr¾  r¿  s          r#   Ú*test_ohe_infrequent_three_levels_user_catsrÃ  c  s^  € õ
 ŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8Ð9Åðñ ô äð õ Ø(Ð(Ð(Ð)ØØ,Øð	ñ ô ÷
 
‚cˆ'�l„lð õ �sÔ1°S¸#°J°<Ñ@Ô@Ð@àˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝŒx˜˜˜ I I I¨y¨y¨y¸)¸)¸)ÀYÀYÀYÐOÑPÔP€Hà�mŠm˜FÑ#Ô#€GÝ�H˜gÑ&Ô&Ð&ð
 
ˆØ	ÐØ	ˆØ	ÐØ	Ðð€Lð ×!Ò! 'Ñ*Ô*€EÝ�| UÑ+Ô+Ð+Ð+Ð+r%   c                  óê   — t           j        g d¢g d¢f         } t          ddd¬¦  «        }|                     | ¦  «         ddgddgg}|                     |¦  «        }t          |g d	¢g d
¢g¦  «         dS )zaTest infrequent categories where feature 0 has infrequent categories,
    and feature 1 does not.©	r   r   r   r   r   r   r   r   r   ©	r   r   r   r   r   r   r   r   r   r   rÞ   F)rŠ  rÉ   r   r   r   ©r   r   r   r   )r   r   r   r   N)r   Úc_r   r0   r4   r
   )r   rà   rš  rÛ   s       r#   Útest_ohe_infrequent_mixedrÉ  ‡  sŽ   € õ 	ŒÐ)Ð)Ð)Ð+FÐ+FÐ+FÐFÔG€Aå
 q¨{È%Ð
PÑ
PÔ
P€CØ‡G‚GˆA�J„J€Jà�!ˆf�q˜!�fÐ€FØ�mŠm˜FÑ#Ô#€Gõ �G˜l˜l˜l¨L¨L¨LÐ9Ñ:Ô:Ð:Ð:Ð:r%   c            
      ó  — t           j        g d¢g d¢g d¢f         } t          ddd¬¦  «        }|                     | ¦  «                             ¦   «         }t          |j        d         d	d
g¦  «         t          |j        d	         d	dg¦  «         t          |j        d
         d¦  «         |                     ¦   «         }t          g d¢|¦  «         g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	}t          ||¦  «         g d¢g d¢g}| 	                    |¦  «        }g d¢g d¢g}t          ||                     ¦   «         ¦  «         | 
                    |¦  «        }t          j        g d¢g d¢gt          ¬¦  «        }t          ||¦  «         t          ddd¬¦  «                             | ¦  «        }t          j        t           d¬¦  «        5  | 	                    |¦  «         ddd¦  «         n# 1 swxY w Y   g d ¢g d!¢g}| 	                    |¦  «        }g d"¢g d¢g}t          ||                     ¦   «         ¦  «         | 
                    |¦  «        }t          j        g d#¢g d$¢gt          ¬¦  «        }t          ||¦  «         dS )%z?Test infrequent categories with feature matrix with 3 features.rÅ  )	r   r   r   r   r   rh   r   r   r   )	r   r   r   r   r   r   r   r   r   rR   r   r(   ©r?   rŠ  r&   r   r   r   rh   N)Úx0_0Úx0_3r–  Úx1_0Úx1_5Úx1_infrequent_sklearnÚx2_0Úx2_1)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   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•  N)r•  r   NrP   r+   r-   r.   )r   r   r   )r   rh   r   )r   r   r   r   r   r   r   r   )r•  r•  r   )r   r•  r   )r   rÈ  r   r   r   r   r˜  r’   r
   r4   rÒ   r   r›   r0   r1   r2   r3   )	r   rà   rÛ   r“   r$  rš  ÚX_test_transrœ  r›  s	            r#   Ú'test_ohe_infrequent_multiple_categoriesrÔ  ™  sj  € õ 	ŒØ#Ð#Ð#Ø$Ð$Ð$Ø#Ð#Ð#ð	%ô	€Aõ Ø¨!Ð<Qðñ ô €Cð ×Ò Ñ"Ô"×*Ò*Ñ,Ô,€GÝ�sÔ1°!Ô4°q¸!°fÑ=Ô=Ð=Ý�sÔ1°!Ô4°q¸"°gÑ>Ô>Ð>Ý�sÔ1°!Ô4°dÑ;Ô;Ð;ð
 ×-Ò-Ñ/Ô/€MÝð		
ð 		
ð 		
ð 	ñô ð ð 	!Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð Ø Ð Ð ð
€Hõ �H˜gÑ&Ô&Ð&àˆiˆi˜˜˜Ð#€Fà—=’= Ñ(Ô(€Lð )Ð(Ð(Ð*BÐ*BÐ*BÐC€HÝ�H˜l×2Ò2Ñ4Ô4Ñ5Ô5Ð5à×!Ò! ,Ñ/Ô/€EÝ”8Ø	(Ð	(Ð	(Ð*IÐ*IÐ*IÐJÕRXðñ ô €Lõ �| UÑ+Ô+Ð+õ Ø¨!¸Gðñ ô ç	‚cˆ!�f„fð õ 
Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø�Š�fÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ˆiˆi˜˜˜Ð$€FØ—=’= Ñ(Ô(€Là(Ð(Ð(Ð*BÐ*BÐ*BÐC€HÝ�H˜l×2Ò2Ñ4Ô4Ñ5Ô5Ð5à×!Ò! ,Ñ/Ô/€Eå”8Ø	8Ð	8Ð	8Ð:VÐ:VÐ:VÐWÝðñ ô €Lõ �| UÑ+Ô+Ð+Ð+Ð+s   Ç
G,Ç,G0Ç3G0c            
      óB  — t          j        d¦  «        } |                      g d¢g d¢dœddg¬¦  «        }t          dd	d
¬¦  «        }|                     |¦  «                             ¦   «         }t          |j        d         ddg¦  «         t          |j        d         g d¢¦  «         g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g	}t          ||¦  «         |                      ddgddgdœddg¬¦  «        }g d¢g d¢g}| 	                    |¦  «        }t          ||                     ¦   «         ¦  «         | 
                    |¦  «        }t          j        ddgddggt          ¬¦  «        }t          ||¦  «         |                      ddgddgdœddg¬¦  «        }| 	                    |¦  «                             ¦   «         }g d¢g d¢g}t          ||¦  «         | 
                    |¦  «        }t          j        ddgddggt          ¬¦  «        }t          ||¦  «         dS )zHTest infrequent categories with a pandas dataframe with multiple dtypes.rX   ©	r<   Úfr  r×  r×  r<   r  r=   r=   ©	r   r   r   rh   rh   rk   r   r   r   )ÚstrrJ  rÙ  rJ  ©ÚcolumnsrR   r   r(   rË  r   r<   r=   r   ©r   r   rk   )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×  é   rk   r•  rP   r  r   N)r1   r^   r_   r   r   r   r   r˜  r
   r4   rÒ   r   r   r›   )	r`   r   rà   rÛ   r$  rš  rÓ  rœ  r›  s	            r#   Ú.test_ohe_infrequent_multiple_categories_dtypesrÞ  ô  sº  € õ 
Ô	˜XÑ	&Ô	&€BØ
�Šà@Ð@Ð@Ø1Ð1Ð1ð	
ð 	
ð ˜�ð 	ñ 	ô 	€Aõ Ø¨!Ð<Qðñ ô €Cð ×Ò Ñ"Ô"×*Ò*Ñ,Ô,€GÝ�sÔ1°!Ô4°s¸C°jÑAÔAÐAÝ�sÔ1°!Ô4°j°j°jÑAÔAÐAð 	ÐÐØÐÐØÐÐØÐÐØÐÐØÐÐØÐÐØÐÐØÐÐð
€Hõ �H˜gÑ&Ô&Ð&à�\Š\ 3¨ *°b¸"°XÐ>Ð>ÈÐPUÈˆ\ÑWÔW€Fà"Ð"Ð"Ð$6Ð$6Ð$6Ð7€HØ—=’= Ñ(Ô(€LÝ�H˜l×2Ò2Ñ4Ô4Ñ5Ô5Ð5à×!Ò! ,Ñ/Ô/€EÝ”8Ø
Ð 4Ð	5¸Ð=QÐ7RÐSÝðñ ô €Lõ �| UÑ+Ô+Ð+ð �\Š\ 3¨ *°b¸!°WÐ=Ð=ÈÈuÀ~ˆ\ÑVÔV€FØ—=’= Ñ(Ô(×0Ò0Ñ2Ô2€LØ"Ð"Ð"Ð$6Ð$6Ð$6Ð7€HÝ�H˜lÑ+Ô+Ð+à×!Ò! ,Ñ/Ô/€EÝ”8Ø
Ð#Ð	$Ð';¸QÐ&?Ð@Íðñ ô €Lõ �| UÑ+Ô+Ð+Ð+Ð+r%   rm   )r‹  rŠ  c                 ó  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          dd	d
dœ| ¤Ž}|                     |¦  «         |                     dgg¦  «        }t          |dgg¦  «         dS )ú,All user provided categories are infrequent.r<   r   r=   r  r  rh   rÿ   r   r(   Frª  r   Nrª   )r   r   rT   r   r0   r4   r
   ©r‰  r™  rà   rÛ   s       r#   Ú$test_ohe_infrequent_one_level_errorsrâ  5  s©   € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€Gå
ð Ø,¸Eðð ØEKðð €Cð ‡G‚GˆGÑÔÐà�mŠm˜c˜U˜GÑ$Ô$€GÝ�G˜q˜c˜UÑ#Ô#Ð#Ð#Ð#r%   c                 óö   — t          j        dgdz  gt          ¬¦  «        j        }t	          dg d¢gdddœ| ¤Ž                     |¦  «        }|                     dgdgg¦  «        }t          |d	gd	gg¦  «         d
S )rà  r�  r   rP   r·  Fr(   r¸  r<   r   Nrª   )r   r   r›   rT   r   r0   r4   r
   rá  s       r#   Ú5test_ohe_infrequent_user_cats_unknown_training_errorsrä  C  s¡   € õ Œh˜˜ ™	�{­&Ð1Ñ1Ô1Ô3€GÝ
ð Ø(Ð(Ð(Ð)ØØ,ðð ð ð	ð ÷
 
‚cˆ'�l„lð ð �mŠm˜c˜U S E˜NÑ+Ô+€GÝ�G˜q˜c A 3˜ZÑ(Ô(Ð(Ð(Ð(r%   c                  óÎ   — ddgddgddgg} d}t          j        t          |¬¦  «        5  t          d¬	¦  «                             | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrd   r   rf   r   r   z'`sparse` was renamed to `sparse_output`r.   Fr   )r1   r®  ÚFutureWarningr   r0   )r   rA   s     r#   Ú&test_one_hot_encoder_sparse_deprecatedrç  T  s·   € Ø
�!ˆ�x �m h° ]Ð3€Aà
3€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð +ð +Ý˜UÐ#Ñ#Ô#×'Ò'¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   ©$AÁAÁ!Azinput_dtype, category_dtype)ÚOOÚOUÚUOÚUUÚSOÚSUÚSSÚ
array_type)rõ   r   Ú	dataframec                 ó:  — t          j        dgdgg| ¬¦  «        }t          j        ddg|¬¦  «        g}t          |d¬¦  «                             |¦  «        }t	          dgdgdgdgg|| ¬¦  «        }|                     |¦  «        }t          j        ddgddgddgddgg¦  «        }t          ||¦  «         t          |¬¦  «                             |¦  «        }	|	                     |¦  «        }t          j        dgdgdgdgg¦  «        }t          ||¦  «         d	S )
a"  Check that encoding work with object, unicode, and byte string dtypes.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/15616
    https://github.com/scikit-learn/scikit-learn/issues/15726
    https://github.com/scikit-learn/scikit-learn/issues/19677
    r=   r<   rP   Fr´   r   r   r>   N)	r   r   r   r0   r	   r4   r
   r   r   )
rN   Úcategory_dtyperï  r   r?   rà   rš  rÛ   r$  Úoes
             r#   Útest_encoders_string_categoriesrô  ]  s7  € õ 	Œ�3�%˜#˜� {Ð3Ñ3Ô3€AÝ”(˜C ˜:¨^Ð<Ñ<Ô<Ð=€JÝ
 :¸UÐ
CÑ
CÔ
C×
GÒ
GÈÑ
JÔ
J€CåØ
ˆ��˜�u˜s˜eÐ$ j¸ðñ ô €Fð �mŠm˜FÑ#Ô#€GåŒx˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°Ð8Ñ9Ô9€HÝ�G˜XÑ&Ô&Ð&å	 :Ð	.Ñ	.Ô	.×	2Ò	2°1Ñ	5Ô	5€BØ�lŠl˜6Ñ"Ô"€GåŒx˜!˜˜q˜c A 3¨¨Ð,Ñ-Ô-€HÝ�w Ñ)Ô)Ð)Ð)Ð)r%   c                  óH  — t          j        dgdggd¬¦  «        } t          j        ddgd¬¦  «        g}t          |d¬¦  «        }t          j        d¦  «        }t          j        t          |¬	¦  «        5  |                     | ¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z¦Check that this mixture of predefined categories and X raises an error.

    Categories defined as bytes can not easily be compared to data that is
    a string.
    r=   r<   ÚUrP   ÚSFr´   zjIn column 0, the predefined categories have type 'bytes' which is incompatible with values of type 'str_'.r.   N)	r   r   r   rÓ   rÔ   r1   r2   r3   r0   )r   r?   rà   rA   s       r#   Ú$test_mixed_string_bytes_categoricalsrø  |  sí   € õ 	Œ�3�%˜#˜� sÐ+Ñ+Ô+€Aå”(˜C ˜:¨SÐ1Ñ1Ô1Ð2€JÝ
 :¸UÐ
CÑ
CÔ
C€Cå
Œ)ð	'ñô €Cõ
 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á4BÂBÂBc                 óî   — t          j        dd| d| ggt          ¬¦  «        j        }t	          dd¬¦  «                             |¦  «        }|                     ¦   «         }t          |ddd	| › �g¦  «         d S )
Nr<   r=   rP   Fr'   ©r   r&   Úx0_ar  Úx0_)r   r   r›   rT   r   r0   r’   r   )rl  r   rà   Únamess       r#   Ú)test_ohe_missing_values_get_feature_namesrþ  ‘  s€   € õ 	Œ�3˜˜]¨C°Ð?Ð@ÍÐOÑOÔOÔQ€AÝ
 e¸HÐ
EÑ
EÔ
E×
IÒ
IÈ!Ñ
LÔ
L€CØ×%Ò%Ñ'Ô'€EÝ�u˜v vÐ/D°]Ð/DÐ/DÐEÑFÔFÐFÐFÐFr%   c            	      ó6  — t          j        d¦  «        } |                      g d¢t          j        dddt          j        gt          ¬¦  «        dœdd	g¬
¦  «        }t          j        g d¢g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          ||¦  «         d S )NrX   )Údogr¿   Nr¿   r   r   r*   rP   )Úcol1Úcol2r  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   )	r1   r^   r_   r   r   rÀ   Úfloatr¹   r
   )r`   ÚdfÚexpected_df_transrÆ   s       r#   Ú%test_ohe_missing_value_support_pandasr  š  sÇ   € å	Ô	˜XÑ	&Ô	&€BØ	�Šà/Ð/Ð/Ý”H˜a  A¥r¤vÐ.µeÐ<Ñ<Ô<ð	
ð 	
ð ˜Ð ð 
ñ 
ô 
€Bõ œà!Ð!Ð!Ø!Ð!Ð!Ø!Ð!Ð!Ø!Ð!Ð!ð		
ñô Ðõ # 2Ñ
&Ô
&€CÝ�CÐ*Ñ+Ô+Ð+Ð+Ð+r%   Úpd_nan_typeúpd.NAznp.nanc           
      ó@  — t          j        d¦  «        }| dk    r|j        nt          j        }|                     d|                     dd|ddgd¬¦  «        i¦  «        }t          j        g d	¢g d
¢g d¢g d¢g d
¢g¦  «        }t          d|¬¦  «        }| 	                    |¦  «        }t          ||¦  «         t          |j        ¦  «        dk    sJ ‚t          |j        d         d d…         g d¢¦  «         t          j        |j        d         d         ¦  «        sJ ‚d S )NrX   r  r  r  r<   r=   r£   rP   )r   r   r   r   )r   r   r   r   )r   r   r   r   rÇ  Frú  r   r   rH   r   )r1   r^   ÚNAr   rÀ   r_   rï   r   r   r   r
   Úlenrô   r   Úisnan)r  r&   r`   Úpd_missing_valuer  r  rà   Údf_transs           r#   Ú1test_ohe_missing_value_support_pandas_categoricalr  ±  s@  € õ 
Ô	˜XÑ	&Ô	&€Bà +¨wÒ 6Ð 6�r”u�u½B¼FÐà	�Šà�B—I’I˜s CÐ)9¸3ÀÐDÈJ�IÑWÔWð	
ñ
ô 
€Bõ
 œàˆLˆLØˆLˆLØˆLˆLØˆLˆLØˆLˆLð	
ñô Ðõ  e¸NÐ
KÑ
KÔ
K€CØ× Ò  Ñ$Ô$€HÝÐ% xÑ0Ô0Ð0åˆsŒÑÔ 1Ò$Ð$Ð$Ð$Ý�s” qÔ)¨#¨2¨#Ô.°°°Ñ@Ô@Ð@ÝŒ8�C”O AÔ& rÔ*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r%   c                 ó2  — ddgddgddgg}t          dd| ¬¦  «        }|                     |¦  «        }t          j        g d	¢g d
¢g d¢g¦  «        }t	          ||¦  «         ddgg}t          j        g d	¢g¦  «        }d}t          j        t          |¬¦  «        5  |                     |¦  «        }ddd¦  «         n# 1 swxY w Y   t	          ||¦  «         | 	                    |¦  «        }t          |t          j        ddggt          ¬¦  «        ¦  «         dS )zZCheck drop='first' and handle_unknown='ignore'/'infrequent_if_exist'
    during transform.r<   r   r=   r   r   rÊ   F©rÉ   r   r&   rØ   rÐ   )r   r   r   r  r   útFound unknown categories in columns \[0, 1\] during transform. These unknown categories will be encoded as all zerosr.   NrP   ©r   r   r   r   r
   r1   r®  r¯  r4   rÒ   r   r›   ©r&   r   rà   rÛ   rU   rš  Úwarn_msgrœ  s           r#   Ú/test_ohe_drop_first_handle_unknown_ignore_warnsr  Ñ  s‚  € ð ˆqˆ�C˜�8˜c 1˜XÐ&€Aå
Ø E¸.ðñ ô €Cð ×Ò Ñ"Ô"€Gå”àˆIˆIØˆIˆIØˆIˆIð	
ñô €Jõ �G˜ZÑ(Ô(Ð(ð �AˆhˆZ€FÝ”˜9˜9˜9˜+Ñ&Ô&€Jð	ð õ
 
Œ•k¨Ð	2Ñ	2Ô	2ð (ð (Ø—-’- Ñ'Ô'ˆð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å�G˜ZÑ(Ô(Ð(ð ×!Ò! *Ñ-Ô-€EÝ�u�bœh¨¨a¨ z½Ð@Ñ@Ô@ÑAÔAÐAÐAÐAó   ÂB;Â;B?ÃB?c                 ó2  — ddgddgddgg}t          dd| ¬¦  «        }|                     |¦  «        }t          j        g d	¢g d
¢g d¢g¦  «        }t	          ||¦  «         ddgg}t          j        g d¢g¦  «        }d}t          j        t          |¬¦  «        5  |                     |¦  «        }ddd¦  «         n# 1 swxY w Y   t	          ||¦  «         | 	                    |¦  «        }t          |t          j        ddggt          ¬¦  «        ¦  «         dS )zDCheck drop='if_binary' and handle_unknown='ignore' during transform.r<   r   r=   r   r   rÞ   Fr  rÇ  rÅ   r\   r  r   )r   r   r   r   r  r.   NrP   r  r  s           r#   Ú3test_ohe_drop_if_binary_handle_unknown_ignore_warnsr  ÷  s‚  € ð ˆqˆ�C˜�8˜c 1˜XÐ&€Aå
Ø¨¸nðñ ô €Cð ×Ò Ñ"Ô"€Gå”àˆLˆLØˆLˆLØˆLˆLð	
ñô €Jõ �G˜ZÑ(Ô(Ð(ð �AˆhˆZ€FÝ”˜<˜<˜<˜.Ñ)Ô)€Jð	ð õ
 
Œ•k¨Ð	2Ñ	2Ô	2ð (ð (Ø—-’- Ñ'Ô'ˆð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å�G˜ZÑ(Ô(Ð(ð ×!Ò! *Ñ-Ô-€EÝ�u�bœh¨¨d¨ }½FÐCÑCÔCÑDÔDÐDÐDÐDr  c                 ód  — ddgddgddgg}t          dd| ddgddgg¬¦  «        }|                     |¦  «         d	dgg}t          j        ddgg¦  «        }d
}t	          j        t          |¬¦  «        5  |                     |¦  «        }ddd¦  «         n# 1 swxY w Y   t          ||¦  «         dS )znCheck drop='first' and handle_unknown='ignore'/'infrequent_if_exist'
    during fit with categories passed in.r<   r   r=   r   r   rÊ   F)rÉ   r   r&   r?   r  zqFound unknown categories in columns \[0\] during transform. These unknown categories will be encoded as all zerosr.   N)	r   r0   r   r   r1   r®  r¯  r4   r
   )r&   r   rà   rš  rU   r  rÛ   s          r#   Ú'test_ohe_drop_first_explicit_categoriesr    s  € ð
 ˆqˆ�C˜�8˜c 1˜XÐ&€Aå
ØØØ%Ø˜#�J  A Ð'ð	ñ ô €Cð ‡G‚GˆA�J„J€Jà�AˆhˆZ€FÝ”˜A˜q˜6˜(Ñ#Ô#€Jð	Að õ 
Œ•k¨Ð	2Ñ	2Ô	2ð (ð (Ø—-’- Ñ'Ô'ˆð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å�G˜ZÑ(Ô(Ð(Ð(Ð(s   Á3BÂBÂBc                  ó
  — t          j        d¦  «        } |                      g d¢g d¢dœddg¬¦  «        }t          d¬	¦  «        }|                     d¬
¦  «         d}t          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   |                     |¦  «         t          j        t          |¬¦  «        5  | 	                    |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zJRaise informative error message when pandas output and sparse_output=True.rX   r  )r  r=   r=   )r<   r=   r<   r=   rÚ  Tr   ©r4   zxPandas output does not support sparse data. Set sparse_output=False to output pandas DataFrames or disable pandas outputr.   N)
r1   r^   r_   r   Ú
set_outputr2   r3   r   r0   r4   )r`   r  rà   rA   s       r#   Ú'test_ohe_more_informative_error_messager  7  s†  € å	Ô	˜XÑ	&Ô	&€BØ	�Š˜I˜I˜I¨O¨O¨OÐ<Ð<ÀsÈCÀjˆÑ	QÔ	Q€Bå
 dÐ
+Ñ
+Ô
+€CØ‡N‚N˜X€NÑ&Ô&Ð&ð	Sð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø×Ò˜"ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡G‚GˆB�K„K€KÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š�bÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Á8BÂBÂ!BÃC8Ã8C<Ã?C<c                  ó:  — t          j        t           j        dddgg¦  «        j        } t	          t           j        ¬¦  «        }dt           j        › �}t          j        t          |¬¦  «        5  | 	                    | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zDTest ordinal encoder with nan passthrough fails when dtype=np.int32.rç   r   rP   zdThere are missing values in features \[0\]. For OrdinalEncoder to encode missing values with dtype: r.   N)
r   r   rÀ   rT   r   Úint32r1   r2   r3   r0   )r   ró  rA   s      r#   ÚBtest_ordinal_encoder_passthrough_missing_values_float_errors_dtyper"  K  sÙ   € õ 	Œ•2”6˜3  SÐ)Ð*Ñ+Ô+Ô-€AÝ	�bœhÐ	'Ñ	'Ô	'€Bð	;Ý02´ð	;ð 	;ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á-BÂBÂBÚencoded_missing_valuer4  c                 óÜ  — t          j        t           j        dddggt           j        ¬¦  «        j        }t          | ¬¦  «                             |¦  «        }t          |j        ¦  «        dk    sJ ‚t          |j        d         ddt           j        g¦  «         | 
                    |¦  «        }t          || gdgdgdgg¦  «         |                     |¦  «        }t          ||¦  «         dS )	z.Test ordinal encoder with nan on float dtypes.rç   r   rP   ©r#  r   r   r   N)r   r   rÀ   r+  rT   r   r0   r  rô   r
   r4   rÒ   )r#  r   ró  rÛ   r   s        r#   Ú5test_ordinal_encoder_passthrough_missing_values_floatr&  Y  sà   € õ 	Œ•2”6˜3  SÐ)Ð*µ"´*Ð=Ñ=Ô=Ô?€AÝ	Ð.CÐ	DÑ	DÔ	D×	HÒ	HÈÑ	KÔ	K€BåˆrŒ~ÑÔ !Ò#Ð#Ð#Ð#å�B”N 1Ô%¨¨Sµ"´&Ð'9Ñ:Ô:Ð:à�lŠl˜1‰oŒo€GÝ�GÐ4Ð5¸°u¸s¸eÀcÀUÐKÑLÔLÐLà×$Ò$ WÑ-Ô-€IÝ�I˜qÑ!Ô!Ð!Ð!Ð!r%   c           
      ó  — t          j        d¦  «        }| dk    r|j        nt          j        }|                     d|                     dd|ddgd¬¦  «        i¦  «        }t          |¬	¦  «                             |¦  «        }t          |j
        ¦  «        d
k    sJ ‚t          |j
        d         dd…         g d¢¦  «         t          j        |j
        d         d         ¦  «        sJ ‚|                     |¦  «        }t          |dgdg|gdgdgg¦  «         |                     |¦  «        }|j        dk    sJ ‚t          |dd…df         ddg¦  «         t          |dd…df         ddg¦  «         t          j        |d         ¦  «        sJ ‚dS )z0Check ordinal encoder is compatible with pandas.rX   r  r  r  r<   r=   r£   rP   r%  r   r   Nr   r   rH   ç       @r   r   )r   r   r   rÏ   )r1   r^   r
  r   rÀ   r_   rï   r   r0   r  rô   r   r  r4   r
   rÒ   r   )r  r#  r`   r  r  ró  r  r   s           r#   Ú=test_ordinal_encoder_missing_value_support_pandas_categoricalr)  k  s§  € õ 
Ô	˜XÑ	&Ô	&€Bà +¨wÒ 6Ð 6�r”u�u½B¼FÐà	�Šà�B—I’I˜s CÐ)9¸3ÀÐDÈJ�IÑWÔWð	
ñ
ô 
€Bõ 
Ð.CÐ	DÑ	DÔ	D×	HÒ	HÈÑ	LÔ	L€BÝˆrŒ~ÑÔ !Ò#Ð#Ð#Ð#Ý�r”~ aÔ(¨¨!¨Ô,¨o¨o¨oÑ>Ô>Ð>ÝŒ8�B”N 1Ô% bÔ)Ñ*Ô*Ð*Ð*Ð*à�|Š|˜BÑÔ€Hå�H ˜u s eÐ.CÐ-DÀsÀeÈcÈUÐSÑTÔTÐTà×$Ò$ XÑ.Ô.€IØŒ?˜fÒ$Ð$Ð$Ð$Ý�y  !  Q Ô'¨#¨s¨Ñ4Ô4Ð4Ý�y    Q Ô'¨#¨s¨Ñ4Ô4Ð4ÝŒ8�I˜d”OÑ$Ô$Ð$Ð$Ð$Ð$Ð$r%   r(  )zobject-None-missing-valuezobject-nan-missing_valueznumeric-missing-valuec                 ó’  — t          |¬¦  «        }t          j        dgt          j        gg¦  «        }t	          |                     | ¦  «        |¦  «         |j        d         j        |k    sJ ‚t          |¬¦  «        }t          j	        t          d¬¦  «        5  |                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z.Test ordinal encoder for specified categories.r>   r   r   r-   r.   N)r   r   r   rÀ   r   r   rô   rQ   r1   r2   r3   r0   )r   r7   r	  rú   ró  rÖ   s         r#   Ú=test_ordinal_encoder_specified_categories_missing_passthroughr+  Œ  s  € õL 
 4Ð	(Ñ	(Ô	(€BÝ
Œ(�S�E�BœF˜8Ð$Ñ
%Ô
%€CÝ�r×'Ò'¨Ñ*Ô*¨CÑ0Ô0Ð0ð Œ>˜!ÔÔ" iÒ/Ð/Ð/Ð/õ 
 4Ð	(Ñ	(Ô	(€BÝ	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø
�Šˆr‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB<Â<C ÃC zX, expected_X_trans, X_testr   r   )r   rè   rç   )r   r(  r   r  )r  r<   r=   )r(  r   r   c                 ó¼   — t          dd¬¦  «        }|                     | ¦  «        }t          ||¦  «         t          |                     |¦  «        dgg¦  «         dS )z>Test the interaction between missing values and handle_unknownr3  rH   r5  g      ð¿N)r   r   r
   r4   )r   Úexpected_X_transrš  ró  rÛ   s        r#   Ú/test_ordinal_encoder_handle_missing_and_unknownr.  À  sa   € õ8 
Ð':È"Ð	MÑ	MÔ	M€Bà×Ò˜qÑ!Ô!€GÝ�GÐ-Ñ.Ô.Ð.å�B—L’L Ñ(Ô(¨D¨6¨(Ñ3Ô3Ð3Ð3Ð3r%   c                  ó†  — t          j        g d¢g d¢g¦  «        } t          j        | ¦  «        }t	          ¦   «         }d}t          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  | 	                    |¦  «         ddd¦  «         n# 1 swxY w Y   | 	                    | ¦  «        }t          j        |¦  «        }t          j        t          |¬¦  «        5  | 
                    |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z¥Check that we raise proper error with sparse input in OrdinalEncoder.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/19878
    r   r   z6A sparse matrix was passed, but dense data is requiredr.   N)r   r   r   Ú
csr_matrixr   r1   r2   r¬   r0   r   rÒ   )r   ÚX_sparseÚencoderr­   rÛ   r!   s         r#   Útest_ordinal_encoder_sparser3  ä  sì  € õ
 	Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝÔ  Ñ#Ô#€HåÑÔ€GàF€GÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ð Ø�Š�HÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•y¨Ð	0Ñ	0Ô	0ð (ð (Ø×Ò˜hÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð ×#Ò# AÑ&Ô&€GÝÔ& wÑ/Ô/€NÝ	Œ•y¨Ð	0Ñ	0Ô	0ð 2ð 2Ø×!Ò! .Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s6   ÁA<Á<B ÂB Â"CÃCÃCÄD6Ä6D:Ä=D:c                  óh  — t          j        g d¢¦  «        dd…t           j        f         } t          g d¢gdd¬¦  «        }|                     | ¦  «         t          g d¢gd¬¦  «        }t          j        t          d	¬
¦  «        5  |                     | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zÂCheck OrdinalEncoder.fit works with unseen category when
    `handle_unknown="use_encoded_value"`.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/19872
    )r   r   r   r   r   r   N)rH   r   r   r3  rA  )r?   r&   r6  r+   r  r-   r.   )r   r   Únewaxisr   r0   r1   r2   r3   )r   ró  s     r#   Ú-test_ordinal_encoder_fit_with_unseen_categoryr6  ú  sþ   € õ 	ŒÐ#Ð#Ð#Ñ$Ô$ Q Q Q­¬
 ]Ô3€AÝ	Ø�J�J�<Ð0CÐSWð
ñ 
ô 
€Bð ‡F‚Fˆ1�I„I€Iå	 J J J <ÀÐ	HÑ	HÔ	H€BÝ	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB'Â'B+Â.B+r™  ÚAAÚOrö  rš  c                 ó¢   — t          dd¬¦  «        }|                     | ¦  «         |                     |¦  «        }t          |ddgg¦  «         dS )z–Checks that `OrdinalEncoder` transforms string dtypes.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/19872
    r3  i÷ÿÿÿr5  r   N)r   r0   r4   r
   )r™  rš  r@   rÛ   s       r#   Ú1test_ordinal_encoder_handle_unknown_string_dtypesr:    sV   € õ* Ð(;È2Ð
NÑ
NÔ
N€CØ‡G‚GˆGÑÔÐà�mŠm˜FÑ#Ô#€GÝ�G˜r 1˜g˜YÑ'Ô'Ð'Ð'Ð'r%   c                  óR  — t          j        g d¢¦  «                             dd¦  «        } t          ¦   «                              | ¦  «        }t          |j        t          j        | d¬¦  «        j        ¦  «         | 	                    | ¦  «        }t          |dgdgdgdgg¦  «         dS )	zÁCheck that `OrdinalEncoder` accepts Python integers that are potentially
    larger than 64 bits.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/20721
    )l   	HéP
1& l   	H]v—i—eøl   	 :?i}Gaï l   IRÕK2e6krH   r   r   )Úaxisr   r   N)
r   r   rK   r   r0   r   rô   ÚsortrT   r4   )r   r2  rÛ   s      r#   Ú#test_ordinal_encoder_python_integerr>  '  s°   € õ 	Œð	
ð 	
ð 	
ñ	ô 	÷ ‚gˆb�!�n„nð õ ÑÔ×"Ò" 1Ñ%Ô%€GÝ�wÔ*­B¬G°A¸AÐ,>Ñ,>Ô,>Ô,@ÑAÔAÐAØ×Ò Ñ"Ô"€GÝ�w !  q c¨A¨3°°Ð 4Ñ5Ô5Ð5Ð5Ð5r%   c                  óô   — t          j        d¦  «        } g d¢}|                      g d¢g|¬¦  «        }t          ¦   «                              |¦  «        }|                     ¦   «         }t          ||¦  «         dS )z-Check feature names out is same as the input.rX   )r=   r  r<   r  rÚ  N)r1   r^   r_   r   r0   r’   r   )r`   rý  r   r@   Úfeature_names_outs        r#   Ú.test_ordinal_encoder_features_names_out_pandasrA  ;  sx   € å	Ô	˜XÑ	&Ô	&€BàˆOˆO€EØ
�Š�i�i�i�[¨%ˆÑ0Ô0€AÝ
Ñ
Ô
×
Ò
˜qÑ
!Ô
!€Cà×1Ò1Ñ3Ô3ÐÝ�uÐ/Ñ0Ô0Ð0Ð0Ð0r%   c                  óV  — t          j        dgdgt           j        ggt          ¬¦  «        } t	          dt           j        d¬¦  «                             | ¦  «        }|                     | ¦  «        }t          |dgdgdgg¦  «         t          j        d	gt           j        ggt          ¬¦  «        }|                     |¦  «        }t          |t           j        gdgg¦  «         |                     |¦  «        }|d         d         �J ‚t          j	        |d         d         ¦  «        sJ ‚d
S )zECheck interactions between encode_unknown and missing value encoding.r<   r=   rP   r3  éýÿÿÿ©r&   r6  r#  r   r   r  N)
r   r   rÀ   r›   r   r0   r4   r
   rÒ   r  )r   ró  rÛ   rš  rÓ  ÚX_roundtrips         r#   Ú0test_ordinal_encoder_unknown_missing_interactionrF  G  s$  € õ 	Œ�3�%˜#˜¥¤ Ð)µÐ8Ñ8Ô8€Aå	Ø*Ý”fØ ð
ñ 
ô 
÷ 
‚cˆ!�f„fð	 ð �lŠl˜1‰oŒo€GÝ�G˜q˜c A 3¨¨Ð-Ñ.Ô.Ð.õ ŒX˜�u�rœv˜hÐ'­vÐ6Ñ6Ô6€FØ—<’< Ñ'Ô'€LÝ�L¥B¤F 8¨b¨TÐ"2Ñ3Ô3Ð3ð ×&Ò& |Ñ4Ô4€Kð �qŒ>˜!ÔÐ$Ð$Ð$õ Œ8�K ”N 1Ô%Ñ&Ô&Ð&Ð&Ð&Ð&Ð&r%   Úwith_pandasc                 óŒ  — t          j        ddgddgdt           j        ggt          ¬¦  «        }d}| r3t	          j        d¦  «        }|                     |d	d
g¬¦  «        }|dz   }n|dz   }t          d¬¦  «        }t	          j        t          |¬¦  «        5  | 
                    |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zXCheck OrdinalEncoder errors when encoded_missing_value is used by
    an known category.r<   r   r=   r¿   r  rP   zTencoded_missing_value \(1\) is already used to encode a known category in features: rX   ÚletterÚpetrÚ  z	\['pet'\]z\[1\]r   r%  r.   N)r   r   rÀ   r›   r1   r^   r_   r   r2   r3   r0   )rG  r   Ú	error_msgr`   ró  s        r#   Ú0test_ordinal_encoder_encoded_missing_value_errorrL  e  s  € õ 	Œ�3˜�,  e ¨sµB´F¨mÐ<ÅFÐKÑKÔK€Að
	ð ð
 ð )ÝÔ  Ñ*Ô*ˆØ�LŠL˜ X¨uÐ$5ˆLÑ6Ô6ˆØ Ñ,ˆ	ˆ	à Ñ(ˆ	å	¨aÐ	0Ñ	0Ô	0€Bå	Œ•z¨Ð	3Ñ	3Ô	3ð ð Ø
�Šˆq‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB9Â9B=Ã B=z4X_train, X_test_trans_expected, X_roundtrip_expectedÚ1c                 ó  — t          dt          j        t          j        ¬¦  «                             | ¦  «        }t          j        dgt          j        gdgg¦  «        }|                     |¦  «        }t          ||¦  «         |                     |¦  «        }|j        d         }t          |¦  «        D ]K}||df         }	||df         }
|	€|
�J ‚Œt          |	¦  «        rt          j        |
¦  «        sJ ‚ŒC|
|	k    sJ ‚ŒLdS )znCheck transform when unknown_value and encoded_missing_value is nan.

    Non-regression test for #24082.
    r3  rD  rM  r=   r   N)r   r   rÀ   r0   r   r4   r
   rÒ   r   r`  r   r  )r™  ÚX_test_trans_expectedÚX_roundtrip_expectedró  rš  rÓ  rE  Ú	n_samplesrY  Úexpected_valÚvals              r#   Ú9test_ordinal_encoder_unknown_missing_interaction_both_nanrT    s"  € õ4 
Ø*Ý”fÝ œfð
ñ 
ô 
÷ 
‚cˆ'�l„lð	 õ ŒX˜�u�rœv˜h¨¨Ð.Ñ/Ô/€FØ—<’< Ñ'Ô'€Lõ �LÐ"7Ñ8Ô8Ð8Ø×&Ò& |Ñ4Ô4€Kà$Ô*¨1Ô-€IÝ�9ÑÔð 	'ð 	'ˆØ+¨A¨q¨DÔ1ˆØ˜!˜Q˜$ÔˆàÐØ�;�;�;�;Ý˜<Ñ(Ô(ð 	'Ý”8˜C‘=”=Ð Ð Ð Ð à˜,Ò&Ð&Ð&Ð&Ð&ð	'ð 	'r%   c                  ó¸  — t          j        d¦  «        } |                      ddgddgdœ¦  «        }t          ¦   «         }|                     d¬¦  «         d}t          j        t          |¬	¦  «        5  |                     |¦  «         d
d
d
¦  «         n# 1 swxY w Y   t          d¬¦  «                             d¬¦  «        }t          d¬¦  «                             d¬¦  «        }|                     |¦  «        }|                     |¦  «        }t          | 	                    ¦   «         |¦  «         t          |                     ¦   «         |j        ¦  «         d
S )z*Check OneHotEncoder works with set_output.rX   r<   r=   r   r   rY   r  z*Pandas output does not support sparse datar.   NFr   Údefault)r1   r^   r_   r   r  r2   r3   r   r
   Úto_numpyr   r’   rÛ  )r`   ra   rà   r/   Úohe_defaultÚ
ohe_pandasÚ	X_defaultÚX_pandass           r#   Útest_one_hot_encoder_set_outputr\  ³  s~  € å	Ô	˜XÑ	&Ô	&€Bà�<Š<˜s C˜j°°1¨vÐ6Ð6Ñ7Ô7€DÝ
‰/Œ/€Cà‡N‚N˜X€NÑ&Ô&Ð&à8€EÝ	Œ•z¨Ð	/Ñ	/Ô	/ð  ð  Ø×Ò˜$ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ  ¨eÐ4Ñ4Ô4×?Ò?È)Ð?ÑTÔT€KÝ¨UÐ3Ñ3Ô3×>Ò>ÈÐ>ÑRÔR€Jà×)Ò)¨$Ñ/Ô/€IØ×'Ò'¨Ñ-Ô-€Hå�H×%Ò%Ñ'Ô'¨Ñ3Ô3Ð3Ý�z×7Ò7Ñ9Ô9¸8Ô;KÑLÔLÐLÐLÐLs   Á2BÂBÂBc                  óÔ  — t          j        d¦  «        } |                      ddgddgdœ¦  «        }t          ¦   «                              d¬¦  «        }t          ¦   «                              d¬¦  «        }|                     |¦  «        }|                     |¦  «        }t          |                     ¦   «         |¦  «         t          | 	                    ¦   «         |j
        ¦  «         d	S )
z+Check OrdinalEncoder works with set_output.rX   r<   r=   r   r   rY   rV  r  N)r1   r^   r_   r   r  r   r
   rW  r   r’   rÛ  )r`   ra   Úord_defaultÚ
ord_pandasrZ  r[  s         r#   Útest_ordinal_set_outputr`  Ê  sÒ   € å	Ô	˜XÑ	&Ô	&€Bà�<Š<˜s C˜j°°1¨vÐ6Ð6Ñ7Ô7€Då Ñ"Ô"×-Ò-¸	Ð-ÑBÔB€KÝÑ!Ô!×,Ò,°xÐ,Ñ@Ô@€Jà×)Ò)¨$Ñ/Ô/€IØ×'Ò'¨Ñ-Ô-€Hå�H×%Ò%Ñ'Ô'¨Ñ3Ô3Ð3Ý�z×7Ò7Ñ9Ô9¸8Ô;KÑLÔLÐLÐLÐLr%   c                  ó8  — g d¢ddgg} t          | ¬¦  «        }|                     ddgg¦  «         t          | ¦  «        t          |j        ¦  «        k    sJ ‚t	          |j        ¦  «        D ]-\  }}|j        t          k    sJ ‚t          | |         |¦  «         Œ.dS )zjCheck that the categories_ dtype is `object` for string categories

    Regression test for gh-25171.
    )ÚasÚmmasÚeasÚrasÚacsrM  Ú2r>   rb  N)r   r0   r  rô   Ú	enumeraterQ   r›   r   )r?   r@   Únr¿   s       r#   Ú test_predefined_categories_dtyperj  Ú  s²   € ð
 6Ð5Ð5¸¸S°zÐB€Jå
 :Ð
.Ñ
.Ô
.€Cà‡G‚Gˆd�Cˆ[ˆMÑÔÐåˆz‰?Œ?�c #¤/Ñ2Ô2Ò2Ð2Ð2Ð2Ý˜CœOÑ,Ô,ð /ð /‰ˆˆ3ØŒy�FÒ"Ð"Ð"Ð"Ý˜: aœ=¨#Ñ.Ô.Ð.Ð.ð/ð /r%   c                  ó�  — t          j        dgdgt           j        ggt          ¬¦  «        } t	          d¬¦  «                             | ¦  «        }t          |dgdgdgg¦  «         t	          dd¬	¦  «                             | ¦  «        }t          j        d
gg¦  «        }|                     |¦  «        }t          |dgg¦  «         dS )zBCheck missing value or unknown encoding can equal the cardinality.r   r¿   rP   r   r%  r   r   r3  r5  ÚsnakeN)	r   r   rÀ   r›   r   r   r
   r0   r4   )r   rÛ   r@   rš  s       r#   Ú1test_ordinal_encoder_missing_unknown_encoding_maxrm  ë  s¿   € å
Œ�5�'˜E˜7¥R¤V HÐ-µVÐ<Ñ<Ô<€AÝ°1Ð5Ñ5Ô5×CÒCÀAÑFÔF€GÝ�G˜q˜c A 3¨¨˜_Ñ-Ô-Ð-å
Ð(;È1Ð
MÑ
MÔ
M×
QÒ
QÐRSÑ
TÔ
T€CÝŒX˜�y�kÑ"Ô"€FØ�mŠm˜FÑ#Ô#€GÝ�G˜q˜c˜UÑ#Ô#Ð#Ð#Ð#r%   c                  ó¢  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  z   gt          ¬¦  «        j        } t	          dd	d
¬¦  «                             | ¦  «        }t          |                     ¦   «         g d¢¦  «         |j        d         |j	        d                  dk    sJ ‚t          j        dgdz  dgdz  z   dgdz  z   gt          ¬¦  «        j        } t	          dd	d¬¦  «                             | ¦  «        }t          |                     ¦   «         dg¦  «         |j        d         |j	        d                  dk    sJ ‚t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  z   gt          ¬¦  «        j        } t	          dd	dg¬¦  «                             | ¦  «        }t          |                     ¦   «         g d¢¦  «         |j        d         |j	        d                  dk    sJ ‚t	          dd	d¬¦  «                             | ¦  «        }t          |                     ¦   «         g d¢¦  «         |j	        �J ‚dS )zkCheck drop_idx is defined correctly with infrequent categories.

    Non-regression test for gh-25550.
    r<   r   r=   r*   r  rÿ   r�  rP   FrÊ   )r‹  r   rÉ   )r  Úx0_dÚx0_er–  r   rh   rÞ   r–  )r  r  rp  r–  N)r  r  ro  rp  r–  )
r   r   r›   rT   r   r0   r   r’   rô   r#  )r   rà   s     r#   Ú#test_drop_idx_infrequent_categoriesrq  ÷  sš  € õ
 	ŒØ
ˆ�‰�c�U˜Q‘YÑ	 # ¨¡Ñ	*¨c¨U°Q©YÑ	6¸#¸À¹Ñ	BÐCÍ6ð	ñ 	ô 	äð õ  a°uÀ7Ð
KÑ
KÔ
K×
OÒ
OÐPQÑ
RÔ
R€CÝØ×!Ò!Ñ#Ô#Ð%VÐ%VÐ%Vñô ð ð Œ?˜1Ô˜cœm¨AÔ.Ô/°3Ò6Ð6Ð6Ð6å
Œ�3�%˜!‘)˜s˜e a™iÑ'¨3¨%°"©*Ñ4Ð5½VÐDÑDÔDÔF€AÝ
 a°uÀ;Ð
OÑ
OÔ
O×
SÒ
SÐTUÑ
VÔ
V€CÝ�s×0Ò0Ñ2Ô2Ð5LÐ4MÑNÔNÐNØŒ?˜1Ô˜cœm¨AÔ.Ô/°3Ò6Ð6Ð6Ð6å
ŒØ
ˆ�‰�c�U˜Q‘YÑ	 # ¨¡Ñ	*¨c¨U°Q©YÑ	6¸#¸À¹Ñ	BÐCÍ6ð	ñ 	ô 	äð õ  a°uÀCÀ5Ð
IÑ
IÔ
I×
MÒ
MÈaÑ
PÔ
P€CÝØ×!Ò!Ñ#Ô#Ð%VÐ%VÐ%Vñô ð ð Œ?˜1Ô˜cœm¨AÔ.Ô/°3Ò6Ð6Ð6Ð6å
 a°uÀ4Ð
HÑ
HÔ
H×
LÒ
LÈQÑ
OÔ
O€CÝØ×!Ò!Ñ#Ô#ØAÐAÐAñô ð ð Œ=Ð Ð Ð Ð Ð r%   c                 óì  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   g¦  «        j        }t          dd	d
dœ| ¤Ž                     |¦  «        }t          |j        g d¢g¦  «         t          |j        ddgg¦  «         dgdgdgdgdgg}dgdgdgdgd
gg}|                     |¦  «        }t          ||¦  «         | 
                    |¦  «        }dgdgdgdgdgg}t          ||¦  «         dS )zGTest parameters for grouping 'a', and 'd' into the infrequent category.r<   r   r=   r  r  rh   rÿ   r   r3  rH   r5  r�  r  r   r   r   r•  Nrª   )r   r   rT   r   r0   r   rô   r˜  r4   r
   rÒ   )r‰  r™  Úordinalrš  Úexpected_transrÛ   r   Úexpected_inverses           r#   Ú,test_ordinal_encoder_infrequent_three_levelsrv    sR  € õ Œh˜˜ ™	 S E¨B¡JÑ.°#°¸±Ñ;¸s¸eÀa¹iÑGÐHÑIÔIÔK€GÝð Ø*¸"ðð Ø@Fðð ç	‚cˆ'�l„lð õ �wÔ*Ð-AÐ-AÐ-AÐ,BÑCÔCÐCÝ�wÔ5¸¸c¸
°|ÑDÔDÐDàˆe�c�U˜S˜E C 5¨3¨%Ð0€FØ�c˜A˜3   a S¨2¨$Ð/€Nà×Ò Ñ'Ô'€GÝ�G˜^Ñ,Ô,Ð,à×)Ò)¨'Ñ2Ô2€Ià	ÐØ	ˆØ	ˆØ	ÐØ	ˆðÐõ �yÐ"2Ñ3Ô3Ð3Ð3Ð3r%   c                  ó  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   gt          ¬	¦  «        j        } t	          g d
¢gddd¬¦  «                             | ¦  «        }t          |j        g d
¢g¦  «         t          |j        ddgg¦  «         dgdgdgdgdgg}dgdgdgdgdgg}| 	                    |¦  «        }t          ||¦  «         |                     |¦  «        }dgdgdgdgdgg}t          ||¦  «         dS )z¬Test that the order of the categories provided by a user is respected.

    In this case 'c' is encoded as the first category and 'b' is encoded
    as the second one.
    r<   r   r=   r  r  rh   rÿ   r   rP   rÂ  r3  rH   )r?   rŠ  r&   r6  r  r   r   r   r•  N)r   r   r›   rT   r   r0   r   rô   r˜  r4   r
   rÒ   )r™  rs  rš  rt  rÛ   r   ru  s          r#   Ú6test_ordinal_encoder_infrequent_three_levels_user_catsrx  B  sh  € õ ŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8Ð9Åðñ ô äð õ Ø(Ð(Ð(Ð)ØØ*Øð	ñ ô ÷
 
‚cˆ'�l„lð õ �wÔ*Ð-AÐ-AÐ-AÐ,BÑCÔCÐCÝ�wÔ5¸¸c¸
°|ÑDÔDÐDàˆe�c�U˜S˜E C 5¨3¨%Ð0€FØ�c˜A˜3   a S¨2¨$Ð/€Nà×Ò Ñ'Ô'€GÝ�G˜^Ñ,Ô,Ð,à×)Ò)¨'Ñ2Ô2€Ià	ÐØ	ˆØ	ˆØ	ÐØ	ˆðÐõ �yÐ"2Ñ3Ô3Ð3Ð3Ð3r%   c                  óÎ  — t          j        g d¢g d¢f¦  «        } t          d¬¦  «                             | ¦  «        }t	          |j        d         ddg¦  «         |j        d         �J ‚ddgddgg}ddgddgg}|                     |¦  «        }t          ||¦  «         |                     |¦  «        }t          j	        ddgd	dggt          ¬
¦  «        }t	          ||¦  «         dS )zETest when feature 0 has infrequent categories and feature 1 does not.rÅ  rÆ  r   ©rŠ  r   r   r   Nr•  rP   )r   Úcolumn_stackr   r0   r   r˜  r4   r
   rÒ   r   r›   )r   rs  rš  rt  rÛ   r   ru  s          r#   Ú%test_ordinal_encoder_infrequent_mixedr|  f  s	  € õ 	ŒÐ4Ð4Ð4Ð6QÐ6QÐ6QÐRÑSÔS€Aå¨AÐ.Ñ.Ô.×2Ò2°1Ñ5Ô5€Gå�wÔ5°aÔ8¸1¸a¸&ÑAÔAÐAØÔ)¨!Ô,Ð4Ð4Ð4à�!ˆf�q˜!�fÐ€FØ˜!�f˜q !˜fÐ%€Nà×Ò Ñ'Ô'€GÝ�G˜^Ñ,Ô,Ð,à×)Ò)¨'Ñ2Ô2€IÝ”x ! Q Ð*>ÀÐ)BÐ CÍ6ÐRÑRÔRÐÝ�yÐ"2Ñ3Ô3Ð3Ð3Ð3r%   c            	      óÎ  — t          j        d¦  «        } |                      g d¢¦  «        }|                      g d¢g d¢|                      dgdz  dgdz  z   d	gz   d
gz   |¬¦  «        dœg d¢¬¦  «        }t          d¬¦  «                             |¦  «        }t          |j        d         ddg¦  «         t          |j        d         g d¢¦  «         t          |j        d         d
d	g¦  «         |                      g d¢g d¢|                      dgd	gz   d
gz   dgz   |¬¦  «        dœg d¢¬¦  «        }g d¢g d¢g d¢g d¢g}| 	                    |¦  «        }t          ||¦  «         dS )zHTest infrequent categories with a pandas DataFrame with multiple dtypes.rX   )Úbirdr¿   r   rl  rÖ  rØ  r   r*   r¿   r   rl  r~  rP   )rÙ  rJ  r…  rÚ  rz  r   r<   r=   r   rÜ  r   )r<   r=   r×  r  )rk   r   rh   r   )r   r   r   )r   r   r   )r   r   r   r«  N)r1   r^   ÚCategoricalDtyper_   rï   r   r0   r   r˜  r4   r
   )r`   Úcategorical_dtyper   rs  rš  rt  rÛ   s          r#   Ú:test_ordinal_encoder_infrequent_multiple_categories_dtypesr�  {  sÙ  € õ 
Ô	˜XÑ	&Ô	&€BØ×+Ò+Ð,KÐ,KÐ,KÑLÔLÐØ
�Šà@Ð@Ð@Ø1Ð1Ð1ØŸ9š9Ø�˜!‘˜u˜g¨™kÑ)¨W¨IÑ5¸¸Ñ@Ø'ð %ñ ô ð	
ð 	
ð .Ð-Ð-ð 	ñ 
	ô 
	€Aõ ¨AÐ.Ñ.Ô.×2Ò2°1Ñ5Ô5€Gõ �wÔ5°aÔ8¸3À¸*ÑEÔEÐEÝ�wÔ5°aÔ8¸*¸*¸*ÑEÔEÐEÝ�wÔ5°aÔ8¸6À7Ð:KÑLÔLÐLà�\Š\à'Ð'Ð'Ø!�>�>ØŸ9š9Ø�˜7˜)Ñ# v hÑ.°%°Ñ8Ø'ð %ñ ô ð	
ð 	
ð .Ð-Ð-ð ñ 
ô 
€Fð  �i�i   ¨I¨I¨I°y°y°yÐA€Nà×Ò Ñ'Ô'€GÝ�G˜^Ñ,Ô,Ð,Ð,Ð,r%   c                  óÚ  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   t           j        gz   gt          ¬	¦  «        j        } t          d
ddd¬¦  «                             | ¦  «        }t          |j        g d¢g¦  «         t          j        dgdgdgdgdgt           j        ggt          ¬	¦  «        }dgdgdgdgdgdgg}| 	                    |¦  «        }t          ||¦  «         dS )zJCheck behavior of unknown_value and encoded_missing_value with infrequent.r<   r   r=   r  r  rh   rÿ   r   rP   r3  r   )r&   r6  rŠ  r#  r�  r�  r   r   N)r   r   rÀ   r›   rT   r   r0   r   r˜  r4   r
   )r™  rs  rš  rt  rÛ   s        r#   Ú.test_ordinal_encoder_infrequent_custom_mappingrƒ  «  s  € åŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8½B¼F¸8Ñ	CÐDÍFðñ ô äð õ Ø*ØØØð	ñ ô ÷
 
‚cˆ'�l„lð õ �wÔ5¸¸¸Ð7HÑIÔIÐIåŒX˜�u˜s˜e c U¨S¨E°C°5½2¼6¸(ÐCÍ6ÐRÑRÔR€FØ�c˜A˜3   a S¨1¨#°¨sÐ3€Nà×Ò Ñ'Ô'€GÝ�G˜^Ñ,Ô,Ð,Ð,Ð,r%   c                 óŽ  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   gt          ¬	¦  «        j        }t	          di | ¤d
ddœ¤Ž                     |¦  «        }t	          d
d¬¦  «                             |¦  «        }dgdgdgdgdgg}t          |                     |¦  «        |                     |¦  «        ¦  «         dS )zMAll categories are considered frequent have same encoding as default encoder.r<   r   r=   r  r  rh   rÿ   r   rP   r3  rH   r5  r�  Nrª   ©r   r   r›   rT   r   r0   r
   r4   )r‰  r™  Úadjusted_encoderÚdefault_encoderrš  s        r#   Ú!test_ordinal_encoder_all_frequentrˆ  À  s  € õ ŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8Ð9Åðñ ô äð õ &ð ð Ø
ðØ!4ÀBðð ð ð ç	‚cˆ'�l„lð õ %Ø*¸"ðñ ô ç	‚cˆ'�l„lð ð ˆe�c�U˜S˜E C 5¨3¨%Ð0€FåØ×"Ò" 6Ñ*Ô*¨O×,EÒ,EÀfÑ,MÔ,Mñô ð ð ð r%   éd   c                 ó4  — t          j        dgdz  dgdz  z   dgdz  z   dgdz  z   gt          ¬	¦  «        j        }t	          di | ¤d
ddœ¤Ž                     |¦  «        }dgdgdgdgdgg}t          |                     |¦  «        dgdgdgdgdgg¦  «         dS )zAWhen all categories are infrequent, they are all encoded as zero.r<   r   r=   r  r  rh   rÿ   r   rP   r3  rH   r5  r�  r   Nrª   r…  )r‰  r™  r2  rš  s       r#   Ú#test_ordinal_encoder_all_infrequentr‹  Û  sä   € õ ŒhØ
ˆ�‰�c�U˜R‘ZÑ	 3 %¨"¡*Ñ	,°¨u°q©yÑ	8Ð9Åðñ ô äð õ ð ð Ø
ðØ!4ÀBðð ð ð ç	‚cˆ'�l„lð ð ˆe�c�U˜S˜E C 5¨3¨%Ð0€FÝ�G×%Ò% fÑ-Ô-°°°a°S¸1¸#À¸sÀRÀDÐ/IÑJÔJÐJÐJÐJr%   c                  ó¢  — t          j        t           j        gdz  dgdz  z   dgdz  z   dgz   dgz   gt          ¬¦  «        j        } t          d	¬
¦  «                             | ¦  «        }t          j        dddt           j        ggt          ¬¦  «        j        }|                     |¦  «        }t          |dgdgdgt           j        gg¦  «         dS )z5Check behavior when missing value appears frequently.r  r   rh   r¿   r   rl  ÚdeerrP   r   rz  r   r   r   N©	r   r   rÀ   r›   rT   r   r0   r4   r
   ©r   rs  rš  rÛ   s       r#   Ú-test_ordinal_encoder_missing_appears_frequentr�  ï  sÖ   € å
ŒÝ
Œ&ˆ�B‰˜%˜ 2™Ñ	%¨¨°!©Ñ	3°w°iÑ	?À6À(Ñ	JÐKÝð	ñ 	ô 	ô ð õ ¨AÐ.Ñ.Ô.×2Ò2°1Ñ5Ô5€GåŒX˜ ¨­r¬vÐ6Ð7½vÐFÑFÔFÔH€FØ×Ò Ñ'Ô'€GÝ�G˜q˜c A 3¨¨­b¬f¨XÐ6Ñ7Ô7Ð7Ð7Ð7r%   c            	      óÌ  — t          j        t           j        gdgdz  z   dgdz  z   dgz   dgz   dgdz  d	gdz  z   gt          ¬
¦  «        j        } t          d¬¦  «                             | ¦  «        }t          j        ddgdd	gt           j        d	gdd	gddggt          ¬
¦  «        }|                     |¦  «        }t          |ddgddgt           j        dgddgddgg¦  «         dS )z7Check behavior when missing value appears infrequently.r   rh   r¿   r   rl  r�  ÚredrD  ÚgreenrP   r*   )r‹  r   r   r   NrŽ  r�  s       r#   Ú/test_ordinal_encoder_missing_appears_infrequentr”  ü  s   € õ
 	ŒåŒVˆH˜�w ‘|Ñ# u g°¡kÑ1°W°IÑ=ÀÀÑHØˆG�a‰K˜7˜) a™-Ñ'ð	
õ ð	ñ 	ô 	ô ð õ ¨1Ð-Ñ-Ô-×1Ò1°!Ñ4Ô4€GåŒXà�eÐØ�WÐÝŒV�WÐØ�GÐØ�EˆNð	
õ ð	ñ 	ô 	€Fð ×Ò Ñ'Ô'€GÝ�G˜q !˜f q¨! f­r¬v°q¨k¸A¸q¸6ÀAÀqÀ6ÐJÑKÔKÐKÐKÐKr%   )}rÓ   Únumpyr   r1   Úscipyr   Úsklearn.exceptionsr   Úsklearn.preprocessingr   r   Úsklearn.utilsr   Úsklearn.utils._testingr	   r
   r   r$   ÚmarkÚparametrizer:   rB   rL   r!  Úfloat32r+  rV   rb   r•   rœ   r®   r²   r¹   r   r›   rÀ   r  rÇ   r×   rÜ   rá   rå   rì   rð   r  r\  Ústr_rþ   rT   r  r
  r  r  r  r  r'  r-  r/  r1  r?  rJ  rF  rH  rK  rP  ra  rg  rk  rt  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.  r3  r6  r:  r>  rA  rF  rL  rS   rT  r\  r`  rj  rm  rq  rv  rx  r|  r�  rƒ  rˆ  r‹  r�  r”  rª   r%   r#   ú<module>rŸ     sd  ðØ 	€	€	€	à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à -Ð -Ð -Ð -Ð -Ð -Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð@ð @ð @ð. „×ÒÐ)¨HÐ6KÐ+LÑMÔMð#ð #ñ NÔMð#ð.	ð 	ð 	ð „×ÒÐ)¨HÐ6KÐ+LÑMÔMð&ð &ñ NÔMð&ð$ „×Ò˜¨"¬(°B´JÀÄ
Ð)KÑLÔLØ„×Ò˜¨¬°2´:¸r¼zÐ(JÑKÔKð
;ð 
;ñ LÔKñ MÔLð
;ð „×Ò˜¨"¬(°B´JÀÄ
Ð)KÑLÔLðAð Añ MÔLðAð92ð 92ð 92ðxJð Jð Jð$ð $ð $ð4	9ð 	9ð 	9ð
ð 
ð 
ð „×ÒØà	ˆˆ˜˜˜Ð(ØˆŒ�+�+�+˜z˜z˜zÐ*Ñ+Ô+ØˆŒÐ#Ð#Ð#Ð%6Ð%6Ð%6Ð7¸vÐFÑFÔFØˆŒ�/�/�/ C¨¬°Ð#7Ð8ÀÐGÑGÔGØˆŒ�/�/�/ C¨¨¨u©¬°uÐ#=Ð>ÀfÐMÑMÔMØˆŒÐ"Ð"Ð" O O OÐ4¸FÐCÑCÔCØˆŒ�/�/�/ C¨¬°Ð#6Ð7¸vÐFÑFÔFØˆŒ�/�/�/ C¨¨¨u©¬°tÐ#<Ð=ÀVÐLÑLÔLð	ð		ð 		ð 		ð ñ ô ð.Gð Gñ/ô ð.Gð „×ÒÐ)¨HÐ6KÐ+LÑMÔMØ„×Ò˜ U¨D MÑ2Ô2Ø„×Ò˜ $¨ Ñ1Ô1ð,$ð ,$ñ 2Ô1ñ 3Ô2ñ NÔMð,$ð^ „×Ò˜ U¨D MÑ2Ô2Ø„×ÒØàˆbˆ'�A�r�7˜Q ˜GÐ	$ y y y°)°)°)¸Y¸Y¸YÐ&GÐHà�Sˆ\˜E 3˜<¨'°3¨¸%À¸ÐFØˆ_ˆ_˜o˜o˜o¨¨¨Ð?ð	
ðñ	ô 	ð'ð 'ñ	ô 	ñ 3Ô2ð'ð*7ð 7ð 7ð „×Ò˜Ð!=Ð!=Ð!=Ñ>Ô>Ø„×Ò˜Ð'CÐ'CÐ'CÑDÔDð
Cð 
Cñ EÔDñ ?Ô>ð
Cð „×Ò˜ E¨?Ð#;Ñ<Ô<Ø„×Ò˜  1˜v x r¤x°°c°
Ñ';Ô';Ð<Ñ=Ô=ðð ñ >Ô=ñ =Ô<ðð „×Ò˜ E¨?Ð#;Ñ<Ô<ðð ñ =Ô<ðð „×ÒØà�"ˆ+˜˜r�{Ð	# u¨e n°r°dÐ%;¸R¼ZÐHØ	ˆŒ�A�q�6˜A˜q˜6Ð"Ñ	#Ô	# q¨! f¨q¨c ]°B´JÐ?àˆBŒH�s˜E�l S¨% LÐ1¸Ð@Ñ@Ô@Ø�3ˆZ˜%˜Ð!ØŒJð	
ð
 
ˆŒ�C˜�< # u Ð.Ñ	/Ô	/°3¸°*¸u¸gÐ1FÈÌÐPØ	ˆŒ�A�q�6˜BœF A˜;Ð'Ñ	(Ô	(¨A¨r¬v¨;¸¸Ð*<¸b¼jÐIàˆBŒH�s˜BœF�m d¨B¬F ^Ð4¸FÐCÑCÔCØ�4ˆ[˜2œ6˜(Ð#ØŒJð	
ð ˆBŒH�s˜E˜E %™LœLÐ)¨D°%°%¸±,´,Ð+?Ð@ÈÐOÑOÔOØ�4ˆ[˜5˜5 ™<œ<˜.Ð)ØŒJð	
ðð*	ð 	ð 	ð/ ñ  ô  ðB7ð 7ñC ô  ðB7ð" „×ÒÐ)¨HÐ6KÐ+LÑMÔMØ„×ÒØð ˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2Øˆ_ˆ_ÐØŒJð		
ð ˆBŒH�q˜!�f�X WÐ-Ñ-Ô-Ô/ØˆBŒH�q˜!�f�X WÐ-Ñ-Ô-Ô/ØˆYˆYˆKØŒHð		
ð ˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆRŒX�o�o�oÑ&Ô&Ð'ØŒJð		
ð ˆBŒH�t˜S�k�]¨&Ð1Ñ1Ô1Ô3ØˆBŒH�t˜S�k�]¨&Ð1Ñ1Ô1Ô3ØÐÐÐØð		
ð ˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆBŒH�s˜BœF�m�_¨FÐ3Ñ3Ô3Ô5Øˆ_ˆ_ÐØð		
ð ˆBŒH�s˜D�k�]¨&Ð1Ñ1Ô1Ô3ØˆBŒH�s˜BœF�m�_¨FÐ3Ñ3Ô3Ô5ØÐÐÐØð		
ð ˆBŒH�s˜BœF�m�_¨FÐ3Ñ3Ô3Ô5ØˆBŒH�s˜D�k�]¨&Ð1Ñ1Ô1Ô3Ø�2”6˜3ÐÐ Øð		
ðK+ðX	ð 	ð 	ð] ñ 7ô 7ðpAð Añq7ô 7ñ NÔMðrAð(ð ð ð0
?ð 
?ð 
?ð7ð 7ð 7ð „×ÒØà	�6˜6Ð"Ð#Ø	Ð.Ð.Ð.Ð/Ø	ˆˆ˜ Ð(Ð)ðð
 	&Ð%Ð%ð ñ ô ð6ð 6ñô ð6ð&ð &ð &ð0 „×ÒØà	ˆˆ˜˜˜Ð(ØˆŒ�+�+�+˜{˜{˜{Ð+Ñ,Ô,ØˆŒÐ#Ð#Ð#Ð%6Ð%6Ð%6Ð7¸vÐFÑFÔFðð
 	'Ð&Ð&ð ñ ô ð2ð 2ñô ð2ð „×ÒØð ˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2Øˆ_ˆ_ÐØŒJð		
ð ˆBŒH�q˜!�f�X WÐ-Ñ-Ô-Ô/ØˆBŒH�q˜!�f�X WÐ-Ñ-Ô-Ô/ØˆYˆYˆKØŒHð		
ð ˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆBŒH�s˜C�j�\¨Ð0Ñ0Ô0Ô2ØˆRŒX�o�o�oÑ&Ô&Ð'ØŒJð		
ðð( 	3Ð2Ð2ð- ñ ô ð0ð ñ1ô ð0ð"$ð $ð $ð-ð -ð -ð „×Ò˜ 5¨# ,Ñ/Ô/ð-ð -ñ 0Ô/ð-ð6ð 6ð 6ð	ð 	ð 	ðð ð ð8ð 8ð 8ð68ð 8ð 8ð,8ð 8ð 8ð „×Ò˜¨2¬6°4¸¸¸u¹¼Ð*FÑGÔGð!1ð !1ñ HÔGð!1ðH „×Ò˜ 5¨! *Ð.AÐ.AÐ.AÐ!BÑCÔCðBð Bñ DÔCðBð „×Ò˜ T¨5 M¸À'Ð7JÐÑKÔKØ„×Ò˜ '¨=¨=¨=Ð!9ÀÈÐ?RÐÑSÔSð.ð .ñ TÔSñ LÔKð.ð$ „×Ò˜ ]°NÐ$CÑDÔDð=ð =ñ EÔDð=ð „×ÒØà	˜1ÐØ	˜"ÐØ	˜$ÐØ¨qÐ1Ð1Ø¨rÐ2Ð2ðñ	ô 	ð „×Ò˜¨Ð1EÐ1EÐ1EÐ0FÐ'GÑHÔHðIð Iñ IÔHñ	ô 	ðIð6 „×Ò˜ +¨w¸¸Ð!>Ñ?Ô?ðCð Cñ @Ô?ðCð. „×Ò˜ 3 %¨#¨ Ñ0Ô0ðð ñ 1Ô0ðð" „×ÒØà	˜1ÐØ	˜!ÐØ	˜!ÐØ	˜$ÐØ	˜$ÐØ¨qÐ1Ð1Ø¨qÐ1Ð1ðñô ðQð Qñô ðQð< „×Ò˜ '¨C¨5Ð!1Ñ2Ô2ð/ð /ñ 3Ô2ð/ð. „×Ò˜ 3 %¨#¨ Ñ0Ô0ðð ñ 1Ô0ððð ð ð0 „×ÒØ !°aÐ8Ð8¸?ÈAÐ:NÐOñô ð;ð ;ñô ð;ð2,ð ,ð ,ð6!,ð !,ð !,ðH;ð ;ð ;ð$X,ð X,ð X,ðv>,ð >,ð >,ðB „×Ò˜°bÈAÐ$NÐ$NÐ#OÑPÔPð
$ð 
$ñ QÔPð
$ð „×Ò˜°aÈ1Ð$MÐ$MÐ#NÑOÔOð)ð )ñ PÔOð)ð +ð +ð +ð „×ÒØ!Ð#MÐ#MÐ#Mñô ð „×Ò˜Ð'EÐ'EÐ'EÑFÔFð*ð *ñ GÔFñô ð*ð6ð ð ð* „×Ò˜¨2¬6°4¨.Ñ9Ô9ðGð Gñ :Ô9ðGð,ð ,ð ,ð. „×ÒÐ)Ð,AÀ8Ð+LÑMÔMØ„×Ò˜¨°(Ð(;Ñ<Ô<ð,ð ,ñ =Ô<ñ NÔMð,ð< „×ÒÐ)¨HÐ6KÐ+LÑMÔMð"Bð "Bñ NÔMð"BðJ „×ÒÐ)¨HÐ6KÐ+LÑMÔMð!Eð !Eñ NÔMð!EðH „×ÒÐ)¨HÐ6KÐ+LÑMÔMð)ð )ñ NÔMð)ð4ð ð ð(ð ð ð „×ÒÐ0°2´6¸2°,Ñ?Ô?ð"ð "ñ @Ô?ð"ð" „×Ò˜¨°(Ð(;Ñ<Ô<Ø„×ÒÐ0°2´6¸2°,Ñ?Ô?ð%ð %ñ @Ô?ñ =Ô<ð%ð> „×ÒØð �”˜3 ¤˜-˜°Ð7Ñ7Ô7Ô9Ø�”˜3 ˜*˜¨VÐ4Ñ4Ô4Ô6Ø�”˜3 ¤¨Ð,°FÐ;Ñ;Ô;Ð<Ø”
ð	ð �”˜3 ¤˜-˜°Ð7Ñ7Ô7Ô9Ø�”˜3 ˜*˜¨VÐ4Ñ4Ô4Ô6Ø�”˜3 ¤¨Ð,°FÐ;Ñ;Ô;Ð<Ø”
ð	ð �”˜3 ¤˜-˜°´
Ð;Ñ;Ô;Ô=Ø�”˜3˜%˜¨¬
Ð3Ñ3Ô3Ô5Ø�”˜3  R¤VÐ,Ñ-Ô-Ð.Ø”
ð	ð%ð4	ð 	ð 	ð9 ñ !ô !ðDð ñE!ô !ðDð$ „×ÒØ!ð ˆBŒH�s˜BœF CÐ(Ð)Ñ*Ô*Ô,ØˆBŒH�s˜BœF CÐ(Ð)Ñ*Ô*Ô,ØˆBŒH�s�e�WÑÔð	
ð ˆBŒH�o�o�oÐ&Ñ'Ô'Ô)ØˆBŒH�o�o�oÐ&Ñ'Ô'Ô)ØˆBŒH�r”v�h�ZÑ Ô ð	
ð ˆBŒH�s˜BœF CÐ(Ð)°Ð8Ñ8Ô8Ô:ØˆBŒH�s˜BœF CÐ(Ð)Ñ*Ô*Ô,ØˆBŒH�s�e�W FÐ+Ñ+Ô+ð	
ð ˆBŒH�o�o�oÐ&¨fÐ5Ñ5Ô5Ô7ØˆBŒH�o�o�oÐ&Ñ'Ô'Ô)ØˆBŒH�r”v�h�Z vÐ.Ñ.Ô.ð	
ð!ñô ð24ð 4ñ3ô ð24ð2ð 2ð 2ð,ð ð ð" „×ÒØà
�ˆˆØˆŒ�4˜�+� cÐ*Ñ*Ô*ØˆŒ�4˜�+� cÐ*Ñ*Ô*ðñô ð „×ÒØà
ˆsˆˆØˆŒ�3˜�*� SÐ)Ñ)Ô)ØˆŒ�3˜�*� SÐ)Ñ)Ô)ðñô ð	(ð 	(ñô ñô ð 	(ð6ð 6ð 6ð(	1ð 	1ð 	1ð'ð 'ð 'ð< „×Ò˜¨¨u¨Ñ6Ô6ðð ñ 7Ô6ðð2 „×ÒØ:ð
 ˆBŒH�s�e˜c˜U�^¨6Ð2Ñ2Ô2ØˆS�2”6�(˜RœV˜HÐ%ØˆBŒJ˜˜ ˜v¨ vÐ.°fÐ=Ñ=Ô=ð	
ð ˆBŒH�r”v�h  ¨ uÐ-°VÐ<Ñ<Ô<ØˆS�2”6�(˜RœV˜HÐ%ØˆBŒJ˜˜ ¤˜x¨"¬&¨Ð2¸&ÐAÑAÔAð	
ðñô ð&'ð 'ñ'ô ð&'ðBMð Mð Mð.Mð Mð Mð /ð /ð /ð"	$ð 	$ð 	$ð!!ð !!ð !!ðH „×ÒØà	˜1ÐØ	˜!ÐØ	˜!ÐØ	˜$ÐØ	˜$ÐØ¨qÐ1Ð1Ø¨qÐ1Ð1ðñô ð4ð 4ñô ð4ð6!4ð !4ð !4ðH4ð 4ð 4ð*--ð --ð --ð`-ð -ð -ð* „×ÒØà	˜1ÐØ	˜!Ððñô ðð ñô ðð( „×ÒØà	˜1ÐØ	˜#Ððñô ð
Kð 
Kñô ð
Kð
8ð 
8ð 
8ðLð Lð Lð Lð Lr%   