§
    rŠtj/Ÿ  ã                   ó\  — d Z ddlZddlZddlZddlZddlmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZmZmZmZmZ dd	lmZ dd
lmZ ddlm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9 ddl:m;Z; ddl<m=Z= ddgddgddgddgddgddggZ>g d¢Z? edd¬¦  «        dfZ@ edddd¬¦  «        dfZA edd¬¦  «        dfZB eddd¬¦  «        dfZC e¦   «         ZDejE         F                    d ed!e@fed!eAfed"e@fed"eAfed!eBfed"eBfe4d"eBfe&d"eBfe&d"eCfe'd"e@fe'd"eAfe(d"eCfg¦  «        ejE         F                    d#d$¦  «        ejE         F                    d%dgddgf¦  «        ejE         F                    d&d'¦  «        ejE         F                    d(d)d*g¦  «        d+„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZGd,„ ZHejE         F                    d#dd-g¦  «        d.„ ¦   «         ZIejE         F                    d#dd-g¦  «        d/„ ¦   «         ZJejE         F                    d0g d1¢¦  «        d2„ ¦   «         ZKejE         F                    d3 eLd4¦  «        ¦  «        ejE         F                    d5 e&¦   «         d"f ed¬6¦  «        d"f ed¬6¦  «        d7f ed¬6¦  «        d"f ed¬6¦  «        d7fg¦  «        d8„ ¦   «         ¦   «         ZMejE         F                    d9 eLd¦  «        ¦  «        d:„ ¦   «         ZNejE         F                    d; ed¬6¦  «         ed¬6¦  «        f¦  «        ejE         F                    d3d<¦  «        d=„ ¦   «         ¦   «         ZOejE         F                    d; e&¦   «          ed¬6¦  «         edddd¬>¦  «         e4d¬6¦  «        f¦  «        ejE         F                    d?d@¦  «        dA„ ¦   «         ¦   «         ZPejE         F                    dBejQ        jR        ejQ        jS        ejT        jU        ejV        jW        ejV        jX        ejT        jY        f¦  «        dC„ ¦   «         ZZ G dD„ dEee¦  «        Z[ejE         F                    dF edd!¬G¦  «        d%dgidHf e&¦   «         dgdIdJœdKf ed¬6¦  «        dgdId7dLœdMf ed¬6¦  «        dgdId!dLœdMf e&¦   «         dgd7dNdOœdPf e&¦   «         dgd7dQdOœdPf e&¦   «         dgd7dRœdSf e&¦   «         ddgg dT¢ ej\        dU¦  «        dVœdWœdXfg¦  «        dY„ ¦   «         Z]ejE         F                    dZ e&¦   «          ed¬6¦  «        g¦  «        ejE         F                    d%dd[g¦  «        d\„ ¦   «         ¦   «         Z^ejE         F                    dZ e&¦   «          ed¬6¦  «        g¦  «        d]„ ¦   «         Z_ejE         F                    dZ e&¦   «          ed¬6¦  «        g¦  «        d^„ ¦   «         Z`d_„ Zad`„ Zbda„ Zcdb„ ZdejE         F                    dcddgdedefddgddfg¦  «        df„ ¦   «         ZeejE         F                    dgddgddg dh¢idifddgdddjdkgidfddgdddjgidfg¦  «        dl„ ¦   «         ZfejE         F                    dgdmgdmdddmgidfdmgdmddgidfdddmgdjdkgdddmgdnœdifg¦  «        do„ ¦   «         ZgejE         F                    dZ e'dpd¬q¦  «         edd4¬r¦  «        gdsdtg¬u¦  «        ejE         F                    dvd e e1¦   «         dw„ dxD ¦   «         f e0¦   «         dy„ dzD ¦   «         f¦  «         e e1¦   «         d{„ dxD ¦   «         fd|¬}¦  «        gg d~¢¬u¦  «        ejE         F                    d%ddgd„ dxD ¦   «         gd€d�g¬u¦  «        d‚„ ¦   «         ¦   «         ¦   «         ZhejE         F                    dƒd„ddg d…¢idUfeDji        d         dd†feDji        d         eDji        d          ejj        djdkg¦  «        id‡fddgddˆfddgdg d‰¢idŠfd‹„ dxD ¦   «         ddˆfdŒ„ dxD ¦   «         eDji        d         g d�¢idŠfdŽ„ dxD ¦   «         dg d�¢idˆfd�„ d�D ¦   «         eDji        d         ddegid‘fg d’¢ddˆfgg d“¢¬u¦  «        d”„ ¦   «         ZkejE         F                    dZ e&¦   «          e'¦   «          e¦   «          e¦   «         g¦  «        d•„ ¦   «         ZlejE         F                    d–e&eCfe'e@fg¦  «        d—„ ¦   «         ZmejE         F                    d–e&eCfe'e@fg¦  «        d˜„ ¦   «         ZnejE         F                    dZ e&¦   «          e'¦   «          e¦   «          e¦   «         g¦  «        ejE         F                    d™g dš¢¦  «        d›„ ¦   «         ¦   «         ZoejE         F                    d–e&eCfe'e@fg¦  «        dœ„ ¦   «         Zpd�„ Zqdž„ ZrdŸ„ Zsd „ Ztd¡„ Zud¢„ ZvdS )£z,
Testing for the partial dependence module.
é    N)ÚBaseEstimatorÚClassifierMixinÚcloneÚis_regressor)ÚKMeans)Úmake_column_transformer)Ú	load_irisÚmake_classificationÚmake_regression)ÚDummyClassifier)ÚGradientBoostingClassifierÚGradientBoostingRegressorÚHistGradientBoostingClassifierÚHistGradientBoostingRegressorÚRandomForestRegressor)ÚNotFittedError)ÚSimpleImputer)Úpartial_dependence)Ú_grid_from_XÚ_partial_dependence_bruteÚ_partial_dependence_recursion)ÚLinearRegressionÚLogisticRegressionÚMultiTaskLasso)Úr2_score)Úmake_pipeline)ÚOneHotEncoderÚPolynomialFeaturesÚRobustScalerÚStandardScalerÚscale)ÚDecisionTreeRegressor)Úassert_is_subtree)Úassert_allcloseÚassert_array_equal)Ú	_IS_32BIT)Úcheck_random_stateéþÿÿÿéÿÿÿÿé   é   )r)   r)   r)   r*   r*   r*   é2   )Ú	n_samplesÚrandom_stateé   )r-   Ú	n_classesÚn_clusters_per_classr.   )r-   Ú	n_targetsr.   zEstimator, method, dataÚautoÚbruteÚgrid_resolution)é   é
   ÚfeaturesÚkind)ÚaverageÚ
individualÚbothÚuse_custom_valuesTFc           	      óð  ‡‡—  | ¦   «         }t          |d¦  «        r|                     d¬¦  «         |\  \  Š}}	‰j        d         }
d }|rdŠˆˆfd„|D ¦   «         }|                     ‰|¦  «         t	          |‰|||‰|¬¦  «        }||d         }}|	gˆfd	„t          t          |¦  «        ¦  «        D ¦   «         ¢R }|	|
gˆfd
„t          t          |¦  «        ¦  «        D ¦   «         ¢R }|dk    r|j        j        |k    sJ ‚n=|dk    r|j        j        |k    sJ ‚n$|j        j        |k    sJ ‚|j        j        |k    sJ ‚t          |¦  «        ‰f}|€J ‚t          j
        |¦  «        j        |k    sJ ‚d S )NÚn_estimatorsr+   )r?   r   r6   c                 ó*   •— i | ]}|‰d ‰…|f         “ŒS )N© )Ú.0ÚfÚXr5   s     €€ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/inspection/tests/test_partial_dependence.pyú
<dictcomp>z%test_output_shape.<locals>.<dictcomp>q   s+   ø€ ÐEÐEÐE°q˜˜AÐ.˜Ð.°Ð1Ô2ÐEÐEÐEó    )rD   r8   Úmethodr9   r5   Úcustom_valuesÚgrid_valuesc                 ó   •— g | ]}‰‘ŒS rA   rA   ©rB   Ú_r5   s     €rE   ú
<listcomp>z%test_output_shape.<locals>.<listcomp>   s   ø€ Ð&UÐ&UÐ&U¸1 Ð&UÐ&UÐ&UrG   c                 ó   •— g | ]}‰‘ŒS rA   rA   rL   s     €rE   rN   z%test_output_shape.<locals>.<listcomp>ƒ   s   ø€ Ð	8Ð	8Ð	8˜aˆ/Ð	8Ð	8Ð	8rG   r:   r;   )ÚhasattrÚ
set_paramsÚshapeÚfitr   ÚrangeÚlenr:   r;   ÚnpÚasarray)Ú	EstimatorrH   Údatar5   r8   r9   r=   ÚestÚyr2   Ún_instancesrI   ÚresultÚpdpÚaxesÚexpected_pdp_shapeÚexpected_ice_shapeÚexpected_axes_shaperD   s      `              @rE   Útest_output_shaperc   F   sú  øø€ ð< ˆ)‰+Œ+€CÝˆs�NÑ#Ô#ð 'Ø�Š AˆÑ&Ô&Ð&ð
 Ñ�F€QˆˆIØ”'˜!”*€Kà€MØð FØˆØEÐEÐEÐEÐE¸HÐEÑEÔEˆà‡G‚GˆAˆq�M„M€MÝØØ
ØØØØ'Ø#ðñ ô €Fð ˜˜}Ô-ˆ€Cà#ÐVÐ&UÐ&UÐ&UÐ&UÅÅcÈ(ÁmÄmÑ@TÔ@TÐ&UÑ&UÔ&UÐVÐVÐàØðð 
9Ð	8Ð	8Ð	8¥5­¨X©¬Ñ#7Ô#7Ð	8Ñ	8Ô	8ðð Ðð
 ˆyÒÐØŒ{Ô Ð$6Ò6Ð6Ð6Ð6Ð6Ø	�Ò	Ð	ØŒ~Ô#Ð'9Ò9Ð9Ð9Ð9Ð9àŒ{Ô Ð$6Ò6Ð6Ð6Ð6ØŒ~Ô#Ð'9Ò9Ð9Ð9Ð9å˜x™=œ=¨/Ð:ÐØÐÐÐÝŒ:�dÑÔÔ!Ð%8Ò8Ð8Ð8Ð8Ð8Ð8rG   c            	      óÀ  — d} d}ddg}t          j        ddgddgg¦  «        }t          || ||i ¦  «        \  }}t          |ddgddgddgddgg¦  «         t          ||j        ¦  «         t           j                             d¦  «        }d	}|                     d
¬¦  «        }t          || ||i ¬¦  «        \  }}|j        ||z  |j        d         fk    sJ ‚t          j        |¦  «        j        d|fk    sJ ‚|j	        |j	        k    sJ ‚d}d||dz
  d …df<   | 
                    |¦  «         t          || ||i ¬¦  «        \  }}|j        ||z  |j        d         fk    sJ ‚|d         j        |fk    sJ ‚|d         j        |fk    sJ ‚|j	        |j	        k    sJ ‚|                     d
¬¦  «        }d||dz
  d …df<   g d¢}t          || ||d|i¬¦  «        \  }}|j        |t          |¦  «        z  |j        d         fk    sJ ‚|d         j        |fk    sJ ‚|d         j        t          |¦  «        fk    sJ ‚|j	        |j	        k    sJ ‚|                     d
¬¦  «        }g d¢}	d}t          || ||d|	i¬¦  «        \  }}|j        |t          |	¦  «        z  |j        d         fk    sJ ‚|d         j        t          |	¦  «        fk    sJ ‚|d         j        |fk    sJ ‚|j	        t          j        |t          j        |	¦  «        j	        ¦  «        k    sJ ‚t          j        ddgddgddgg¦  «        }t          || ||dg d¢i¬¦  «        \  }}|j	        t          k    sJ ‚d S )N©çš™™™™™©?çffffffî?éd   Fr*   r+   r/   é   r   é   )é   r+   ©Úsize©r5   rI   é   é90  ©r   r+   r/   )Úis_categoricalr5   rI   )r   r+   r/   ri   r6   é   r6   ÚaÚbÚc©rt   ru   rv   )rV   rW   r   r%   ÚTÚrandomÚRandomStateÚnormalrR   ÚdtypeÚshufflerU   Úresult_typeÚarrayÚobject)
Úpercentilesr5   rr   rD   Úgridr_   ÚrngÚn_unique_valuesÚcol_1_rangeÚcol_0_ranges
             rE   Útest_grid_from_Xr‡   ’   s6  € ð
 €KØ€OØ˜U�^€NÝ
Œ
�Q˜�F˜Q ˜FÐ#Ñ$Ô$€AÝ˜a ¨n¸oÈrÑRÔR�J€Dˆ$Ý�t˜q !˜f q¨! f¨q°!¨f°q¸!°fÐ=Ñ>Ô>Ð>Ý�t˜QœSÑ!Ô!Ð!õ Œ)×
Ò
 Ñ
"Ô
"€CØ€Oð 	�
Š
˜ˆ
Ñ Ô €AÝØ	ØØØ'Øðñ ô �J€Dˆ$ð Œ:˜/¨OÑ;¸Q¼WÀQ¼ZÐHÒHÐHÐHÐHÝŒ:�dÑÔÔ! a¨Ð%9Ò9Ð9Ð9Ð9ØŒ:˜œÒ Ð Ð Ð ð €OØ"'€A€o˜ÑÐÐ˜QÐÑØ‡K‚K��N„N€NÝØ	ØØØ'Øðñ ô �J€Dˆ$ð Œ:˜/¨OÑ;¸Q¼WÀQ¼ZÐHÒHÐHÐHÐHà�Œ7Œ=˜_Ð.Ò.Ð.Ð.Ð.Ø�Œ7Œ=˜_Ð.Ò.Ð.Ð.Ð.ØŒ:˜œÒ Ð Ð Ð ð 	�
Š
˜ˆ
Ñ Ô €AØ"'€A€o˜ÑÐÐ˜QÐÑØ�)�)€KÝØ	ØØ%Ø'Ø˜+Ð&ðñ ô �J€Dˆ$ð Œ:˜/­C°Ñ,<Ô,<Ñ<¸a¼gÀa¼jÐIÒIÐIÐIÐIà�Œ7Œ=˜_Ð.Ò.Ð.Ð.Ð.Ø�Œ7Œ=�S Ñ-Ô-Ð/Ò/Ð/Ð/Ð/ØŒ:˜œÒ Ð Ð Ð ð 	�
Š
˜ˆ
Ñ Ô €AØ$Ð$Ð$€KØ€OÝØ	ØØ%Ø'Ø˜+Ð&ðñ ô �J€Dˆ$ð Œ:˜/­C°Ñ,<Ô,<Ñ<¸a¼gÀa¼jÐIÒIÐIÐIÐIà�Œ7Œ=�S Ñ-Ô-Ð/Ò/Ð/Ð/Ð/Ø�Œ7Œ=˜_Ð.Ò.Ð.Ð.Ð.ØŒ:�œ¨­2¬:°kÑ+BÔ+BÔ+HÑIÔIÒIÐIÐIÐIå
Œ�1�c�(˜Q ˜H q¨# hÐ/Ñ0Ô0€AåØ	ØØ%Ø'Ø˜/˜/˜/Ð*ðñ ô �J€Dˆ$ð Œ:�ÒÐÐÐÐÐrG   rh   c                 óò   — t          j        d¦  «        }d}dg}|                     dg d¢i¦  «        }t          |||| i ¬¦  «        \  }}|j        d|j        d         fk    sJ ‚|d	         j        d
k    sJ ‚dS )újCheck that `_grid_from_X` always sample from categories and does not
    depend from the percentiles.
    Úpandasre   TÚcat_feature)ÚAÚBÚCrŒ   r�   ÚDÚErn   r6   r*   r   )r6   N)ÚpytestÚimportorskipÚ	DataFramer   rR   )r5   Úpdr�   rr   rD   r‚   r_   s          rE   Ú!test_grid_from_X_with_categoricalr•   ð   s    € õ 
Ô	˜XÑ	&Ô	&€BØ€KØ�V€NØ
�Š�mÐ%HÐ%HÐ%HÐIÑJÔJ€AÝØ	ØØØ'Øðñ ô �J€Dˆ$ð Œ:˜!˜QœW QœZ˜Ò(Ð(Ð(Ð(Ø�Œ7Œ=˜DÒ Ð Ð Ð Ð Ð rG   c                 óø  — t          j        d¦  «        }d}ddg}|                     g d¢g d¢dœ¦  «        }|                     ¦   «         }t	          |||| i ¬¦  «        \  }}| d	k    rG|j        d
k    sJ ‚|d         j        d         |d         k    sJ ‚|d         j        d         | k    sJ ‚dS |j        dk    sJ ‚|d         j        d         |d         k    sJ ‚|d         j        d         |d         k    sJ ‚dS )r‰   rŠ   re   TF)
rŒ   r�   rŽ   rŒ   r�   r�   r�   rŒ   r�   r�   )
r*   r*   r*   r+   r6   rs   rs   rs   rs   é   )ÚcatÚnumrn   r/   )rj   r+   r   r™   r*   )é   r+   r˜   N)r‘   r’   r“   Únuniquer   rR   )r5   r”   r�   rr   rD   r›   r‚   r_   s           rE   Ú#test_grid_from_X_heterogeneous_typerœ   
  sB  € õ
 
Ô	˜XÑ	&Ô	&€BØ€KØ˜E�]€NØ
�ŠàEÐEÐEØ1Ð1Ð1ð	
ð 	
ñ	ô 	€Að �iŠi‰kŒk€GåØ	ØØØ'Øðñ ô �J€Dˆ$ð ˜!ÒÐØŒz˜WÒ$Ð$Ð$Ð$Ø�AŒwŒ}˜QÔ 7¨5¤>Ò1Ð1Ð1Ð1Ø�AŒwŒ}˜QÔ ?Ò2Ð2Ð2Ð2Ð2Ð2àŒz˜WÒ$Ð$Ð$Ð$Ø�AŒwŒ}˜QÔ 7¨5¤>Ò1Ð1Ð1Ð1Ø�AŒwŒ}˜QÔ 7¨5¤>Ò1Ð1Ð1Ð1Ð1Ð1rG   z%grid_resolution, percentiles, err_msg))r+   )r   g-Cëâ6?zpercentiles are too close)rh   )r*   r+   r/   ri   ú.'percentiles' must be a sequence of 2 elements)rh   rp   r�   )rh   )r)   rg   ú('percentiles' values must be in \[0, 1\])rh   )rf   r+   rž   )rh   )gÍÌÌÌÌÌì?çš™™™™™¹?z+percentiles\[0\] must be strictly less than)r*   re   z1'grid_resolution' must be strictly greater than 1c                 óÐ   — t          j        ddgddgg¦  «        }dg}t          j        t          |¬¦  «        5  t          |||| i ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   r+   r/   ri   F©Úmatch)rI   )rV   rW   r‘   ÚraisesÚ
ValueErrorr   )r5   r�   Úerr_msgrD   rr   s        rE   Útest_grid_from_X_errorr¦   +  sÎ   € õ 	Œ
�Q˜�F˜Q ˜FÐ#Ñ$Ô$€AØ�W€NÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Xð XÝ�Q˜ ^°_ÐTVÐWÑWÔWÐWðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xð Xð Xs   ¹AÁAÁ"AÚtarget_featurer6   zest, method©r.   Ú	recursionc                 ó†  — t          ddd¬¦  «        \  }}||                     ¦   «         z
  }t          | ¦  «                             ||¦  «        } t	          j        |gt          j        ¬¦  «        }t	          j        dgdgg¦  «        }|dk    rt          | |||d¬	¦  «        \  }}nt          | ||¦  «        }g }	d
D ]Y}
| 	                    ¦   «         }|
|d d …|f<   |	 
                    |                      |¦  «                             ¦   «         ¦  «         ŒZ|d         }|dk    rdnd}t	          j        ||	|¬¦  «        sJ ‚d S )Nr   r6   )r.   Ú
n_featuresÚn_informative©r|   ç      à?é{   r4   r3   )Úresponse_method)r®   r¯   r©   rŸ   gü©ñÒMbP?)Úrtol)r   Úmeanr   rS   rV   r   Úintpr   r   ÚcopyÚappendÚpredictÚallclose)rZ   rH   r§   rD   r[   r8   r‚   r^   ÚpredictionsÚmean_predictionsÚvalÚX_r±   s                rE   Útest_partial_dependence_helpersr¼   >  sd  € õ0 ¨°aÀqÐIÑIÔI�D€A€qð 	
ˆA�FŠF‰HŒH‰€Aõ �‰*Œ*�.Š.˜˜AÑ
Ô
€Cõ Œx˜Ð(µ´Ð8Ñ8Ô8€HÝŒ8�c�U˜S˜E�NÑ#Ô#€Dà�ÒÐÝ4Ø��x °Fð
ñ 
ô 
Ñˆˆ[ˆ[õ ,¨C°°xÑ@Ô@ˆàÐØð 8ð 8ˆØ�VŠV‰XŒXˆØ #ˆˆ1ˆ1ˆ1ˆnÐÑØ×Ò §¢¨B¡¤× 4Ò 4Ñ 6Ô 6Ñ7Ô7Ð7Ð7à
ˆaŒ&€Cð ˜[Ò(Ð(ˆ4ˆ4¨d€DÝŒ;�sÐ,°4Ð8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8rG   Úseedc                 ó¾  — t           j                             | ¦  «        }d}d}|                     ||¦  «        }|                     |¦  «        dz  }||                     ¦   «         z
  }d}d}t          dd d||¬¦  «        }t          |¦  «                             t          j        t           j	        ¦  «        j
        ¦  «        }	t          dd||	¬¦  «        }
t          ||	¬	¦  «        }|                     ||¦  «         |
                     ||¦  «         |                     ||¦  «         	 t          |j        |
d
         j        ¦  «         t          |j        |d         j        ¦  «         n"# t           $ r t"          s
J d¦   «         ‚Y d S w xY w|                     d¦  «                             dd¦  «        }t'          |¦  «        D ]–}t          j        |gt           j        ¬¦  «        }t-          |||¦  «        }t-          |
||¦  «        }t-          |||¦  «        }t           j                             ||¦  «         t           j                             ||¦  «         Œ—d S )Néè  r6   r7   r   r*   F)r?   Úmax_featuresÚ	bootstrapÚ	max_depthr.   )r?   Úlearning_raterÂ   r.   )rÂ   r.   )r   r   z)this should only fail on 32 bit platformsr,   r)   r­   )rV   ry   rz   Úrandnr²   r   r'   ÚrandintÚiinfoÚint32Úmaxr   r"   rS   r#   Útree_ÚAssertionErrorr&   ÚreshaperT   r   r³   r   Útestingr$   )r½   rƒ   r-   r«   rD   r[   rÂ   Ú	tree_seedÚforestÚequiv_random_stateÚgbdtÚtreer‚   rC   r8   Ú
pdp_forestÚpdp_gbdtÚpdp_trees                     rE   Ú/test_recursion_decision_tree_vs_forest_and_gbdtrÕ   w  sY  € õ Œ)×
Ò
 Ñ
%Ô
%€Cð €IØ€JØ�	Š	�)˜ZÑ(Ô(€AØ�	Š	�)ÑÔ˜rÑ!€Að
 	
ˆA�FŠF‰HŒH‰€Að €Ià€IÝ"ØØØØØðñ ô €Fõ ,¨IÑ6Ô6×>Ò>½r¼xÍÌÑ?QÔ?QÔ?UÑVÔVÐÝ$ØØØØ'ð	ñ ô €Dõ !¨9ÐCUÐVÑVÔV€Dà
‡J‚Jˆq�!ÑÔÐØ‡H‚HˆQ��N„N€NØ‡H‚HˆQ��N„N€NðÝ˜$œ* d¨4¤jÔ&6Ñ7Ô7Ð7Ý˜$œ* f¨Q¤i¤oÑ6Ô6Ð6Ð6øÝð ð ð õ ÐEÐEÐEÑEÔEˆyØˆˆðøøøð �9Š9�R‰=Œ=× Ò   QÑ'Ô'€DÝ�:ÑÔð 9ð 9ˆÝ”8˜Q˜C¥r¤wÐ/Ñ/Ô/ˆå2°6¸4ÀÑJÔJˆ
Ý0°°t¸XÑFÔFˆÝ0°°t¸XÑFÔFˆå
Œ
×"Ò" 8¨XÑ6Ô6Ð6Ý
Œ
×"Ò" :¨xÑ8Ô8Ð8Ð8ð9ð 9s   Ä+A E, Å,FÆ
FrZ   )r   r*   r+   r/   ri   r6   c                 ó>  — t          ddd¬¦  «        \  }}t          j        |¦  «        dk    sJ ‚t          | ¦  «                             ||¦  «        } t          | ||gddd¬¦  «        }t          | ||gdd	d¬¦  «        }t          |d         |d         d
¬¦  «         d S )Nr+   r*   ©r0   r1   r.   r®   Údecision_functionr©   r:   )r°   rH   r9   r4   gH¯¼šò×z>)Úatol)r
   rV   r²   r   rS   r   r$   )rZ   r§   rD   r[   Úpreds_1Úpreds_2s         rE   Ú test_recursion_decision_functionrÜ   ½  sÊ   € õ ¨ÀÐQRÐSÑSÔS�D€A€qÝŒ7�1‰:Œ:˜ÒÐÐÐå
�‰*Œ*�.Š.˜˜AÑ
Ô
€Cå ØØ	Ø	ÐØ+ØØðñ ô €Gõ !ØØ	Ø	ÐØ+ØØðñ ô €Gõ �G˜IÔ&¨°	Ô(:ÀÐFÑFÔFÐFÐFÐFrG   )r.   Úmin_samples_leafÚmax_leaf_nodesÚmax_iterÚpower)r*   r+   c                 óJ  — t           j                             d¦  «        }d}d}|                     |df¬¦  «        }|d d …|f         |z  }t	          | ¦  «                             ||¦  «        } t          | |g|dd¬¦  «        }|d	         d                              d
d¦  «        }|d         d         }	t          |¬¦  «         	                    |¦  «        }t          ¦   «                              ||	¦  «        }
t          |	|
                     |¦  «        ¦  «        }|dk    sJ ‚d S )Nr   éÈ   r+   r6   rl   r¿   r:   )r8   rD   r5   r9   rJ   r)   r*   )Údegreeç®Gáz®ï?)rV   ry   rz   r{   r   rS   r   rË   r   Úfit_transformr   r   r¶   )rZ   rà   rƒ   r-   Útarget_variablerD   r[   r^   Únew_XÚnew_yÚlrÚr2s               rE   Ú#test_partial_dependence_easy_targetrë   ã  s!  € õ( Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ€OØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ	ˆ!ˆ!ˆ!ˆ_Ð
Ô Ñ&€Aå
�‰*Œ*�.Š.˜˜AÑ
Ô
€Cå
Ø�Ð'¨1¸dÈðñ ô €Cð �Ô˜qÔ!×)Ò)¨"¨aÑ0Ô0€EØ�	ŒN˜1Ô€Eå eÐ,Ñ,Ô,×:Ò:¸5ÑAÔA€Eå	Ñ	Ô	×	Ò	  uÑ	-Ô	-€BÝ	�%˜Ÿš EÑ*Ô*Ñ	+Ô	+€Bà�Š9ˆ9ˆ9ˆ9ˆ9ˆ9rG   rX   c                 ó2  — t          ddd¬¦  «        \  }}t          j        ||g¦  «        j        } | ¦   «         }|                     ||¦  «         t          j        t          d¬¦  «        5  t          ||dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr/   r*   r   r×   z3Multiclass-multioutput estimators are not supportedr¡   )	r
   rV   r   rx   rS   r‘   r£   r¤   r   )rX   rD   r[   rZ   s       rE   Útest_multiclass_multioutputrí     sæ   € õ ¨ÀÐQRÐSÑSÔS�D€A€qÝ
Œ�!�Q�ÑÔÔ€Aà
ˆ)‰+Œ+€CØ‡G‚GˆAˆq�M„M€Må	ŒÝÐOð
ñ 
ô 
ð (ð (õ 	˜3  A 3Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   Á,BÂBÂBc                   ó   — e Zd Zd„ ZdS )Ú NoPredictProbaNoDecisionFunctionc                 ó   — ddg| _         | S )Nr   r*   )Úclasses_)ÚselfrD   r[   s      rE   rS   z$NoPredictProbaNoDecisionFunction.fit*  s   € à˜A˜ˆŒØˆrG   N)Ú__name__Ú
__module__Ú__qualname__rS   rA   rG   rE   rï   rï   )  s#   € € € € € ðð ð ð ð rG   rï   zestimator, params, err_msg)r.   Ún_initz4'estimator' must be a fitted regressor or classifierÚpredict_proba)r8   r°   z7The response_method parameter is ignored for regressors)r8   r°   rH   zC'recursion' method, the response_method must be 'decision_function'r;   )r8   rH   r9   zCThe 'recursion' method only applies when 'kind' is set to 'average'r<   )r8   rH   z=Only the following estimators support the 'recursion' method:©r*   r+   r/   )r/   r/   ©r   r*   )r8   rI   zYThe custom grid for some features is not a one-dimensional array. Feature 1: 2 dimensionsc                 óö   — t          d¬¦  «        \  }}t          | ¦  «                             ||¦  «        } t          j        t
          |¬¦  «        5  t          | |fi |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r¨   r¡   ©r
   r   rS   r‘   r£   r¤   r   )Ú	estimatorÚparamsr¥   rD   r[   s        rE   Útest_partial_dependence_errorrþ   0  sÇ   € õj ¨AÐ.Ñ.Ô.�D€A€qÝ�iÑ Ô ×$Ò$ Q¨Ñ*Ô*€Iå	Œ•z¨Ð	1Ñ	1Ô	1ð 3ð 3Ý˜9 aÐ2Ð2¨6Ð2Ð2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ÁA.Á.A2Á5A2rü   i'  c                 ó  — t          d¬¦  «        \  }}t          | ¦  «                             ||¦  «        } d}t          j        t
          |¬¦  «        5  t          | ||g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r¨   zall features must be inr¡   rû   )rü   r8   rD   r[   r¥   s        rE   Ú/test_partial_dependence_unknown_feature_indicesr   l  sÇ   € õ
 ¨AÐ.Ñ.Ô.�D€A€qÝ�iÑ Ô ×$Ò$ Q¨Ñ*Ô*€Ià'€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 5ð 5Ý˜9 a¨(¨Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ÁA4Á4A8Á;A8c                 óX  — t          j        d¦  «        }t          d¬¦  «        \  }}|                     |¦  «        }t	          | ¦  «                             ||¦  «        } dg}d}t          j        t          |¬¦  «        5  t          | ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrŠ   r   r¨   ry   z2Some column names are not columns of the dataframer¡   )	r‘   r’   r
   r“   r   rS   r£   r¤   r   )rü   r”   rD   r[   Údfr8   r¥   s          rE   Ú.test_partial_dependence_unknown_feature_stringr  y  së   € õ 
Ô	˜XÑ	&Ô	&€BÝ¨AÐ.Ñ.Ô.�D€A€qØ	�Š�a‰Œ€BÝ�iÑ Ô ×$Ò$ R¨Ñ+Ô+€Iàˆz€HØB€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 4ð 4Ý˜9 b¨(Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   Â BÂB#Â&B#c                 ó´   — t          d¬¦  «        \  }}t          | ¦  «                             ||¦  «        } t          | t	          |¦  «        dgd¬¦  «         d S )Nr   r¨   r:   )r9   )r
   r   rS   r   Úlist)rü   rD   r[   s      rE   Útest_partial_dependence_X_listr  ˆ  sZ   € õ
 ¨AÐ.Ñ.Ô.�D€A€qÝ�iÑ Ô ×$Ò$ Q¨Ñ*Ô*€IÝ�y¥$ q¡'¤'¨A¨3°YÐ?Ñ?Ô?Ð?Ð?Ð?rG   c                  ó¶  — t          t          ¦   «         d¬¦  «        } |                      t          t          ¦  «         t          j        t          d¬¦  «        5  t          | t          dgdd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          | t          dgdd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )Úinitr.   z9Using recursion method with a non-constant init predictorr¡   r©   r:   )rH   r9   )	r   r   rS   rD   r[   r‘   ÚwarnsÚUserWarningr   )Úgbcs    rE   Ú(test_warning_recursion_non_constant_initr  ’  s�  € õ %­/Ñ*;Ô*;È!Ð
LÑ
LÔ
L€CØ‡G‚G�A�q�M„M€Må	ŒÝÐVð
ñ 
ô 
ð Lð Lõ 	˜3¥ A 3¨{ÀÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lõ
 
ŒÝÐVð
ñ 
ô 
ð Lð Lõ 	˜3¥ A 3¨{ÀÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls$   ÁB Â BÂBÂ&CÃCÃCc                  ó  — d} t           j                             d¦  «        }|                     d| t          ¬¦  «        }|                     | ¦  «        }|                     ¦   «         }||           || <   t           j        ||f         }t          j        | ¦  «        }d||<   t          dd¬¦  «        }| 
                    |||¬	¦  «         t          ||dgd
¬¦  «        }t          j        |d
         |d         ¦  «        d         dk    sJ ‚d S )Nr¿   i@â r+   )rm   r|   g     @�@r7   r*   )r?   r.   ©Úsample_weightr:   )r8   r9   rJ   rù   rä   )rV   ry   rz   rÅ   ÚboolÚrandr´   Úc_Úonesr   rS   r   Úcorrcoef)	ÚNrƒ   ÚmaskÚxr[   rD   r  Úclfr^   s	            rE   Ú9test_partial_dependence_sample_weight_of_fitted_estimatorr  ¤  sý   € ð
 	€AÝ
Œ)×
Ò
 Ñ
'Ô
'€CØ�;Š;�q˜q­ˆ;Ñ-Ô-€Dà�Š�‰Œ€Aà	�Š‰Œ€AØ�4�%”ˆy€A€t€e�HÝ
Œˆd�AˆgŒ€Aå”G˜A‘J”J€MØ €M�$Ñå
#°À!Ð
DÑ
DÔ
D€CØ‡G‚GˆAˆq €GÑ.Ô.Ð.å
˜S !¨q¨c¸	Ð
BÑ
BÔ
B€CåŒ;�s˜9”~ s¨=Ô'9Ñ:Ô:¸4Ô@À4ÒGÐGÐGÐGÐGÐGrG   c            	      óJ  — t          d¬¦  «        } |                      t          t          t	          j        t          t          ¦  «        ¦  «        ¬¦  «         t          j        t          d¬¦  «        5  t          | t          dg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr*   r¨   r  z#does not support partial dependencer¡   ©r8   )r   rS   rD   r[   rV   r  rU   r‘   r£   ÚNotImplementedErrorr   ©r  s    rE   Útest_hist_gbdt_sw_not_supportedr  ¾  sÒ   € å
'°QÐ
7Ñ
7Ô
7€CØ‡G‚G�A�q¥¤­­A©¬¡¤€GÑ0Ô0Ð0å	ŒÝÐ#Hð
ñ 
ô 
ð 1ð 1õ 	˜3¥¨Q¨CÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   Á2BÂBÂBc                  óv  — t          ¦   «         } t          ¦   «         }t          d¬¦  «        }t          ||¦  «        }|                     |                     | j        ¦  «        | j        ¦  «         |                     | j        | j        ¦  «         d}t          || j        |gdd¬¦  «        }t          || 	                    | j        ¦  «        |gdd¬¦  «        }t          |d         |d         ¦  «         t          |d         d         |d         d         |j        |         z  |j        |         z   ¦  «         d S )Né*   r¨   r   r7   r:   ©r8   r5   r9   rJ   )r	   r    r   r   rS   rå   rY   Útargetr   Ú	transformr$   Úscale_Úmean_)ÚirisÚscalerr  Úpiper8   Úpdp_pipeÚpdp_clfs          rE   Ú test_partial_dependence_pipeliner+  É  s<  € å‰;Œ;€DåÑÔ€FÝ
 rÐ
*Ñ
*Ô
*€CÝ˜ Ñ%Ô%€Dà‡G‚GˆF× Ò  ¤Ñ+Ô+¨T¬[Ñ9Ô9Ð9Ø‡H‚HˆTŒY˜œÑ$Ô$Ð$à€HÝ!ØˆdŒi 8 *¸bÀyðñ ô €Hõ !ØØ×Ò˜œÑ#Ô#Ø�ØØðñ ô €Gõ �H˜YÔ'¨°Ô);Ñ<Ô<Ð<ÝØ�Ô Ô"Ø�Ô˜qÔ! F¤M°(Ô$;Ñ;¸f¼lÈ8Ô>TÑTñô ð ð ð rG   z*features, grid_resolution, n_vals_expectedrt   r7   c                 óT  — t          j        d¦  «        }t          ¦   «         }t          j                             d¦  «        }|                     |                     ddd¬¦  «                             t          j	        ¦  «        |                     ddd¬¦  «                             t          j	        ¦  «        dœ¦  «        }| 
                    |                     ddd¬¦  «        ¦  «        }|                     ||¦  «         t          ||| |d¬	¦  «        }|d         j        |k    sJ ‚d S )
NrŠ   r   r7   rh   rl   ©rt   ru   r+   r:   r!  )r‘   r’   r   rV   ry   rz   r“   rÅ   ÚastypeÚfloat64ÚSeriesrS   r   rm   )	r8   r5   Ún_vals_expectedr”   Úmodelrƒ   rD   r[   Úpart_deps	            rE   Ú4test_partial_dependence_binary_model_grid_resolutionr4  æ  s  € õ 
Ô	˜XÑ	&Ô	&€BÝÑÔ€Eå
Œ)×
Ò
 Ñ
"Ô
"€CØ
�Šà—’˜Q ¨�Ñ-Ô-×4Ò4µR´ZÑ@Ô@Ø—’˜Q ¨�Ñ-Ô-×4Ò4µR´ZÑ@Ô@ð	
ð 	
ñ	ô 	€Að 	�	Š	�#—+’+˜a ¨�+Ñ-Ô-Ñ.Ô.€AØ	‡I‚Iˆa��O„O€Oå!ØØ	ØØ'Øðñ ô €Hð �IÔÔ# Ò6Ð6Ð6Ð6Ð6Ð6rG   z(features, custom_values, n_vals_expected©ç      ð?ç       @ç      @g      @ri   r6  r7  c                 ó,  — t          j        d¦  «        }t          ¦   «         }|                     g d¢g d¢dœ¦  «        }|                     g d¢¦  «        }|                     ||¦  «         t          ||| d|d¬¦  «        }|d         j        |k    sJ ‚d S )	NrŠ   r5  )g      @g      @g       @g      "@r-  ©r   r*   r   r*   r/   r:   ©r8   r5   rI   r9   )r‘   r’   r   r“   r0  rS   r   rm   )r8   rI   r1  r”   r2  rD   r[   r3  s           rE   Ú2test_partial_dependence_binary_model_custom_valuesr<    s³   € õ 
Ô	˜XÑ	&Ô	&€BÝÑÔ€Eà
�ŠÐ/Ð/Ð/Ð6JÐ6JÐ6JÐKÐKÑLÔL€AØ
�	Š	�,�,�,ÑÔ€AØ	‡I‚Iˆa��O„O€Oå!ØØ	ØØØ#Øðñ ô €Hð �IÔÔ# Ò6Ð6Ð6Ð6Ð6Ð6rG   ru   r-  c                 ó¶  — t          j        d¦  «        }t          t          d¬¦  «        t	          ¦   «         t          ¦   «         ¦  «        }|                     g d¢g d¢dœ¦  «        }|                     g d¢¦  «        }|                     ||¦  «         |                     g d¢g d¢dœ¦  «        }t          ||| d	|d
¬¦  «        }|d
         j
        |k    sJ ‚d S )NrŠ   Úmost_frequent)Ústrategyr5  )rt   ru   rt   ru   r-  r:  )rt   ru   rt   Nr/   r:   r;  )r‘   r’   r   r   r   r   r“   r0  rS   r   rm   )	r8   rI   r1  r”   ÚplrD   r[   Ú	X_holdoutr3  s	            rE   Ú.test_partial_dependence_pipeline_custom_valuesrB  $  sü   € õ 
Ô	˜XÑ	&Ô	&€BÝ	Ý˜Ð/Ñ/Ô/µ±´Å/ÑBSÔBSñ
ô 
€Bð 	�ŠÐ/Ð/Ð/Ð6JÐ6JÐ6JÐKÐKÑLÔL€AØ
�	Š	�,�,�,ÑÔ€AØ‡F‚Fˆ1ˆa�L„L€Là—’Ð#7Ð#7Ð#7Ð>SÐ>SÐ>SÐTÐTÑUÔU€IÝ!Ø
ØØØØ#Øðñ ô €Hð �IÔÔ# Ò6Ð6Ð6Ð6Ð6Ð6rG   r¿   ©rß   r.   )r.   r?   zestimator-brutezestimator-recursion)ÚidsÚpreprocessorc                 ó2   — g | ]}t           j        |         ‘ŒS rA   ©r&  Úfeature_names©rB   Úis     rE   rN   rN   Q  ó    € ÐFÐFÐF¸!¥Ô 2°1Ô 5ÐFÐFÐFrG   ©r   r+   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   R  s    € ÐDÐDÐD¸�dÔ0°Ô3ÐDÐDÐDrG   ©r*   r/   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   U  rK  rG   Úpassthrough)Ú	remainder)ÚNonezcolumn-transformerzcolumn-transformer-passthroughc                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   ]  s    € Ð4Ð4Ð4¨�dÔ  Ô#Ð4Ð4Ð4rG   zfeatures-integerzfeatures-stringc                 óT  — t          j        d¦  «        }|                     t          t          j        ¦  «        t          j        ¬¦  «        }t          |t          | ¦  «        ¦  «        }| 	                    |t          j
        ¦  «         t          |||dd¬¦  «        }|�'t          |¦  «                             |¦  «        }ddg}n|}ddg}t          | ¦  «         	                    |t          j
        ¦  «        }	t          |	||d	dd¬
¦  «        }
t          |d         |
d         ¦  «         |�S|j        d         }t          |d         d         |
d         d         |j        d         z  |j        d         z   ¦  «         d S t          |d         d         |
d         d         ¦  «         d S )NrŠ   ©Úcolumnsr7   r:   r!  r   r*   r+   r4   )r8   rH   r5   r9   ÚstandardscalerrJ   )r‘   r’   r“   r!   r&  rY   rH  r   r   rS   r"  r   rå   r$   Únamed_transformers_r$  r%  )rü   rE  r8   r”   r  r(  r)  ÚX_procÚfeatures_clfr  r*  r'  s               rE   Ú!test_partial_dependence_dataframer[  D  s¬  € õ> 
Ô	˜XÑ	&Ô	&€BØ	�Š•e�DœIÑ&Ô&µÔ0BˆÑ	CÔ	C€Bå˜¥u¨YÑ'7Ô'7Ñ8Ô8€DØ‡H‚HˆR•”ÑÔÐÝ!Øˆb˜8°R¸iðñ ô €Hð ÐÝ�|Ñ$Ô$×2Ò2°2Ñ6Ô6ˆØ˜1�vˆˆàˆØ˜1�vˆå
�	Ñ
Ô
×
Ò
˜v¥t¤{Ñ
3Ô
3€CÝ ØØØØØØðñ ô €Gõ �H˜YÔ'¨°Ô);Ñ<Ô<Ð<ØÐØÔ1Ð2BÔCˆÝØ�]Ô# AÔ&Ø�MÔ" 1Ô%¨¬°aÔ(8Ñ8¸6¼<È¼?ÑJñ	
ô 	
ð 	
ð 	
ð 	
õ
 	˜ Ô/°Ô2°G¸MÔ4JÈ1Ô4MÑNÔNÐNÐNÐNrG   z*features, custom_values, expected_pd_shape)r   N©r/   r7   ©r6  r7  r8  r\  )r/   r+   )r/   r7   r7   )é   r—   é	   r7   )r/   r7   ri   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   ”  ó    € Ð	0Ð	0Ð	0 A�$Ô
˜QÔ
Ð	0Ð	0Ð	0rG   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   –  s    € Ð3Ð3Ð3 q�TÔ Ô"Ð3Ð3Ð3rG   )r*   r+   r/   r7   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   š  ra  rG   c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   rN   œ  s    € Ð6Ð6Ð6 q�TÔ Ô"Ð6Ð6Ð6rG   rq   )r/   r7   r+   r7   )TFTF)z
scalar-intzscalar-int-custom-valuesz
scalar-strzscalar-str-custom-valueszlist-intzlist-int-custom-valueszlist-strzlist-str-custom-valuesz list-str-custom-values-incorrectzlist-str-three-featuresr  c                 ó>  — t          j        d¦  «        }|                     t          j        t          j        ¬¦  «        }t          t          ¦   «         d„ dD ¦   «         ft          ¦   «         d„ dD ¦   «         f¦  «        }t          |t          dd¬	¦  «        ¦  «        }|                     |t          j        ¦  «         t          ||| d
d|¬¦  «        }|d         j        |k    sJ ‚t          |d         ¦  «        t          |d         j        ¦  «        dz
  k    sJ ‚d S )NrŠ   rU  c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   z8test_partial_dependence_feature_type.<locals>.<listcomp>¶  s    € ÐBÐBÐB°a�DÔ.¨qÔ1ÐBÐBÐBrG   rL  c                 ó2   — g | ]}t           j        |         ‘ŒS rA   rG  rI  s     rE   rN   z8test_partial_dependence_feature_type.<locals>.<listcomp>·  s    € Ð@Ð@Ð@°A�$Ô,¨QÔ/Ð@Ð@Ð@rG   rN  r¿   r   rC  r7   r:   )r8   r5   r9   rI   rJ   r*   )r‘   r’   r“   r&  rY   rH  r   r    r   r   r   rS   r"  r   rR   rU   )r8   rI   Úexpected_pd_shaper”   r  rE  r(  r)  s           rE   Ú$test_partial_dependence_feature_typeri  ‹  s-  € õN 
Ô	˜XÑ	&Ô	&€BØ	�Š•d”i­Ô);ˆÑ	<Ô	<€Bå*Ý	Ñ	Ô	ÐBÐB¸6ÐBÑBÔBÐCÝ	‰ŒÐ@Ð@¸Ð@Ñ@Ô@ÐAñô €Lõ ØÕ(°$ÀQÐGÑGÔGñô €Dð 	‡H‚HˆR•”ÑÔÐÝ!ØØ
ØØØØ#ðñ ô €Hð �IÔÔ$Ð(9Ò9Ð9Ð9Ð9Ýˆx˜Ô&Ñ'Ô'­3¨x¸	Ô/BÔ/HÑ+IÔ+IÈAÑ+MÒMÐMÐMÐMÐMÐMrG   c                 óÀ  — t           j        }t          t          ¦   «         ddgft	          ¦   «         ddgf¦  «        }t          || ¦  «        }t          j        t          d¬¦  «        5  t          ||ddgd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          | |ddgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r+   r*   r/   zis not fitted yetr¡   r7   )r8   r5   )
r&  rY   r   r    r   r   r‘   r£   r   r   )rü   rD   rE  r(  s       rE   Ú test_partial_dependence_unfittedrk  É  sŒ  € õ 	Œ	€AÝ*Ý	Ñ	Ô	˜A˜q˜6Ð"¥\¡^¤^°a¸°VÐ$<ñô €Lõ ˜ yÑ1Ô1€DÝ	Œ•~Ð-@Ð	AÑ	AÔ	Að Ið IÝ˜4 ¨a°¨VÀRÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iå	Œ•~Ð-@Ð	AÑ	AÔ	Að Nð NÝ˜9 a°1°a°&È"ÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð Nð Ns$   Á(B
Â
BÂBÂ0CÃCÃCzEstimator, datac                 ó  —  | ¦   «         }|\  \  }}}|                      ||¦  «         t          ||ddgd¬¦  «        }t          ||ddgd¬¦  «        }t          j        |d         d¬¦  «        }t	          ||d         ¦  «         d S )Nr*   r+   r:   ©rD   r8   r9   r;   )Úaxis)rS   r   rV   r²   r$   )	rX   rY   rZ   rD   r[   r2   Úpdp_avgÚpdp_indÚavg_inds	            rE   Ú+test_kind_average_and_average_of_individualrr  Þ  s–   € ð ˆ)‰+Œ+€CØÑ�F€QˆˆIØ‡G‚GˆAˆq�M„M€Må  ¨°Q¸°FÀÐKÑKÔK€GÝ  ¨°Q¸°FÀÐNÑNÔN€GÝŒg�g˜lÔ+°!Ð4Ñ4Ô4€GÝ�G˜W YÔ/Ñ0Ô0Ð0Ð0Ð0rG   c                 óZ  —  | ¦   «         }|\  \  }}}t          j        |j        d         ¦  «        }|                     ||¦  «         t	          ||ddgd¬¦  «        }t	          ||ddgd|¬¦  «        }t          |d         |d         ¦  «         t          |d         |d         ¦  «         dS )	zDCheck that `sample_weight` does not have any effect on reported ICE.r   r*   r+   r;   rm  )rD   r8   r9   r  rJ   N)rV   ÚarangerR   rS   r   r$   )	rX   rY   rZ   rD   r[   r2   r  Úpdp_nswÚpdp_sws	            rE   Ú=test_partial_dependence_kind_individual_ignores_sample_weightrw  ð  s¼   € ð ˆ)‰+Œ+€CØÑ�F€QˆˆIÝ”I˜aœg aœjÑ)Ô)€MØ‡G‚GˆAˆq�M„M€Må  ¨°Q¸°FÀÐNÑNÔN€GÝØˆq˜A˜q˜6¨ÀMðñ ô €Fõ �G˜LÔ)¨6°,Ô+?Ñ@Ô@Ð@Ý�G˜MÔ*¨F°=Ô,AÑBÔBÐBÐBÐBrG   Únon_null_weight_idx)r   r*   r)   c                 óh  — t           j        t           j        }}t          t	          ¦   «         ddgft          ¦   «         ddgf¦  «        }t          |t          | ¦  «        ¦  «                             ||¦  «        }t          j
        |¦  «        }d||<   t          ||ddgd|d¬¦  «        }t          ||ddgdd¬	¦  «        }t          |¦  «        rdn t          t          j        |¦  «        ¦  «        }	t          |	¦  «        D ]0}
t!          |d         |
         |         |d         |
         ¦  «         Œ1d
S )a   Check that if we pass a `sample_weight` of zeros with only one index with
    sample weight equals one, then the average `partial_dependence` with this
    `sample_weight` is equal to the individual `partial_dependence` of the
    corresponding index.
    r   r+   r*   r/   r:   r7   )r9   r  r5   r;   )r9   r5   N)r&  rY   r"  r   r    r   r   r   rS   rV   Ú
zeros_liker   r   rU   ÚuniquerT   r$   )rü   rx  rD   r[   rE  r(  r  rv  rp  Ú
output_dimrJ  s              rE   Ú+test_partial_dependence_non_null_weight_idxr}    sK  € õ  Œ9•d”k€q€AÝ*Ý	Ñ	Ô	˜A˜q˜6Ð"¥\¡^¤^°a¸°VÐ$<ñô €Lõ ˜¥u¨YÑ'7Ô'7Ñ8Ô8×<Ò<¸QÀÑBÔB€Då”M !Ñ$Ô$€MØ)*€MÐ%Ñ&ÝØØ	Ø	
ˆAˆØØ#Øðñ ô €Fõ !  q¨1¨a¨&°|ÐUWÐXÑXÔX€GÝ" 4Ñ(Ô(Ð?��­cµ"´)¸A±,´,Ñ.?Ô.?€JÝ�:ÑÔð 
ð 
ˆÝØ�LÔ! !Ô$Ð%8Ô9Ø�9Ô˜aÔ ñ	
ô 	
ð 	
ð 	
ð
ð 
rG   c                 óÊ  —  | ¦   «         }|\  \  }}}|                      ||¦  «         d|ddgddœ}}t          |fi |¤d|i¤Ž}t          j        t	          |¦  «        ¦  «        }t          |fi |¤d|i¤Ž}	t          |d         |	d         ¦  «         dt          j        t	          |¦  «        ¦  «        z  }t          |fi |¤d|i¤Ž}
t          |d         |
d         ¦  «         dS )zFCheck that `sample_weight=None` is equivalent to having equal weights.Nr*   r+   r:   rm  r  )rS   r   rV   r  rU   r$   )rX   rY   rZ   rD   r[   r2   r  rý   Úpdp_sw_noneÚpdp_sw_unitÚpdp_sw_doublings              rE   Ú7test_partial_dependence_equivalence_equal_sample_weightr‚  /  s
  € ð ˆ)‰+Œ+€CØÑ�F€QˆˆIØ‡G‚GˆAˆq�M„M€Mà ¨¸¸1°vÀyÐ"QÐ"Q�6€MÝ$ SÐPÐP¨FÐPÐPÀ-ÐPÐPÐP€KÝ”G�C ™FœF‘O”O€MÝ$ SÐPÐP¨FÐPÐPÀ-ÐPÐPÐP€KÝ�K 	Ô*¨K¸	Ô,BÑCÔCÐCØ�œ¥ A¡¤™œÑ'€MÝ(¨ÐTÐT°ÐTÐTÀmÐTÐTÐT€OÝ�K 	Ô*¨O¸IÔ,FÑGÔGÐGÐGÐGrG   c            	      ó2  — t          ¦   «         } t          \  \  }}}t          j        |¦  «        }|                      ||¦  «         t          j        t          d¬¦  «        5  t          | |dg|dd…         d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zjCheck that we raise an error when the size of `sample_weight` is not
    consistent with `X` and `y`.
    zsample_weight.shape ==r¡   r   r*   Nr7   )r8   r  r5   )	r   Úbinary_classification_datarV   Ú	ones_likerS   r‘   r£   r¤   r   ©rZ   rD   r[   r2   r  s        rE   Ú0test_partial_dependence_sample_weight_size_errorr‡  G  sã   € õ Ñ
Ô
€CÝ2Ñ�F€QˆˆIÝ”L ‘O”O€MØ‡G‚GˆAˆq�M„M€Må	Œ•zÐ)AÐ	BÑ	BÔ	Bð 
ð 
ÝØ�˜a˜S°¸a¸b¸bÔ0AÐSUð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á!BÂBÂBc                  ó&  — t          ¦   «         } t          \  \  }}}t          j        |¦  «        }|                      |||¬¦  «         t          j        t          d¬¦  «        5  t          | |dgd|¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zaCheck that we raise an error when `sample_weight` is provided with
    `"recursion"` method.
    r  z+'recursion' method can only be applied whenr¡   r   r©   )r8   rH   r  N)	r   Úregression_datarV   r…  rS   r‘   r£   r¤   r   r†  s        rE   Ú4test_partial_dependence_sample_weight_with_recursionrŠ  V  sà   € õ  Ñ
!Ô
!€CÝ'Ñ�F€QˆˆIÝ”L ‘O”O€MØ‡G‚GˆAˆq €GÑ.Ô.Ð.å	Œ•zÐ)VÐ	WÑ	WÔ	Wð 
ð 
ÝØ�˜a˜S¨ÀMð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á#BÂB
ÂB
c                  óº  — t          j        dddt           j        gt          ¬¦  «                             dd¦  «        } t          j        g d¢¦  «        }dd	lm} t           |d¬
¦  «        t          ¦   «         ¦  «         	                    | |¦  «        }t          j        t          d¬¦  «        5  t          || dg¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )znCheck that we raise a proper error when a column has mixed types and
    the sorting of `np.unique` will fail.rŒ   r�   rŽ   r­   r)   r*   r:  r   )ÚOrdinalEncoder)Úencoded_missing_valuez'The column #0 contains mixed data typesr¡   r  N)rV   r   Únanr€   rË   Úsklearn.preprocessingrŒ  r   r   rS   r‘   r£   r¤   r   )rD   r[   rŒ  r  s       rE   Útest_mixed_type_categoricalr�  e  s%  € õ 	Œ�#�s˜C¥¤Ð(µÐ7Ñ7Ô7×?Ò?ÀÀAÑFÔF€AÝ
Œ���ÑÔ€Aà4Ð4Ð4Ð4Ð4Ð4å
Øˆ¨RÐ0Ñ0Ô0ÝÑÔñô ÷ 
‚cˆ!ˆQ�i„ið õ 
Œ•zÐ)RÐ	SÑ	SÔ	Sð 1ð 1Ý˜3 ¨Q¨CÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   Â/CÃCÃCc                  ó  — t          j        d¦  «                             dd¦  «        } t          j        g d¢¦  «        }t	          ¦   «         }|                     | |¦  «         t          j        t          t          j
        d¦  «        ¬¦  «        5  t          || d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t          j
        d	¦  «        ¬¦  «        5  t          || d
gdg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t          j
        d¦  «        ¬¦  «        5  t          || dd
g¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          || d
d
g¬¦  «         d S )Nr—   ri   r+   r:  z#The column 0 contains integer data.r¡   r   r  z#The column 1 contains integer data.r*   ©r8   Úcategorical_features)rV   rt  rË   r   r   rS   r‘   r£   r¤   ÚreÚescaper   )rD   r[   r  s      rE   Ú$test_reject_array_with_integer_dtyper–  u  sG  € Ý
Œ	�!‰Œ×Ò˜Q Ñ"Ô"€AÝ
Œ���ÑÔ€AÝ
Ñ
Ô
€CØ‡G‚GˆAˆq�M„M€MÝ	ŒÝ�"œ)Ð$IÑJÔJð
ñ 
ô 
ð /ð /õ 	˜3 ¨AÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ 
ŒÝ�"œ)Ð$IÑJÔJð
ñ 
ô 
ð Kð Kõ 	˜3 ¨Q¨CÀqÀcÐJÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kõ 
ŒÝ�"œ)Ð$IÑJÔJð
ñ 
ô 
ð 4ð 4õ 	˜3 ¨Q°¨FÐ3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ �s˜A¨ÀÀÐDÑDÔDÐDÐDÐDs6   ÂB/Â/B3Â6B3Ã'D	Ä	DÄDÅE"Å"E&Å)E&c                  ó�  — t          j        d¦  «        } |                      g d¢g d¢g d¢dœ¦  «        }t          j        g d¢¦  «        }t          ¦   «         }|                     ||¦  «         t          j        t          t          j
        d¦  «        ¬¦  «        5  t          ||d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          t          j
        d¦  «        ¬¦  «        5  t          ||d
dg¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||d
g¬	¦  «         t          ||dgdg¬¦  «         d S )NrŠ   r]  rø   rw   )r   r*   r   z%The column 'c' contains integer data.r¡   rv   r  rt   r’  )r‘   r’   r“   rV   r   r   rS   r£   r¤   r”  r•  r   )r”   rD   r[   r  s       rE   Ú%test_reject_pandas_with_integer_dtyper˜  ‹  sÛ  € Ý	Ô	˜XÑ	&Ô	&€BØ
�Šà ��Ø��Ø��ð	
ð 	
ñ	ô 	€Aõ 	Œ���ÑÔ€AÝ
Ñ
Ô
€CØ‡G‚GˆAˆq�M„M€Må	ŒÝ�"œ)Ð$KÑLÔLð
ñ 
ô 
ð 1ð 1õ 	˜3 ¨CÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ 
ŒÝ�"œ)Ð$KÑLÔLð
ñ 
ô 
ð 8ð 8õ 	˜3 ¨S°#¨JÐ7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ �s˜A¨¨Ð.Ñ.Ô.Ð.Ý�s˜A¨¨ÀSÀEÐJÑJÔJÐJÐJÐJs$   ÂB:Â:B>ÃB>Ã2DÄDÄDc                  ór  — t          t          ¦   «         t          ¦   «         ¦  «        } |                      t          j        t          j        ¦  «         t          j        t          t          j        d¦  «        ¬¦  «        5  t          | t          j        dgg ¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zYCheck that we raise the proper exception when `categorical_features`
    is an empty listz�Passing an empty list (`[]`) to `categorical_features` is not supported. Use `None` instead to indicate that there are no categorical features.r¡   r   )rü   rD   r8   r“  N)r   r    r   rS   r&  rY   r"  r‘   r£   r¤   r”  r•  r   r  s    rE   Ú2test_partial_dependence_empty_categorical_featuresrš  ¦  sð   € õ �Ñ(Ô(Õ*<Ñ*>Ô*>Ñ
?Ô
?€CØ‡G‚G�DŒI•t”{Ñ#Ô#Ð#å	ŒÝÝŒið$ñ
ô 
ð
ñ 
ô 
ð 

ð 

õ 	Ø�TœY°!°È2ð	
ñ 	
ô 	
ð 	
ð

ð 

ð 

ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 

øøøð 

ð 

ð 

ð 

ð 

ð 

s   Â B,Â,B0Â3B0)wÚ__doc__r”  ÚnumpyrV   r‘   ÚsklearnÚsklearn.baser   r   r   r   Úsklearn.clusterr   Úsklearn.composer   Úsklearn.datasetsr	   r
   r   Úsklearn.dummyr   Úsklearn.ensembler   r   r   r   r   Úsklearn.exceptionsr   Úsklearn.imputer   Úsklearn.inspectionr   Ú&sklearn.inspection._partial_dependencer   r   r   Úsklearn.linear_modelr   r   r   Úsklearn.metricsr   Úsklearn.pipeliner   r�  r   r   r   r    r!   Úsklearn.treer"   Úsklearn.tree.tests.test_treer#   Úsklearn.utils._testingr$   r%   Úsklearn.utils.fixesr&   Úsklearn.utils.validationr'   rD   r[   r„  Úmulticlass_classification_datar‰  Úmultioutput_regression_datar&  ÚmarkÚparametrizerc   r‡   r•   rœ   r¦   rT   r¼   rÕ   rÜ   rë   rÑ   ÚDecisionTreeClassifierÚExtraTreeClassifierÚensembleÚExtraTreesClassifierÚ	neighborsÚKNeighborsClassifierÚRadiusNeighborsClassifierÚRandomForestClassifierrí   rï   r  rþ   r   r  r  r  r  r  r+  r4  r<  rB  r[  rH  r   ri  rk  rr  rw  r}  r‚  r‡  rŠ  r�  r–  r˜  rš  rA   rG   rE   ú<module>r¼     sF  ððð ð 
€	€	€	à Ð Ð Ð Ø €€€à €€€Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ "Ð "Ð "Ð "Ð "Ð "Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø (Ð (Ð (Ð (Ð (Ð (Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð ð
 VÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .Ø :Ð :Ð :Ð :Ð :Ð :Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ )Ð )Ð )Ð )Ð )Ð )Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€ØÐÐ€ð 2Ð1¸BÈQÐOÑOÔOÐQRÐSÐ àÐØ ¸Èðñ ô ð ð	"Ð ð #�?¨R¸aÐ@Ñ@Ô@À!ÐD€à€O˜b¨A¸AÐ>Ñ>Ô>ØðÐ ð €y�{„{€ð „×ÒØà	# VÐ-GÐHØ	# VÐ-KÐLØ	# WÐ.HÐIØ	# WÐ.LÐMØ	" F¨OÐ<Ø	" G¨_Ð=Ø	 ¨Ð9Ø	˜7 OÐ4Ø	˜7Ð$?Ð@Ø	˜WÐ&@ÐAØ	˜WÐ&DÐEØ	˜Ð"=Ð>ðñô ð" „×ÒÐ*¨GÑ4Ô4Ø„×Ò˜ q c¨A¨q¨6 ]Ñ3Ô3Ø„×Ò˜Ð!BÑCÔCØ„×ÒÐ,¨t°U¨mÑ<Ô<ð49ð 49ñ =Ô<ñ DÔCñ 4Ô3ñ 5Ô4ñ#ô ð*49ðn[ ð [ ð [ ð| „×ÒØà	Øðñô ð!ð !ñô ð!ð& „×ÒÐ*¨Q°¨HÑ5Ô5ð2ð 2ñ 6Ô5ð2ð@ „×ÒØ+ðð ð ñô ðXð Xñô ðXð „×ÒÐ)¨5¨5°©8¬8Ñ4Ô4Ø„×ÒØà	Ð	Ñ	Ô	˜WÐ%Ø	"Ð	"°Ð	2Ñ	2Ô	2°GÐ<Ø	"Ð	"°Ð	2Ñ	2Ô	2°KÐ@Ø	&Ð	&°AÐ	6Ñ	6Ô	6¸Ð@Ø	&Ð	&°AÐ	6Ñ	6Ô	6¸ÐDðñ	ô 	ð+9ð +9ñ	ô 	ñ 5Ô4ð+9ð\ „×Ò˜   q¡¤Ñ*Ô*ðB9ð B9ñ +Ô*ðB9ðJ „×ÒØ	à"Ð"°Ð2Ñ2Ô2Ø&Ð&°AÐ6Ñ6Ô6ðñô ð „×ÒÐ)Ð+=Ñ>Ô>ðGð Gñ ?Ô>ñô ðGð< „×ÒØ	àÐÑÔØ!Ð!¨qÐ1Ñ1Ô1Ø%Ð%Ø¨Q¸tÈað	
ñ 	
ô 	
ð 	Ð¨1Ð-Ñ-Ô-ðñ
ô 
ð „×Ò˜ &Ñ)Ô)ðð ñ *Ô)ñ
ô 
ðð> „×ÒØàŒÔ+ØŒÔ(ØÔÔ-ØÔÔ.ØÔÔ3ØÔÔ/ðñ
ô 
ð(ð (ñ
ô 
ð(ð ð ð ð ð  ¸ñ ô ð ð „×ÒØ ð ˆF ¨&Ð1Ñ1Ô1Ø˜!˜ÐØBð	
ð ÐÑÔØ˜°ÐAÐAØEð	
ð 'Ð&°AÐ6Ñ6Ô6à˜CØ#2Ø%ðð ð
 Rð	
ð 'Ð&°AÐ6Ñ6Ô6Ø˜°ÈFÐSÐSØQð	
ð ÐÑÔØ˜¨¸\ÐJÐJØQð	
ð ÐÑÔØ˜¨¸VÐDÐDØQð	
ð ÐÑÔØ˜¨Ð4Ð4ØKð	
ð ÐÑÔØ˜Q˜°i°i°iÀGÀBÄGÈFÁOÄOÐ2TÐ2TÐUÐUð*ð		
ðQ0ñ3ô 3ðh3ð 3ñi3ô 3ðh3ð „×ÒØÐ"Ð"Ñ$Ô$Ð&@Ð&@ÈaÐ&PÑ&PÔ&PÐQñô ð „×Ò˜ b¨% [Ñ1Ô1ð5ð 5ñ 2Ô1ñô ð5ð „×ÒØÐ"Ð"Ñ$Ô$Ð&@Ð&@ÈaÐ&PÑ&PÔ&PÐQñô ð	4ð 	4ñô ð	4ð „×ÒØÐ"Ð"Ñ$Ô$Ð&@Ð&@ÈaÐ&PÑ&PÔ&PÐQñô ð@ð @ñô ð@ðLð Lð Lð$Hð Hð Hð41ð 1ð 1ðð ð ð: „×ÒØ0à
ˆ��BˆØ
ˆ��1ˆðñô ð7ð 7ñô ð7ð4 „×ÒØ.à
ˆ�Ð*Ð*Ð*Ð+¨QÐ/Ø
ˆ��s˜C�jÐ! 1Ð%Ø
ˆ��s�e�˜aÐ ðñô ð7ð 7ñô ð7ð* „×ÒØ.à
ˆ��s˜C�jÐ! 1Ð%Ø
ˆ��s�e�˜aÐ Ø
ˆsˆ˜C ˜:¨S°#¨JÐ7Ð7¸Ð;ðñô ð7ð 7ñô ð7ð0 „×ÒØàÐ D°qÐ9Ñ9Ô9Ø"Ð"°ÀÐBÑBÔBðð 
Ð1Ð2ð ñ ô ð „×ÒØàØÐØˆ^ÑÔÐFÐF¸vÐFÑFÔFÐGØˆ\‰^Œ^ÐDÐD¸VÐDÑDÔDÐEñ	
ô 	
ð 	 ÐØˆ^ÑÔÐFÐF¸vÐFÑFÔFÐGØ#ð	
ñ 	
ô 	
ð
ð 	IÐHÐHð ñ ô ð „×ÒØØˆ€VÐ4Ð4¨VÐ4Ñ4Ô4Ð5Ø	Ð.Ð/ð ñ ô ð
(Oð (Oñô ñô ñô ð8(OðV „×ÒØ0àØ	
ˆQ���Ð  &Ð)Ø	Ô	˜AÔ	  gÐ.Ø	Ô	˜AÔ	 Ô!3°AÔ!6¸¸¼À#ÀsÀÑ8LÔ8LÐ MÈvÐVØ
ˆQˆ��{Ð#Ø
ˆQˆ�!�]�]�]Ð# ZÐ0Ø	0Ð	0¨Ð	0Ñ	0Ô	0°$¸ÐDà3Ð3¨FÐ3Ñ3Ô3ØÔ Ô" M M MÐ2Øð	
ð
 
1Ð	0¨Ð	0Ñ	0Ô	0°1°m°m°mÐ2DÀkÐRà6Ð6¨IÐ6Ñ6Ô6ØÔ Ô" Q¨ GÐ,Øð	
ð
 
$Ð	#Ð	# T¨;Ð7ð'ð*	ð 	ð 	ð/ ñ $ô $ðJNð NñK$ô $ðJNð2 „×ÒØàÐÑÔØÐÑÔØ!Ð!Ñ#Ô#Ø"Ð"Ñ$Ô$ð	ñô ð	Nð 	Nñô ð	Nð „×ÒØà	Ð6Ð7Ø	Ð7Ð8ðñô ð1ð 1ñô ð1ð „×ÒØà	Ð6Ð7Ø	Ð7Ð8ðñô ðCð Cñô ðCð „×ÒØàÐÑÔØÐÑÔØÐÑÔØ"Ð"Ñ$Ô$ð	ñô ð „×ÒÐ.°
°
°
Ñ;Ô;ð
ð 
ñ <Ô;ñô ð
ð> „×ÒØà	Ð6Ð7Ø	Ð7Ð8ðñô ðHð Hñô ðHð"
ð 
ð 
ð
ð 
ð 
ð1ð 1ð 1ð Eð Eð Eð,Kð Kð Kð6
ð 
ð 
ð 
ð 
rG   