§
    rŠtjøl ã                   ó   — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	Z
ddlZddlmZ ddlmZ ddlmZmZmZmZ ddlmZ dd	lmZmZmZmZmZmZ dd
lmZ ddl m!Z! ddl"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG ddlHmIZImJZJmKZK ddlLmMZM ddlNmOZO ddlPmQZQ ddlRmSZS ddlTmUZU ddlVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z] ddl^m_Z_m`Z`maZambZbmcZc ddldmeZe ddlfmgZgmhZhmiZi ddljmkZkmlZl ddlmmnZnmoZompZpmqZqmrZr dd lsmtZt dd!lumvZvmwZw dd"lxmyZy  G d#„ d$e¦  «        Zz G d%„ d&ez¦  «        Z{ G d'„ d(e¦  «        Z| G d)„ d*e|¦  «        Z} G d+„ d,ee¦  «        Z~ e
j        d-¦  «        Z€ e
j�        g d.¢¦  «        Z‚ e
j�        g d/¢¦  «        Zƒ e
j„        d0¦  «        Z…ej†         ‡                    d1ev¦  «        d2„ ¦   «         Zˆd3„ Z‰d4„ ZŠd5„ Z‹d6„ ZŒej†         ‡                    d7d8d9g¦  «        ej†         ‡                    d:ew¦  «        d7e�fd;„¦   «         ¦   «         ZŽd<„ Z�d=„ Z�d>„ Z‘d?„ Z’d@„ Z“dA„ Z”ej†         ‡                    d1ev¦  «        dB„ ¦   «         Z•dC„ Z–dD„ Z—dE„ Z˜ej†         ‡                    d1ev¦  «        dF„ ¦   «         Z™dG„ ZšdH„ Z›dI„ ZœdJ„ Z�ej†         ‡                    d1ev¦  «        dK„ ¦   «         ZždL„ ZŸdM„ Z dN„ Z¡ej†         ‡                    d1ev¦  «        dO„ ¦   «         Z¢dP„ Z£dQ„ Z¤dR„ Z¥ej†         ‡                    d1ev¦  «        dS„ ¦   «         Z¦dT„ Z§dU„ Z¨dV„ Z©dW„ ZªdX„ Z«dY„ Z¬dZ„ Z­d[„ Z®d\„ Z¯d]„ Z°d^„ Z±d_„ Z²d`„ Z³da„ Z´db„ Zµdc„ Z¶dd„ Z·de„ Z¸ej†         ‡                    d:ew¦  «        df„ ¦   «         Z¹dg„ Zºdh„ Z»di„ Z¼dj„ Z½dk„ Z¾dl„ Z¿dm„ ZÀdn„ ZÁdo„ ZÂ G dp„ dqe!¦  «        ZÃdr„ ZÄds„ ZÅdt„ ZÆdu„ ZÇdv„ ZÈdw„ ZÉdx„ ZÊdy„ ZËdz„ ZÌ G d{„ d|e¦  «        ZÍej†         ‡                    d}e
jÎ        dg¦  «        d~„ ¦   «         ZÏej†         ‡                    d}e
jÎ        dg¦  «        d„ ¦   «         ZÐd€„ ZÑej†         Ò                    d�¦  «        ej†         ‡                    d}e
jÎ        dd‚g¦  «        dƒ„ ¦   «         ¦   «         ZÓej†         Ò                    d�¦  «        ej†         ‡                    d}e
jÎ        dd‚g¦  «        ej†         ‡                    d„d9d8g¦  «        ej†         ‡                    d…d8d9g¦  «        d†„ ¦   «         ¦   «         ¦   «         ¦   «         ZÔd‡„ ZÕej†         ‡                    dˆd8eÕd‰dŠd‹dŒfd9 e7eÕeÕd�œ¬Ž¦  «        d�dŠd‹d�fd8 e7eÕeÕd�œ¬Ž¦  «        d‘dŠd‹d’fg¦  «        d“„ ¦   «         ZÖd”„ Z×d•„ ZØd–„ ZÙd—„ ZÚd˜„ ZÛej†         ‡                    d™eDi feCi feBi feEi feFi feGdš e
j�        d›g¦  «        dœœfg¦  «         ed9¬�¦  «        dž„ ¦   «         ¦   «         ZÜej†         ‡                    d™eDi feCi feBi feEi feFi feGdš e
j�        d›g¦  «        dœœfg¦  «         ed9¬�¦  «        dŸ„ ¦   «         ¦   «         ZÝej†         ‡                    d™eDi feCi feBi feEi feFi feGdš e
j�        d›g¦  «        dœœfg¦  «         ed9¬�¦  «        d „ ¦   «         ¦   «         ZÞej†         ‡                    d™eDi feCi feBi feEi feFd¡d¢ifeGdš e
j�        d›g¦  «        dœœfg¦  «         ed9¬�¦  «        d£„ ¦   «         ¦   «         Zß ed9¬�¦  «        d¤„ ¦   «         Zàej†         ‡                    d¥ e)¦   «          e¦   «         gd¦d§g¬¨¦  «        ej†         ‡                    d©g dª¢¦  «        ej†         ‡                    d« ei¦   «         ¦  «        d¬„ ¦   «         ¦   «         ¦   «         ZádS )­zTest the validation moduleé    N)Úpartial)Úsleep)Úissparse)Úconfig_context)ÚBaseEstimatorÚClassifierMixinÚcloneÚis_classifier)ÚKMeans)Úload_diabetesÚload_digitsÚ	load_irisÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚLinearDiscriminantAnalysis)ÚRandomForestClassifier)ÚFitFailedWarningÚUnsetMetadataPassedError)ÚSimpleImputer)ÚLogisticRegressionÚRidgeÚRidgeClassifierÚSGDClassifier)	Úaccuracy_scoreÚcheck_scoringÚconfusion_matrixÚexplained_variance_scoreÚmake_scorerÚmean_squared_errorÚprecision_recall_fscore_supportÚprecision_scoreÚr2_score)Ú_MultimetricScorer)ÚGridSearchCVÚ
GroupKFoldÚGroupShuffleSplitÚKFoldÚLeaveOneGroupOutÚLeaveOneOutÚLeavePGroupsOutÚShuffleSplitÚStratifiedKFoldÚcross_val_predictÚcross_val_scoreÚcross_validateÚlearning_curveÚpermutation_test_scoreÚvalidation_curve)Ú_check_is_permutationÚ_fit_and_scoreÚ_score)ÚOneTimeSplitter)ÚFailingClassifier)ÚOneVsRestClassifier)ÚKNeighborsClassifier)ÚMLPRegressor)ÚPipeline)ÚLabelEncoderÚscale)ÚSVCÚ	LinearSVC)ÚConsumingClassifierÚConsumingScorerÚConsumingSplitterÚ	_RegistryÚcheck_recorded_metadata)Úshuffle)Ú_atol_for_typeÚmove_toÚ)yield_namespace_device_dtype_combinations)ÚCheckingClassifierÚMockDataFrame)Ú_array_api_for_testsÚassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSR_CONTAINERS)Ú_num_samplesc                   ó4   — e Zd ZdZd„ Zdd„Zd„ Zd	d„Zd„ ZdS )
ÚMockImprovingEstimatorz+Dummy classifier to test the learning curvec                 ó0   — || _         d| _        d | _        d S ©Nr   )Ún_max_train_sizesÚtrain_sizesÚX_subset)ÚselfrY   s     úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/model_selection/tests/test_validation.pyÚ__init__zMockImprovingEstimator.__init__j   s   € Ø!2ˆÔØˆÔØˆŒˆˆó    Nc                 ó8   — || _         |j        d         | _        | S rX   ©r[   ÚshaperZ   ©r\   r[   Úy_subsets      r]   ÚfitzMockImprovingEstimator.fito   ó   € Ø ˆŒØ#œ>¨!Ô,ˆÔØˆr_   c                 ó   — t           ‚©N©ÚNotImplementedError©r\   ÚXs     r]   ÚpredictzMockImprovingEstimator.predictt   ó   € Ý!Ð!r_   c                 ó¢   — |                       |¦  «        rdt          | j        ¦  «        | j        z  z
  S t          | j        ¦  «        | j        z  S )Ng       @)Ú_is_training_dataÚfloatrZ   rY   ©r\   rl   ÚYs      r]   ÚscorezMockImprovingEstimator.scorew   sP   € à×!Ò! !Ñ$Ô$ð 	DØ�˜tÔ/Ñ0Ô0°4Ô3IÑIÑIÐIå˜Ô)Ñ*Ô*¨TÔ-CÑCÐCr_   c                 ó   — || j         u S rh   ©r[   rk   s     r]   rp   z(MockImprovingEstimator._is_training_data~   ó   € Ø�D”MÐ!Ð!r_   rh   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r^   re   rm   rt   rp   © r_   r]   rV   rV   g   ss   € € € € € Ø5Ð5ðð ð ð
ð ð ð ð
"ð "ð "ðDð Dð Dð Dð"ð "ð "ð "ð "r_   rV   c                   ó2   ‡ — e Zd ZdZdˆ fd„	Zd„ Zdd„Zˆ xZS )Ú!MockIncrementalImprovingEstimatorz*Dummy classifier that provides partial_fitNc                 óf   •— t          ¦   «                              |¦  «         d | _        || _        d S rh   )Úsuperr^   ÚxÚexpected_fit_params)r\   rY   r„   Ú	__class__s      €r]   r^   z*MockIncrementalImprovingEstimator.__init__…   s1   ø€ Ý‰Œ×ÒÐ*Ñ+Ô+Ð+ØˆŒØ#6ˆÔ Ð Ð r_   c                 ó   — | j         |v S rh   ©rƒ   rk   s     r]   rp   z3MockIncrementalImprovingEstimator._is_training_dataŠ   s   € ØŒv˜ˆ{Ðr_   c                 óà  — | xj         |j        d         z  c_         |d         | _        | j        r¼t	          | j        ¦  «        t	          |¦  «        z
  }|r t          dt          |¦  «        › d�¦  «        ‚|                     ¦   «         D ]c\  }}|| j        v rSt          |¦  «        t          |¦  «        k    r3t          d|› dt          |¦  «        › dt          |¦  «        › d�¦  «        ‚Œbd S d S )Nr   zExpected fit parameter(s) z
 not seen.zFit parameter z has length z; expected ú.)	rZ   rb   rƒ   r„   ÚsetÚAssertionErrorÚlistÚitemsrT   )r\   rl   ÚyÚparamsÚmissingÚkeyÚvalues          r]   Úpartial_fitz-MockIncrementalImprovingEstimator.partial_fit�   s.  € ØÐÔ˜AœG AœJÑ&ÐÔØ�1”ˆŒØÔ#ð 	Ý˜$Ô2Ñ3Ô3µc¸&±k´kÑAˆGØð Ý$ØJµ°g±´ÐJÐJÐJñô ð ð %Ÿlšl™nœnð ð ‘
��UØ˜$Ô2Ð2Ð2µ|Øñ8ô 8å! !‘_”_ò8%ð 8%õ )ð9¨ð 9ð 9½,ÀuÑ:MÔ:Mð 9ð 9Ý&2°1¡o¤oð9ð 9ð 9ñô ð øð	ð 	ðð r_   rh   )rz   r{   r|   r}   r^   rp   r“   Ú__classcell__©r…   s   @r]   r€   r€   ‚   sf   ø€ € € € € Ø4Ð4ð7ð 7ð 7ð 7ð 7ð 7ð
ð ð ðð ð ð ð ð ð ð r_   r€   c                   ó4   — e Zd ZdZd	d„Zd„ Zd„ Zd
d„Zd„ ZdS )ÚMockEstimatorWithParameterz-Dummy classifier to test the validation curveç      à?c                 ó"   — d | _         || _        d S rh   )r[   Úparam)r\   rš   s     r]   r^   z#MockEstimatorWithParameter.__init__£   s   € ØˆŒØˆŒ
ˆ
ˆ
r_   c                 ó8   — || _         |j        d         | _        | S rX   ra   rc   s      r]   re   zMockEstimatorWithParameter.fit§   rf   r_   c                 ó   — t           ‚rh   ri   rk   s     r]   rm   z"MockEstimatorWithParameter.predict¬   rn   r_   Nc                 óN   — |                       |¦  «        r| j        n	d| j        z
  S )Né   )rp   rš   )r\   rl   rŽ   s      r]   rt   z MockEstimatorWithParameter.score¯   s'   € Ø!×3Ò3°AÑ6Ô6ÐJˆtŒzˆz¸AÀÄ
¹NÐJr_   c                 ó   — || j         u S rh   rv   rk   s     r]   rp   z,MockEstimatorWithParameter._is_training_data²   rw   r_   )r˜   rx   ry   r~   r_   r]   r—   r—       ss   € € € € € Ø7Ð7ðð ð ð ðð ð ð
"ð "ð "ðKð Kð Kð Kð"ð "ð "ð "ð "r_   r—   c                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )Ú%MockEstimatorWithSingleFitCallAllowedz<Dummy classifier that disallows repeated calls of fit methodc                 óŠ   •— t          | d¦  «        r
J d¦   «         ‚d| _        t          ¦   «                              ||¦  «        S )NÚfit_called_zfit is called the second timeT)Úhasattrr£   r‚   re   )r\   r[   rd   r…   s      €r]   re   z)MockEstimatorWithSingleFitCallAllowed.fit¹   sB   ø€ Ý˜4 Ñ/Ô/ÐPÐPÐ1PÑPÔPÐ/ØˆÔÝ‰wŒw�{Š{˜8 XÑ.Ô.Ð.r_   c                 ó   — t           ‚rh   ri   rk   s     r]   rm   z-MockEstimatorWithSingleFitCallAllowed.predict¾   rn   r_   )rz   r{   r|   r}   re   rm   r”   r•   s   @r]   r¡   r¡   ¶   sM   ø€ € € € € ØFÐFð/ð /ð /ð /ð /ð
"ð "ð "ð "ð "ð "ð "r_   r¡   c                   óP   — e Zd ZdZdd„Z	 	 	 	 	 	 	 	 	 dd„Zd„ Zd„ Zdd	„Zdd
„Z	dS )ÚMockClassifierz-Dummy classifier to test the cross-validationr   Fc                 ó"   — || _         || _        d S rh   ©ÚaÚallow_nd)r\   rª   r«   s      r]   r^   zMockClassifier.__init__Å   s   € ØˆŒØ ˆŒˆˆr_   Nc           	      óN  — || _         || _        |	| _        |
� |
| ¦  «         | j        r#|                     t          |¦  «        d¦  «        }|j        dk    r| j        st          d¦  «        ‚|�P|j        d         |j        d         k    s4J d 	                    |j        d         |j        d         ¦  «        ¦   «         ‚|�‚|j        d         t          t          j        t          ¦  «        ¦  «        k    sMJ d 	                    |j        d         t          t          j        t          ¦  «        ¦  «        ¦  «        ¦   «         ‚|�Rd}|j        d         |j        d         k    s4J | 	                    |j        d         |j        d         ¦  «        ¦   «         ‚|�md	}|j        t          j        k    sVJ | 	                    |j        d         |j        d
         t          j        d         t          j        d
         ¦  «        ¦   «         ‚t          j        t          ¦  «        | _        | S )z÷The dummy arguments are to test that this fit function can
        accept non-array arguments through cross-validation, such as:
            - int
            - str (this is actually array-like)
            - object
            - function
        Néÿÿÿÿé   zX cannot be dr   zKMockClassifier extra fit_param sample_weight.shape[0] is {0}, should be {1}zIMockClassifier extra fit_param class_prior.shape[0] is {0}, should be {1}zRMockClassifier extra fit_param sparse_sample_weight.shape[0] is {0}, should be {1}zUMockClassifier extra fit_param sparse_param.shape is ({0}, {1}), should be ({2}, {3})rž   )Ú	dummy_intÚ	dummy_strÚ	dummy_objr«   ÚreshapeÚlenÚndimÚ
ValueErrorrb   ÚformatÚnpÚuniquerŽ   ÚPÚclasses_)r\   rl   rs   Úsample_weightÚclass_priorÚsparse_sample_weightÚsparse_paramr¯   r°   r±   ÚcallbackÚfmts               r]   re   zMockClassifier.fitÉ   s  € ð( #ˆŒØ"ˆŒØ"ˆŒØÐØˆH�T‰NŒNˆNàŒ=ð 	&Ø—	’	�#˜a™&œ& "Ñ%Ô%ˆAØŒ6�QŠ;ˆ;˜tœ}ˆ;Ý˜_Ñ-Ô-Ð-ØÐ$Ø Ô& qÔ)¨Q¬W°Q¬ZÒ7Ð7Ð7ð?ß?EºvØ!Ô'¨Ô*¨A¬G°A¬Jñ@ô @ñ 8Ô7Ð7ð Ð"ØÔ$ QÔ'­3­r¬y½©|¬|Ñ+<Ô+<Ò<Ð<Ð<ð)ß)/ª°Ô0AÀ!Ô0DÅcÍ"Ì)ÕTUÉ,Ì,ÑFWÔFWÑ)XÔ)Xñ =Ô<Ð<ð  Ð+ð2ð ð (Ô-¨aÔ0°A´G¸A´JÒ>Ð>Ð>ÀÇ
Â
Ø$Ô*¨1Ô-¨q¬w°q¬zñAô AÑ>Ô>Ð>ð Ð#ð6ð ð  Ô%­¬Ò0Ð0Ð0°#·*²*ØÔ" 1Ô%ØÔ" 1Ô%Ý”˜”
Ý”˜”
ñ	3ô 3Ñ0Ô0Ð0õ œ	¥!™œˆŒØˆr_   c                 ón   — | j         r#|                     t          |¦  «        d¦  «        }|d d …df         S )Nr­   r   )r«   r²   r³   ©r\   ÚTs     r]   rm   zMockClassifier.predict	  s6   € ØŒ=ð 	&Ø—	’	�#˜a™&œ& "Ñ%Ô%ˆAØ����A�Œwˆr_   c                 ó   — |S rh   r~   rÂ   s     r]   Úpredict_probazMockClassifier.predict_proba  s   € Øˆr_   c                 ó@   — ddt          j        | j        ¦  «        z   z  S )Nç      ð?rž   )r·   Úabsrª   rr   s      r]   rt   zMockClassifier.score  s   € Ø�a�"œ& ¤™.œ.Ñ(Ñ)Ð)r_   c                 ó    — | j         | j        dœS )Nr©   r©   )r\   Údeeps     r]   Ú
get_paramszMockClassifier.get_params  s   € Ø”V¨¬Ð7Ð7Ð7r_   )r   F)	NNNNNNNNNrx   )F)
rz   r{   r|   r}   r^   re   rm   rÅ   rt   rË   r~   r_   r]   r§   r§   Â   s¦   € € € € € Ø7Ð7ð!ð !ð !ð !ð ØØØ!ØØØØØð>ð >ð >ð >ð@ð ð ð
ð ð ð*ð *ð *ð *ð8ð 8ð 8ð 8ð 8ð 8r_   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Ï   Úcoo_containerc                 ó  — t          ¦   «         } | t          ¦  «        }t          dd¦  «        D �]%}||_        t	          |t          t
          ¦  «        }t          ||                     t          t
          ¦  «        ¦  «         t          j	        t
          t
          d d d…         g¦  «        }t	          |||¦  «        }t          ||                     ||¦  «        ¦  «         t	          ||t
          ¦  «        }t          ||                     |t
          ¦  «        ¦  «         t	          |||¦  «        }t          ||                     ||¦  «        ¦  «         �Œ'd„ }t          |¬¦  «        }t	          |t                               ¦   «         t
                               ¦   «         d¬¦  «        }t          |¬¦  «        }t	          |t          t
                               ¦   «         d¬¦  «        }t          d d …d d …t          j        f         }t          d	¬
¦  «        }t	          ||t
          ¦  «        }t          d¬
¦  «        }t          j        t          ¦  «        5  t	          ||t
          d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Niöÿÿÿé
   r­   c                 ó,   — t          | t          ¦  «        S rh   ©Ú
isinstancerŒ   r‡   s    r]   ú<lambda>z&test_cross_val_score.<locals>.<lambda>:  ó   € �: a­Ñ.Ô.€ r_   ©Úcheck_Xr®   ©Úcv©Úcheck_yT)r«   FÚraise©Úerror_score)r§   rl   Úrangerª   r/   Úy2rP   rt   r·   Úcolumn_stackrJ   ÚtolistÚnewaxisÚpytestÚraisesrµ   )rÑ   ÚclfÚX_sparserª   ÚscoresÚmultioutput_yÚ
list_checkÚX_3ds           r]   Útest_cross_val_scorerï   "  sc  € å
Ñ
Ô
€CØˆ}�QÑÔ€Hå�3˜‰^Œ^ð Gñ GˆØˆŒå  ¥a­Ñ,Ô,ˆÝ˜6 3§9¢9­QµÑ#3Ô#3Ñ4Ô4Ð4õ œ­­R°°°"°¬X¨Ñ7Ô7ˆÝ   h°Ñ>Ô>ˆÝ˜6 3§9¢9¨X°}Ñ#EÔ#EÑFÔFÐFå   hµÑ3Ô3ˆÝ˜6 3§9¢9¨XµrÑ#:Ô#:Ñ;Ô;Ð;õ !  h°Ñ>Ô>ˆÝ˜6 3§9¢9¨X°}Ñ#EÔ#EÑFÔFÐFÑFð /Ð.€JÝ
 ZÐ
0Ñ
0Ô
0€CÝ˜S¥!§(¢(¡*¤*­b¯iªi©k¬k¸aÐ@Ñ@Ô@€Få
 ZÐ
0Ñ
0Ô
0€CÝ˜S¥!¥R§Y¢Y¡[¤[°QÐ7Ñ7Ô7€Fõ ˆQˆQˆQ���•2”:ÐÔ€DÝ
 $Ð
'Ñ
'Ô
'€CÝ˜S $­Ñ+Ô+€Få
 %Ð
(Ñ
(Ô
(€CÝ	Œ•zÑ	"Ô	"ð <ð <Ý˜˜T¥2°7Ð;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   ÉI<É<J ÊJ c                  óœ   — t          d¬¦  «        \  } }t          d¬¦  «        }t          |dddgi¬¦  «        }t          || |d	¬
¦  «         d S )NT©Ú
return_X_yÚauto)ÚgammaÚCrž   rÓ   )Ú
param_gridrÍ   )Ún_jobs)r   r?   r%   r0   )rl   rŽ   ré   Úgrids       r]   Útest_cross_validate_many_jobsrù   K  s_   € õ  Ð%Ñ%Ô%�D€A€qÝ
�FÐ
Ñ
Ô
€CÝ˜¨¨q°"¨g¨Ð7Ñ7Ô7€DÝ�4˜˜A aÐ(Ñ(Ô(Ð(Ð(Ð(r_   c            
      ó¸  — t          d¬¦  «        \  } }t          ¦   «         }d}t          j        t          |¬¦  «        5  t          || |t          t          ¦  «        t          t          ¦  «        f¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          || |t          t          ¦  «        f¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |dz   ¬¦  «        5  t          || |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |dz   ¬¦  «        5  t          || |d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          || |t          t          ¦  «        gg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t          || |t          ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        }dt          j        › d�}t          j        t          |¬¦  «        5  t          || ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          || |d|i¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©Úrandom_statez.*must be unique strings.*©Úmatch©ÚscoringzEmpty list.*r~   zDuplicate.*)Úf1_micror  zAn empty dictú[Scoring failed. The score on this train-test partition for these parameters will be set to z. Details: 
Úfoo)r   r§   rç   rè   rµ   r0   r   r"   r   Údictr!   r·   ÚnanÚwarnsÚUserWarning)rl   rŽ   Ú	estimatorÚerror_message_regexpÚmulticlass_scorerÚwarning_messages         r]   Ú)test_cross_validate_invalid_scoring_paramr  U  s,  € Ý¨AÐ.Ñ.Ô.�D€A€qÝÑ Ô €Ið 8Ðõ 
Œ•zÐ)=Ð	>Ñ	>Ô	>ð 
ð 
ÝØØØÝ ¥Ñ1Ô1µ;½~Ñ3NÔ3NÐOð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ 
Œ•zÐ)=Ð	>Ñ	>Ô	>ð Qð QÝ�y ! Qµ½_Ñ1MÔ1MÐ0OÐPÑPÔPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qõ 
Œ•zÐ)=ÀÑ)NÐ	OÑ	OÔ	Oð 4ð 4Ý�y ! Q°Ð3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ 
Œ•zÐ)=ÀÑ)MÐ	NÑ	NÔ	Nð Jð JÝ�y ! QÐ0HÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jõ 
Œ•zÐ)=Ð	>Ñ	>Ô	>ð Rð RÝ�y ! Qµ+½oÑ2NÔ2NÐ1OÐ0PÐQÑQÔQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rõ 
Œ•z¨Ð	9Ñ	9Ô	9ð :ð :Ý�y ! Qµ±´Ð9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :õ $Õ$CÑDÔDÐð
	Ý9;¼ð	ð 	ð 	ð õ 
Œ•k¨Ð	9Ñ	9Ô	9ð Cð CÝ�y ! QÐ0AÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cõ 
Œ•k¨Ð	9Ñ	9Ô	9ð Lð LÝ�y ! Q°Ð8IÐ0JÐ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"ÄD'Ä'D+Ä.D+ÅE0Å0E4Å7E4Æ(G
Ç
GÇGÇ0 HÈH È#H É&JÊJ
ÊJ
Ê,KËKËKc                  ó¼   — t          ddgddgddgddgddgddgddgddgg¦  «        } t          g d¢¦  «        }t          d¬¦  «        }t          || |d¬¦  «         d	S )
z6Check that `__array_function__` (NEP18) is not called.rž   rÍ   r®   rÎ   )rž   rž   rž   rÍ   rÍ   rÍ   rž   rž   r   rû   rÛ   N)rQ   r   r0   ©rl   rŽ   r  s      r]   Ú-test_cross_validate_array_function_not_calledr  ‰  s‚   € å�a˜�V˜a ˜V a¨ V¨a°¨V°a¸°V¸aÀ¸VÀaÈÀVÈaÐQRÈVÐTÑUÔU€AÝÐ,Ð,Ð,Ñ-Ô-€AÝ"°Ð2Ñ2Ô2€IÝ�9˜a  qÐ)Ñ)Ô)Ð)Ð)Ð)r_   c                  ó   — t          d¬¦  «        \  } }t          dt          ¦   «         fdt          ¦   «         fg¦  «        }t	          || |d¬¦  «        }|d         }t          |t          ¦  «        sJ ‚t          d„ |D ¦   «         ¦  «        sJ ‚d S )NTrñ   ÚimputerÚ
classifier)Úreturn_estimatorr  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rh   )rÖ   r<   )Ú.0r  s     r]   ú	<genexpr>z7test_cross_validate_nested_estimator.<locals>.<genexpr>¡  s,   è è € ÐKÐK°9�z˜)¥XÑ.Ô.ÐKÐKÐKÐKÐKÐKr_   )r   r<   r   r§   r0   rÖ   rŒ   Úall)rl   rŽ   ÚpipelineÚresultsÚ
estimatorss        r]   Ú$test_cross_validate_nested_estimatorr  ‘  s§   € õ  $Ð'Ñ'Ô'�F€QˆÝà�™œÐ(Ø�>Ñ+Ô+Ð,ð	
ñô €Hõ ˜X q¨!¸dÐCÑCÔC€GØ˜Ô%€Jå�j¥$Ñ'Ô'Ð'Ð'Ð'ÝÐKÐKÀ
ÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKr_   Ú
use_sparseFTÚcsr_containerc           
      ó¤  — t          ¦   «         }t          dd¬¦  «        \  }}t          d¬¦  «        }t          dd¬¦  «        \  }}t	          dd¬¦  «        }| r ||¦  «        } ||¦  «        }|||f|||ffD �]Ô\  }	}
}t          |d¬¦  «        }t          |d	¬¦  «        }g }g }g }g }g }|                     |	|
¦  «        D ]ù\  }}t          |¦  «                             |	|         |
|         ¦  «        }| 	                     |||	|         |
|         ¦  «        ¦  «         | 	                     |||	|         |
|         ¦  «        ¦  «         | 	                     |||	|         |
|         ¦  «        ¦  «         | 	                     |||	|         |
|         ¦  «        ¦  «         | 	                    |¦  «         Œút          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }|||||f}t          ||	|
||¦  «         t          ||	|
||¦  «         �ŒÖd S )
Né   r   ©Ú	n_samplesrü   rû   Úlinear©Úkernelrü   Úneg_mean_squared_errorrÿ   Úr2)r(   r   r   r   r?   r   Úsplitr	   re   Úappendr·   ÚarrayÚ"check_cross_validate_single_metricÚ!check_cross_validate_multi_metric)r  r  rÜ   ÚX_regÚy_regÚregÚX_clfÚy_clfré   rl   rŽ   ÚestÚ
mse_scorerÚ	r2_scorerÚtrain_mse_scoresÚtest_mse_scoresÚtrain_r2_scoresÚtest_r2_scoresÚfitted_estimatorsÚtrainÚtestrë   s                         r]   Útest_cross_validater;  ¤  s“  € õ 
‰Œ€Bõ #¨R¸aÐ@Ñ@Ô@�L€Eˆ5Ý
˜QÐ
Ñ
Ô
€Cõ '°À!ÐDÑDÔD�L€Eˆ5Ý
�X¨AÐ
.Ñ
.Ô
.€Càð %Ø�˜eÑ$Ô$ˆØ�˜eÑ$Ô$ˆà˜e SÐ)¨E°5¸#Ð+>Ð?ð $Añ $A‰	ˆˆ1ˆcå" 3Ð0HÐIÑIÔIˆ
Ý! #¨tÐ4Ñ4Ô4ˆ	ØÐØˆØˆØˆØÐàŸ8š8 A q™>œ>ð 	*ð 	*‰KˆE�4Ý˜‘*”*—.’.  5¤¨1¨U¬8Ñ4Ô4ˆCØ×#Ò# J J¨s°A°e´H¸aÀ¼hÑ$GÔ$GÑHÔHÐHØ×"Ò" 9 9¨S°!°E´(¸A¸e¼HÑ#EÔ#EÑFÔFÐFØ×"Ò" : :¨c°1°T´7¸A¸d¼GÑ#DÔ#DÑEÔEÐEØ×!Ò! ) )¨C°°4´¸!¸D¼'Ñ"BÔ"BÑCÔCÐCØ×$Ò$ SÑ)Ô)Ð)Ð)åœ8Ð$4Ñ5Ô5ÐÝœ( ?Ñ3Ô3ˆÝœ( ?Ñ3Ô3ˆÝœ .Ñ1Ô1ˆÝœHÐ%6Ñ7Ô7Ðð ØØØØð
ˆõ 	+¨3°°1°f¸bÑAÔAÐAÝ)¨#¨q°!°V¸RÑ@Ô@Ð@Ñ@ðI$Að $Ar_   c           	      ó   — |\  }}}}}	dD �]\  }
}|
r,t          | ||dd|¬¦  «        }t          |d         |¦  «         nt          | ||dd|¬¦  «        }t          |t          ¦  «        sJ ‚t	          |¦  «        |k    sJ ‚t          |d         |¦  «         |
r.t          | ||dgd|¬¦  «        }t          |d	         |d¦  «         nt          | ||dgd|¬¦  «        }t          |t          ¦  «        sJ ‚t	          |¦  «        |k    sJ ‚t          |d
         |¦  «         �Œt          | ||dd|¬¦  «        }t          |d         ¦  «        D ]³\  }}|j                             ¦   «         }t          |¦  «        r| 	                    ¦   «         }|	|         j                             ¦   «         }t          |¦  «        r| 	                    ¦   «         }t          ||¦  «         t          |j        |	|         j        ¦  «         Œ´d S )N))TrÎ   )Fr®   r%  T©r   Úreturn_train_scorerÜ   Útrain_scoreFÚ
test_scorer&  Útrain_r2Útest_r2)r   r  rÜ   r  )r0   rO   rÖ   r  r³   Ú	enumerateÚcoef_Úcopyr   ÚtoarrayrN   Ú
intercept_)ré   rl   rŽ   rë   rÜ   r4  r5  r6  r7  r8  r>  Údict_lenÚmse_scores_dictÚr2_scores_dictÚkr1  Úest_coefÚfitted_est_coefs                     r]   r*  r*  Ý  sŽ  € ð 	ñØØØØØð )@ð &Mñ &MÑ$Ð˜Hàð 	Ý,ØØØØ0Ø#'Øðñ ô ˆOõ & o°mÔ&DÐFVÑWÔWÐWÐWå,ØØØØ0Ø#(Øðñ ô ˆOõ ˜/­4Ñ0Ô0Ð0Ð0Ð0Ý�?Ñ#Ô# xÒ/Ð/Ð/Ð/Ý! /°,Ô"?ÀÑQÔQÐQð ð 		å+Ø�Q˜ D 6¸dÀrðñ ô ˆNõ & n°ZÔ&@À/ÐSWÑXÔXÐXÐXå+Ø�Q˜ D 6¸eÈðñ ô ˆNõ ˜.­$Ñ/Ô/Ð/Ð/Ð/Ý�>Ñ"Ô" hÒ.Ð.Ð.Ð.Ý! .°Ô";¸^ÑLÔLÐLÑLõ %ØˆQ�Ð3ÀdÈrðñ ô €Oõ ˜O¨KÔ8Ñ9Ô9ð 
Mð 
M‰ˆˆ3Ø”9—>’>Ñ#Ô#ˆÝ�HÑÔð 	*Ø×'Ò'Ñ)Ô)ˆHà+¨AÔ.Ô4×9Ò9Ñ;Ô;ˆÝ�OÑ$Ô$ð 	8Ø-×5Ò5Ñ7Ô7ˆOå˜H oÑ6Ô6Ð6Ý˜CœNÐ,=¸aÔ,@Ô,KÑLÔLÐLÐLð
Mð 
Mr_   c           
      ó@  — |\  }}}}}	d„ }
dt          t          ¦  «        ddœ|
f}h d£}|                     ddh¦  «        }dD �]Ù}|D �]Ò}|rBt          | |||d|¬	¦  «        }t	          |d         |¦  «         t	          |d         |¦  «         nt          | |||d
|¬	¦  «        }t          |t          ¦  «        sJ ‚t          |                     ¦   «         ¦  «        |r|n|k    sJ ‚t	          |d         |¦  «         t	          |d         |¦  «         t          |d         t          j
        ¦  «        sJ ‚t          |d         t          j
        ¦  «        sJ ‚t          |d         t          j
        ¦  «        sJ ‚t          |d         t          j
        ¦  «        sJ ‚t          j        |d         dk    ¦  «        sJ ‚t          j        |d         dk     ¦  «        sJ ‚t          j        |d         dk    ¦  «        sJ ‚t          j        |d         dk     ¦  «        sJ ‚�ŒÔ�ŒÛd S )Nc                 óp   — |                       |¦  «        }t          ||¦  «        t          ||¦  «         dœS )N©r&  r%  )rm   r#   r    )ré   rl   rŽ   Úy_preds       r]   Úcustom_scorerz8check_cross_validate_multi_metric.<locals>.custom_scorer)  s=   € Ø—’˜Q‘”ˆå˜1˜fÑ%Ô%Ý'9¸!¸VÑ'DÔ'DÐ&Dð
ð 
ð 	
r_   rP  r%  >   rB  Úfit_timeÚ
score_timeÚtest_neg_mean_squared_errorrA  Útrain_neg_mean_squared_error)TFTr=  FrB  rU  rS  rT  r   rÓ   )r   r#   Úunionr0   rO   rÖ   r  rŠ   Úkeysr·   Úndarrayr  )ré   rl   rŽ   rë   rÜ   r4  r5  r6  r7  r8  rR  Úall_scoringÚkeys_sans_trainÚkeys_with_trainr>  r   Ú
cv_resultss                    r]   r+  r+    s¸  € ð 	ñØØØØØð
ð 
ð 
ð 	)å�hÑ'Ô'Ø&>ð	
ð 	
ð 	ð€Kðð ð €Oð &×+Ò+Ø	Ð3Ð4ñô €Oð ,ð "9ñ "9ÐØ"ð !	9ñ !	9ˆGØ!ð å+Ø˜˜A wÀ4ÈBðñ ô �
õ *¨*°ZÔ*@À/ÑRÔRÐRÝ)ØÐ=Ô>Ð@Pñô ð ð õ ,Ø˜˜A wÀ5ÈRðñ ô �
õ ˜j­$Ñ/Ô/Ð/Ð/Ð/Ý�z—’Ñ(Ô(Ñ)Ô)Ø#5ÐJ��¸?òð ð ð õ & j°Ô&;¸^ÑLÔLÐLÝ%ØÐ8Ô9¸?ñô ð õ
 ˜j¨Ô3µR´ZÑ@Ô@Ð@Ð@Ð@Ý˜jÐ)FÔGÍÌÑTÔTÐTÐTÐTÝ˜j¨Ô4µb´jÑAÔAÐAÐAÐAÝ˜j¨Ô6½¼
ÑCÔCÐCÐCÐCõ ”6˜* ZÔ0°AÒ5Ñ6Ô6Ð6Ð6Ð6Ý”6˜* ZÔ0°2Ò5Ñ6Ô6Ð6Ð6Ð6Ý”6˜* \Ô2°aÒ7Ñ8Ô8Ð8Ð8Ð8Ý”6˜* \Ô2°RÒ7Ñ8Ô8Ð8Ð8Ð8Ñ8ñC!	9ð"9ð "9r_   c                  óä  — t          ddd¬¦  «        \  } }t          d¬¦  «        }t          ¦   «         t          d¦  «        t	          ¦   «         t          ¦   «         g}d}|D ]Ž}t          j        t          |¬¦  «        5  t          || ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          || ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   Œ�d S )
Né   rÍ   r   ©r!  Ú	n_classesrü   r"  ©r$  z*The 'groups' parameter should not be None.rý   )r  rl   rŽ   rÜ   )r   r?   r)   r+   r&   r'   rç   rè   rµ   r/   r.   )rl   rŽ   ré   Ú	group_cvsÚerror_messagerÜ   s         r]   Ú#test_cross_val_score_predict_groupsre  h  s}  € õ ¨°qÀqÐIÑIÔI�D€A€qå
�XÐ
Ñ
Ô
€Cõ 	ÑÔÝ˜ÑÔÝ‰ŒÝÑÔð	€Ið A€MØð >ð >ˆÝŒ]�:¨]Ð;Ñ;Ô;ð 	<ð 	<Ý c¨Q°!¸Ð;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åŒ]�:¨]Ð;Ñ;Ô;ð 	>ð 	>Ý¨¨q°A¸"Ð=Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>øð>ð >s$   Á>BÂB"	Â%B"	ÃC$Ã$C(	Ã+C(	c                  ó6  ‡‡	— t           t           fg} 	 ddlm}m} |                      ||f¦  «         n# t
          $ r Y nw xY w| D ]S\  Š	Š ‰t          ¦  «         ‰	t          ¦  «        }}ˆfd„}ˆ	fd„}t          ||¬¦  «        }t          |||d¬¦  «         ŒTd S )Nr   ©Ú	DataFrameÚSeriesc                 ó$   •— t          | ‰¦  «        S rh   ©rÖ   ©rƒ   ÚInputFeatureTypes    €r]   r×   z-test_cross_val_score_pandas.<locals>.<lambda>‹  ó   ø€ �Z¨Ð+;Ñ<Ô<€ r_   c                 ó$   •— t          | ‰¦  «        S rh   rk  ©rƒ   Ú
TargetTypes    €r]   r×   z-test_cross_val_score_pandas.<locals>.<lambda>Œ  ó   ø€ ¥¨A¨zÑ!:Ô!:€ r_   ©rÚ   rÞ   r®   rÛ   )
rK   Úpandasrh  ri  r(  ÚImportErrorrl   rã   rJ   r/   ©
Útypesrh  ri  ÚX_dfÚy_serÚcheck_dfÚcheck_seriesré   rm  rq  s
           @@r]   Útest_cross_val_score_pandasr|  ~  sí   øø€ å�]Ð+Ð,€EðØ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à�Š�f˜iÐ(Ñ)Ô)Ð)Ð)øÝð ð ð Øˆðøøøà(-ð 0ð 0Ñ$ˆ
Ð$ð 'Ð&¥qÑ)Ô)¨:¨:µb©>¬>ˆeˆØ<Ð<Ð<Ð<ˆØ:Ð:Ð:Ð:ˆÝ ¨¸<ÐHÑHÔHˆÝ˜˜T 5¨QÐ/Ñ/Ô/Ð/Ð/ð0ð 0ó   “3 ³
A ¿A c                  ó$  — t          d¬¦  «        } t          ¦   «         }|j        |j        }}t	          d¦  «        }t          | |||¬¦  «        }t	          d¦  «        }g }|                     ||¦  «        D ]v\  }}t          j        t          |¦  «        t          ¬¦  «        }	t          j        t          |¦  «        t          ¬¦  «        }
d|	|<   d|
|<   |                     ||f¦  «         Œwt          | |||¬¦  «        }t          ||¦  «         d S )Nr"  rb  rÏ   rÛ   ©Údtyperž   )r?   r   ÚdataÚtargetr(   r/   r'  r·   Úzerosr³   Úboolr(  rP   )ÚsvmÚirisrl   rŽ   ÚkfoldÚscores_indicesÚcv_masksr9  r:  Ú
mask_trainÚ	mask_testÚscores_maskss               r]   Útest_cross_val_score_maskr�  ‘  s  € å
�XÐ
Ñ
Ô
€CÝ‰;Œ;€DØŒ9�d”k€q€AÝ�!‰HŒH€EÝ$ S¨!¨Q°5Ð9Ñ9Ô9€NÝ�!‰HŒH€EØ€HØ—{’{ 1 aÑ(Ô(ð 'ð '‰ˆˆtÝ”X�c !™fœf­DÐ1Ñ1Ô1ˆ
Ý”H�S ™VœV­4Ð0Ñ0Ô0ˆ	Øˆ
�5ÑØˆ	�$‰Ø�Š˜ ˜Ñ&Ô&Ð&Ð&Ý" 3¨¨1°Ð:Ñ:Ô:€LÝ�~ |Ñ4Ô4Ð4Ð4Ð4r_   c                  óÈ  — t          d¬¦  «        } t          ¦   «         }|j        |j        }}t	          j        ||j        ¦  «        }t          | ||¦  «        }t          d¬¦  «        } t          | ||¦  «        }t          ||¦  «         t          d„ ¬¦  «        } t          | ||¦  «        }t          ||¦  «         t          d¬¦  «        } t          j
        t          ¦  «        5  t          | ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j
        t          ¦  «        5  t          | |                     ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚprecomputedrb  r"  c                 ó6   — t          j        | |j        ¦  «        S rh   )r·   ÚdotrÃ   )rƒ   rŽ   s     r]   r×   z2test_cross_val_score_precomputed.<locals>.<lambda>°  s   € ¥"¤&¨¨A¬C¡.¤.€ r_   )r?   r   r�  r‚  r·   r‘  rÃ   r/   rO   rç   rè   rµ   rå   )r…  r†  rl   rŽ   Úlinear_kernelÚscore_precomputedÚscore_linearÚscore_callables           r]   Ú test_cross_val_score_precomputedr–  ¤  sÒ  € å
�]Ð
#Ñ
#Ô
#€CÝ‰;Œ;€DØŒ9�d”k€q€AÝ”F˜1˜aœc‘N”N€MÝ'¨¨]¸AÑ>Ô>ÐÝ
�XÐ
Ñ
Ô
€CÝ" 3¨¨1Ñ-Ô-€LÝÐ/°Ñ>Ô>Ð>õ Ð0Ð0Ð
1Ñ
1Ô
1€CÝ$ S¨!¨QÑ/Ô/€NÝÐ/°Ñ@Ô@Ð@õ �]Ð
#Ñ
#Ô
#€CÝ	Œ•zÑ	"Ô	"ð #ð #Ý˜˜Q Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ
 
Œ•zÑ	"Ô	"ð 8ð 8Ý˜˜]×1Ò1Ñ3Ô3°QÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s$   Ã$DÄDÄ	DÄ&$EÅEÅEc           	      ó8  ‡‡	‡
— t          ¦   «         }t          j        d         }t          t	          j        t          ¦  «        ¦  «        } | t	          j        dg¦  «        t	          j        dg¦  «        t	          j        dg¦  «        ffd¬¦  «        } | t	          j        d¦  «        ¦  «        }dŠdŠ
t          ¦   «         Š	ˆˆ	ˆ
fd„}t	          j
        |¦  «        t	          j        |d	|z  ¦  «        ||‰‰
‰	|d
œ}t          |t          t          |¬¦  «         d S )Nr   rž   )rÌ   rž   ©rb   rÏ   é*   Ú42c                 óV   •— | j         ‰k    sJ ‚| j        ‰k    sJ ‚| j        ‰k    sJ ‚d S rh   )r¯   r°   r±   )ré   Ú	DUMMY_INTÚ	DUMMY_OBJÚ	DUMMY_STRs    €€€r]   Úassert_fit_paramsz:test_cross_val_score_fit_params.<locals>.assert_fit_paramsÎ  sD   ø€ ð Œ} 	Ò)Ð)Ð)Ð)ØŒ} 	Ò)Ð)Ð)Ð)ØŒ} 	Ò)Ð)Ð)Ð)Ð)Ð)r_   rÇ   )r»   r¼   r½   r¾   r¯   r°   r±   r¿   ©r�   )r§   rl   rb   r³   r·   r¸   rŽ   r)  ÚeyeÚobjectÚonesÚfullr/   rã   )rÑ   ré   r!  ra  ÚW_sparseÚP_sparserŸ  Ú
fit_paramsrœ  r�  rž  s           @@@r]   Útest_cross_val_score_fit_paramsr¨  ¿  s!  øøø€ å
Ñ
Ô
€CÝ”˜”
€IÝ•B”I�a‘L”LÑ!Ô!€Iàˆ}Ý	Œ�1�#‰Œ�œ 1 #™œ­¬°!°©¬Ð6Ð7¸wðñ ô €Hð ˆ}�RœV A™YœYÑ'Ô'€Hà€IØ€IÝ‘”€Ið*ð *ð *ð *ð *ð *ð *õ œ Ñ+Ô+Ý”w˜y¨#°	©/Ñ:Ô:Ø (Ø ØØØØ%ð	ð 	€Jõ �C��B zÐ2Ñ2Ô2Ð2Ð2Ð2r_   c                  ó4  ‡— t          ¦   «         } g Šˆfd„}t          j        d¬¦  «        5  t          |¦  «        }t	          | t
          t          |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |g d¢¦  «         t          ‰¦  «        dk    sJ ‚d S )Nc                 ó6   •— ‰                      | |f¦  «         dS )NrÇ   )r(  )Úy_testÚ	y_predictÚ_score_func_argss     €r]   Ú
score_funcz3test_cross_val_score_score_func.<locals>.score_funcç  s!   ø€ Ø×Ò ¨Ð 3Ñ4Ô4Ð4Øˆsr_   T©Úrecordr®   )r   rÜ   )rÇ   rÇ   rÇ   )	r§   ÚwarningsÚcatch_warningsr   r/   rl   rŽ   rP   r³   )ré   r®  r   rt   r­  s       @r]   Útest_cross_val_score_score_funcr³  ã  s  ø€ Ý
Ñ
Ô
€CØÐðð ð ð ð õ 
Ô	 ¨Ð	-Ñ	-Ô	-ð Bð BÝ˜jÑ)Ô)ˆÝ ¥Q­°7¸qÐAÑAÔAˆðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bõ �u˜o˜o˜oÑ.Ô.Ð.åÐÑ Ô  AÒ%Ð%Ð%Ð%Ð%Ð%s   ¬.A&Á&A*Á-A*c                  ó^  — t          ¦   «         } t          d¬¦  «        }t          || j        | j        ¦  «        }t          |g d¢d¦  «         t          || j        | j        d¬¦  «        }t          |g d¢d¦  «         t          || j        | j        d¬¦  «        }t          |g d¢d¦  «         d S )Nr"  rb  )ç
×£p=
ï?rÇ   rµ  rµ  rÇ   rÍ   Úaccuracyrÿ   Úf1_weighted)r   r?   r/   r�  r‚  rO   )r†  ré   rë   Ú	zo_scoresÚ	f1_scoress        r]   Ú3test_cross_val_score_with_score_func_classificationrº  ó  s»   € Ý‰;Œ;€DÝ
�XÐ
Ñ
Ô
€Cõ ˜S $¤)¨T¬[Ñ9Ô9€FÝ˜fÐ&BÐ&BÐ&BÀAÑFÔFÐFõ    T¤Y°´ÀZÐPÑPÔP€IÝ˜iÐ)EÐ)EÐ)EÀqÑIÔIÐIõ    T¤Y°´À]ÐSÑSÔS€IÝ˜iÐ)EÐ)EÐ)EÀqÑIÔIÐIÐIÐIr_   c                  óÊ  — t          dddd¬¦  «        \  } }t          ¦   «         }t          || |¦  «        }t          |g d¢d¦  «         t          || |d¬	¦  «        }t          |g d¢d¦  «         t          || |d
¬	¦  «        }t	          j        g d¢¦  «        }t          ||d¦  «         t          t          ¦  «        }t          || ||¬	¦  «        }t          |g d¢d¦  «         d S )Nr  r_  rÏ   r   ©r!  Ú
n_featuresÚn_informativerü   )g®Gázî?rµ  rµ  g®Gáz®ï?gq=
×£pí?rÍ   r&  rÿ   r%  )gÃõ(\�Ø‡Àgáz®GI�Àg®Gáz&qÀg\�Âõ(qÀg)\�ÂõGšÀ)r   r   r/   rO   r·   r)  r   r   )	rl   rŽ   r.  rë   Ú	r2_scoresÚneg_mse_scoresÚexpected_neg_mser   Ú	ev_scoress	            r]   Ú/test_cross_val_score_with_score_func_regressionrÃ    s  € Ý R°BÀaÐVWÐXÑXÔX�D€A€qÝ
‰'Œ'€Cõ ˜S ! QÑ'Ô'€FÝ˜fÐ&DÐ&DÐ&DÀaÑHÔHÐHõ    Q¨°4Ð8Ñ8Ô8€IÝ˜iÐ)GÐ)GÐ)GÈÑKÔKÐKõ % S¨!¨QÐ8PÐQÑQÔQ€NÝ”xÐ NÐ NÐ NÑOÔOÐÝ˜nÐ.>ÀÑBÔBÐBõ Õ2Ñ3Ô3€GÝ  Q¨°7Ð;Ñ;Ô;€IÝ˜iÐ)GÐ)GÐ)GÈÑKÔKÐKÐKÐKr_   c                 ó’  — t          ¦   «         }|j        } | |¦  «        }|j        }t          d¬¦  «        }t	          d¦  «        }t          |||d|d¬¦  «        \  }}}	|dk    sJ ‚t          |	dd	¦  «         t          |||d|dt          j        |j	        ¦  «        d
¬¦  «        \  }
}}|
|k    sJ ‚||	k    sJ ‚t          d¬¦  «        }t	          d¦  «        }t          |||d|dt          j        |j	        ¦  «        d
¬¦  «        \  }
}}|
|k    sJ ‚||	k    sJ ‚d„ }t          |¦  «        }t          |||d||d
¬¦  «        \  }}}	t          |dd¦  «         t          |	dd¦  «         t          j        t          j        t          |¦  «        ¦  «        d¦  «        }t          |||d|d¬¦  «        \  }}}	|dk     sJ ‚|	dk    sJ ‚d S )Nr"  rb  rÍ   r  r¶  )Ún_permutationsrÜ   r   gÍÌÌÌÌÌì?ç        rž   r   )rÅ  rÜ   r   Úgroupsrü   c                 ó€   — | |k                          ¦   «         | |k                          ¦   «         z
  | j        d         z  S rX   )Úsumrb   )Úy_truerQ  s     r]   Úcustom_scorez,test_permutation_score.<locals>.custom_scoreL  s;   € Ø˜6Ò!×&Ò&Ñ(Ô(¨F°fÒ,<×+AÒ+AÑ+CÔ+CÑCÀvÄ|ÐTUÄÑVÐVr_   éd   )rÅ  r   rÜ   rü   gÃõ(\�Âí?g{®Gáz„?r®   r˜   çš™™™™™É?)r   r�  r‚  r?   r-   r2   rN   r·   r£  Úsizer   ÚmodÚaranger³   )rÑ   r†  rl   rê   rŽ   r…  rÜ   rt   rë   ÚpvalueÚscore_groupÚ_Úpvalue_groupÚ
svm_sparseÚ	cv_sparserË  Úscorers                    r]   Útest_permutation_scorerØ    sK  € å‰;Œ;€DØŒ	€AØˆ}˜QÑÔ€HØŒ€AÝ
�XÐ
Ñ
Ô
€CÝ	˜Ñ	Ô	€Bå2ØˆQ� "¨°Zðñ ô Ñ€Eˆ6�6ð �3Š;ˆ;ˆ;ˆ;Ý˜  QÑ'Ô'Ð'å#9ØØ	Ø	ØØØÝŒw�q”v‰ŒØð	$ñ 	$ô 	$Ñ €K��Lð ˜%ÒÐÐÐØ˜6Ò!Ð!Ð!Ð!õ ˜HÐ%Ñ%Ô%€JÝ Ñ"Ô"€IÝ#9ØØØ	ØØØÝŒw�q”v‰ŒØð	$ñ 	$ô 	$Ñ €K��Lð ˜%ÒÐÐÐØ˜6Ò!Ð!Ð!Ð!ðWð Wð Wõ ˜Ñ&Ô&€FÝ-ØˆQ� #¨v¸"È1ðñ ô Ñ€Eˆ1ˆfõ ˜˜t QÑ'Ô'Ð'Ý˜  aÑ(Ô(Ð(õ 	Œ�rŒy�˜Q™œÑ Ô  !Ñ$Ô$€Aå2ØˆQ� "¨°Zðñ ô Ñ€Eˆ6�6ð �3Š;ˆ;ˆ;ˆ;Ø�CŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r_   c                  ót  — t          j        dt           j        ¬¦  «                             dd¦  «        } t           j        | dd d …f<   t          j        ddg| j        d         dz  ¦  «        }t          dt          d	t           j        ¬
¦  «        fdt          ¦   «         fg¦  «        }t          || |¦  «         d S ©NéÈ   r  rÓ   r­   rÍ   r   rž   r  Úmean)ÚstrategyÚmissing_valuesr  )r·   rÐ  Úfloat64r²   r  Úrepeatrb   r<   r   r§   r2   ©rl   rŽ   Úps      r]   Ú&test_permutation_test_score_allow_nansrã  a  s­   € å
Œ	�#�RœZÐ(Ñ(Ô(×0Ò0°°RÑ8Ô8€AÝŒf€A€aˆˆˆ€d�GÝ
Œ	�1�a�&˜!œ' !œ* q™.Ñ)Ô)€AÝà�¨vÅbÄfÐMÑMÔMÐNØ�>Ñ+Ô+Ð,ð	
ñ	ô 	€Aõ ˜1˜a Ñ#Ô#Ð#Ð#Ð#r_   c            
      óF  — t          j        d¦  «                             dd¦  «        } t          j        dgdz  dgdz  z   ¦  «        }t	          d¬¦  «        }d}t          j        t          |¬	¦  «        5  t          || |¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬	¦  «        5  t          || |dt          j
        d¦  «        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          || |dt          j
        d¦  «        i¬¦  «         d S )NrÌ  rÓ   r   rÏ   rž   T©Úexpected_sample_weightú#Expected sample_weight to be passedrý   ú/sample_weight.shape == \(1,\), expected \(8,\)!r»   r   )r·   rÐ  r²   r)  rJ   rç   rè   r‹   r2   rµ   r£  ©rl   rŽ   ré   Úerr_msgs       r]   Ú"test_permutation_test_score_paramsrë  o  s¡  € Ý
Œ	�#‰Œ×Ò˜r 2Ñ&Ô&€AÝ
Œ�!��q‘˜A˜3 ™7Ñ"Ñ#Ô#€AÝ
°DÐ
9Ñ
9Ô
9€Cà4€GÝ	Œ•~¨WÐ	5Ñ	5Ô	5ð *ð *Ý˜s A qÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð A€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Pð PÝ˜s A q°/Å2Ä7È1Á:Ä:Ð1NÐOÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð På˜3  1¨o½r¼wÀr¹{¼{Ð-KÐLÑLÔLÐLÐLÐLs$   Á5BÂBÂBÂ;(C/Ã/C3Ã6C3c                  ót  — t          j        dt           j        ¬¦  «                             dd¦  «        } t           j        | dd d …f<   t          j        ddg| j        d         dz  ¦  «        }t          dt          d	t           j        ¬
¦  «        fdt          ¦   «         fg¦  «        }t          || |¦  «         d S rÚ  )r·   rÐ  rß  r²   r  rà  rb   r<   r   r§   r/   rá  s      r]   Útest_cross_val_score_allow_nansrí  ~  s­   € å
Œ	�#�RœZÐ(Ñ(Ô(×0Ò0°°RÑ8Ô8€AÝŒf€A€aˆˆˆ€d�GÝ
Œ	�1�a�&˜!œ' !œ* q™.Ñ)Ô)€AÝà�¨vÅbÄfÐMÑMÔMÐNØ�>Ñ+Ô+Ð,ð	
ñ	ô 	€Aõ �A�q˜!ÑÔÐÐÐr_   c                  óP  — t          j        ddgddgddgddgddgddgddgddgddgddgg
¦  «        } t          j        ddgddgddgddgddgddgddgddgddgddgg
¦  «        }t          d¬	¦  «        }t          t          d
¬¦  «        }t          t          d¬¦  «        }t          t          d¬¦  «        }t          || ||¬¦  «        }t          || ||¬¦  «        }t          || ||¬¦  «        }t          |g d¢¦  «         t          |g d¢¦  «         t          |g d¢¦  «         d S )NéýÿÿÿrÎ   rÍ   r®   r   rž   éþÿÿÿr­   )Ún_neighborsÚmicro)ÚaverageÚmacroÚsamplesrÿ   )rž   r˜   ç      è?r˜   gUUUUUUÕ?)rž   r˜   rö  r˜   ç      Ð?)r·   r)  r:   r   r"   r/   rN   )	rl   rŽ   ré   Úscoring_microÚscoring_macroÚscoring_samplesÚscore_microÚscore_macroÚscore_sampless	            r]   Útest_cross_val_score_multilabelrþ  Œ  s‰  € Ý
Œà�ˆGØ�ˆFØ�ˆFØ�ˆFØ�ˆGØ�ˆGØ�ˆFØ�ˆHØ�ˆHØ�ˆGð	
ñ	ô 	€Aõ 	ŒØ
ˆQˆ�!�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸À!ÀQÀÈ!ÈQÈÐRSÐUVÐQWÐXñ	ô 	€Aõ ¨1Ð
-Ñ
-Ô
-€CÝ¥¸ÐAÑAÔA€MÝ¥¸ÐAÑAÔA€MÝ!¥/¸9ÐEÑEÔE€OÝ! # q¨!°]ÐCÑCÔC€KÝ! # q¨!°]ÐCÑCÔC€KÝ# C¨¨A°ÐGÑGÔG€MÝ˜Ð%DÐ%DÐ%DÑEÔEÐEÝ˜Ð%DÐ%DÐ%DÑEÔEÐEÝ˜Ð'FÐ'FÐ'FÑGÔGÐGÐGÐGr_   c           
      ó‚  — t          d¬¦  «        \  }}t          ¦   «         }t          ¦   «         }t          j        |¦  «        }|                     ||¦  «        D ]E\  }}|                     ||         ||         ¦  «         |                     ||         ¦  «        ||<   ŒFt          ||||¬¦  «        }t          ||¦  «         t          |||¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚t          ¦   «         }t          ||||¬¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚|                     ¦   «         }	|	|	t          j        |	¦  «        k    z  }	 | |	¦  «        }	t          ||	|¦  «        }t          t          |¦  «        t          |¦  «        ¦  «         t          t          d¬¦  «        |¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚ G d„ d¦  «        }
t          j        t"          ¦  «        5  t          ||| |
¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t%          d¬¦  «        \  }}d}t          j        t(          |¬	¦  «        5  t          t+          d
¬¦  «        ||dt          d¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTrñ   rÛ   ró   )Ún_initc                   ó   — e Zd Zdd„ZdS )ú%test_cross_val_predict.<locals>.BadCVNc              3   óŠ   K  — t          d¦  «        D ]0}t          j        g d¢¦  «        t          j        g d¢¦  «        fV — Œ1d S )NrÎ   )r   rž   rÍ   r®   )rÎ   rÏ   rÐ   é   é   )râ   r·   r)  )r\   rl   rŽ   rÇ  Úis        r]   r'  z+test_cross_val_predict.<locals>.BadCV.splitË  sY   è è € Ý˜1‘X”Xð Hð H�Ý”h˜|˜|˜|Ñ,Ô,­b¬h°°°Ñ.GÔ.GÐGÐGÐGÐGÐGðHð Hr_   rx   )rz   r{   r|   r'  r~   r_   r]   ÚBadCVr  Ê  s.   € € € € € ð	Hð 	Hð 	Hð 	Hð 	Hð 	Hr_   r  zˆNumber of classes in training fold \(2\) does not match total number of classes \(3\). Results may not be appropriate for your use case.rý   Ú	liblinear)ÚsolverrÅ   rÍ   ©ÚmethodrÜ   )r   r(   r   r·   Ú
zeros_liker'  re   rm   r.   rO   r³   r*   rE  Úmedianr   rç   rè   rµ   r   r  ÚRuntimeWarningr   )rÑ   rl   rŽ   rÜ   r1  Úpreds2r9  r:  ÚpredsÚXspr  r  s               r]   Útest_cross_val_predictr  ª  s<  € å DÐ)Ñ)Ô)�D€A€qÝ	‰Œ€Bå
‰'Œ'€Cõ Œ]˜1ÑÔ€FØ—x’x  1‘~”~ð ,ð ,‰ˆˆtØ�Š��%”˜!˜Eœ(Ñ#Ô#Ð#Ø—{’{ 1 T¤7Ñ+Ô+ˆˆt‰ˆå˜c 1 a¨BÐ/Ñ/Ô/€EÝ˜e VÑ,Ô,Ð,å˜c 1 aÑ(Ô(€EÝˆu‰:Œ:�˜Q™œÒÐÐÐå	‰Œ€BÝ˜c 1 a¨BÐ/Ñ/Ô/€EÝˆu‰:Œ:�˜Q™œÒÐÐÐà
�&Š&‰(Œ(€CØˆ3•”˜3‘”ÒÑ€CØ
ˆ-˜Ñ
Ô
€CÝ˜c 3¨Ñ*Ô*€EÝ�c %™jœj­#¨a©&¬&Ñ1Ô1Ð1å�f¨FÐ3Ñ3Ô3°QÑ7Ô7€EÝˆu‰:Œ:�˜Q™œÒÐÐÐðHð Hð Hð Hð Hñ Hô Hð Hõ
 
Œ•zÑ	"Ô	"ð 1ð 1Ý˜#˜q !¨¨©¬Ð0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ  Ð%Ñ%Ô%�D€A€qð	<ð õ
 
Œ•n¨OÐ	<Ñ	<Ô	<ð 
ð 
ÝÝ kÐ2Ñ2Ô2ØØØ"Ý�Q‰xŒxð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s$   ÈH<È<I ÉI É70J4Ê4J8Ê;J8c            
      ór  — t          ddd¬¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        dk    sJ ‚t	          d¬	¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        d
k    sJ ‚| d d…         } |d d…         }d}t          j        t          |¬¦  «        5  t          t          ¦   «         | |dt          d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¬	¦  «        \  } }t          dd¬¦  «        }t          || |d¬¦  «        }|j        dk    sJ ‚t          j        |¦  «        }| |         ||         }} d}t          j        t          |¬¦  «        5  t          || |t          d¬¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÍ   é2   r   ©ra  r!  rü   Údecision_function©r  )r  Trñ   ©é–   r®   rÌ  zÓOnly 1 class/es in training fold, but 2 in overall dataset. This is not supported for decision_function with imbalanced folds. To fix this, use a cross-validation technique resulting in properly stratified foldsrý   r
  r"  Úovo)r$  Údecision_function_shape)i  é-   z€Output shape \(599L?, 21L?\) of decision_function does not match number of classes \(7\) in fold. Irregular decision_function .*r®   ©Ún_splits©rÜ   r  )r   r.   r   rb   r   rç   rè   rµ   r   r(   r   r?   r·   Úargsort)rl   rŽ   r  rd  r1  Úindr	  s          r]   Ú.test_cross_val_predict_decision_function_shaper"  ã  s€  € Ý¨°bÀqÐIÑIÔI�D€A€qåÕ0Ñ2Ô2°A°qÐATÐUÑUÔU€EØŒ;˜%ÒÐÐÐå Ð%Ñ%Ô%�D€A€qåÕ0Ñ2Ô2°A°qÐATÐUÑUÔU€EØŒ;˜(Ò"Ð"Ð"Ð"ð 	
ˆ$ˆ3ˆ$Œ€AØ	ˆ$ˆ3ˆ$Œ€Að	1ð õ 
Œ•z¨Ð	7Ñ	7Ô	7ð 
ð 
ÝÝÑÔ˜q !Ð,?ÅEÈ!ÁHÄHð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
  $Ð'Ñ'Ô'�D€A€qÝ
�X°uÐ
=Ñ
=Ô
=€Cå˜c 1 aÐ0CÐDÑDÔD€EØŒ;˜*Ò$Ð$Ð$Ð$å
Œ*�Q‰-Œ-€CØˆSŒ6�1�S”6€q€Að	ð õ 
Œ•zÐ)=Ð	>Ñ	>Ô	>ð Wð WÝ˜#˜q !­°qÐ(9Ñ(9Ô(9ÐBUÐVÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð Ws$   Â2.C,Ã,C0Ã3C0Å<#F,Æ,F0Æ3F0c                  ó  — t          ddd¬¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        dk    sJ ‚t	          d¬	¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        d
k    sJ ‚d S )NrÍ   r  r   r  rÅ   r  ©r  rÍ   Trñ   r  ©r   r.   r   rb   r   ©rl   rŽ   r  s      r]   Ú*test_cross_val_predict_predict_proba_shaper'    s”   € Ý¨°bÀqÐIÑIÔI�D€A€qåÕ0Ñ2Ô2°A°qÀÐQÑQÔQ€EØŒ;˜'Ò!Ð!Ð!Ð!å Ð%Ñ%Ô%�D€A€qåÕ0Ñ2Ô2°A°qÀÐQÑQÔQ€EØŒ;˜(Ò"Ð"Ð"Ð"Ð"Ð"r_   c                  ó  — t          ddd¬¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        dk    sJ ‚t	          d¬	¦  «        \  } }t          t          ¦   «         | |d¬¦  «        }|j        d
k    sJ ‚d S )NrÍ   r  r   r  Úpredict_log_probar  r$  Trñ   r  r%  r&  s      r]   Ú.test_cross_val_predict_predict_log_proba_shaper*    s–   € Ý¨°bÀqÐIÑIÔI�D€A€qåÕ0Ñ2Ô2°A°qÐATÐUÑUÔU€EØŒ;˜'Ò!Ð!Ð!Ð!å Ð%Ñ%Ô%�D€A€qåÕ0Ñ2Ô2°A°qÐATÐUÑUÔU€EØŒ;˜(Ò"Ð"Ð"Ð"Ð"Ð"r_   c                 óF  — t          ¦   «         }|j        |j        }} | |¦  «        }t          j        ||d d d…         g¦  «        }t          dd¬¦  «        }t          |||¦  «        }|j        dk    sJ ‚t          |||¦  «        }|j        dk    sJ ‚t          |||¦  «        }t          |j        d¦  «         t          |||¦  «        }t          |j        d¦  «         d„ }t          |¬¦  «        }t          || 
                    ¦   «         | 
                    ¦   «         ¦  «        }t          |¬	¦  «        }t          ||| 
                    ¦   «         ¦  «        }t          t          ¦   «         | 
                    ¦   «         | 
                    ¦   «         d
¬¦  «        }t          t          ¦   «         || 
                    ¦   «         d
¬¦  «        }|d d …d d …t          j        f         }	d„ }
t          |
¬¦  «        }t          ||	|¦  «        }t          |j        d¦  «         d S )Nr­   Fr   )Úfit_interceptrü   )r  )r  rÍ   c                 ó,   — t          | t          ¦  «        S rh   rÕ   r‡   s    r]   r×   z4test_cross_val_predict_input_types.<locals>.<lambda>D  rØ   r_   rÙ   rÝ   r  r  c                 ó   — | j         dk    S )Nr®   )r´   r‡   s    r]   r×   z4test_cross_val_predict_input_types.<locals>.<lambda>[  s   € ˜œ 1š€ r_   )r   r�  r‚  r·   rä   r   r.   rb   rP   rJ   rå   r   ræ   )rÑ   r†  rl   rŽ   rê   rì   ré   Úpredictionsrí   rî   Úcheck_3ds              r]   Ú"test_cross_val_predict_input_typesr1  +  s  € å‰;Œ;€DØŒ9�d”k€q€AØˆ}˜QÑÔ€HÝ”O Q¨¨$¨$¨B¨$¬ LÑ1Ô1€Må
˜e°!Ð
4Ñ
4Ô
4€Cõ $ C¨¨AÑ.Ô.€KØÔ Ò&Ð&Ð&Ð&õ $ C¨°=ÑAÔA€KØÔ Ò(Ð(Ð(Ð(å# C¨°1Ñ5Ô5€KÝ�{Ô(¨&Ñ1Ô1Ð1õ $ C¨°=ÑAÔA€KÝ�{Ô(¨(Ñ3Ô3Ð3ð /Ð.€JÝ
 ZÐ
0Ñ
0Ô
0€CÝ# C¨¯ª©¬°Q·X²X±Z´ZÑ@Ô@€Kå
 ZÐ
0Ñ
0Ô
0€CÝ# C¨¨A¯HªH©J¬JÑ7Ô7€Kõ $ÝÑÔØ	�Š‰
Œ
Ø	�Š‰
Œ
Ø"ð	ñ ô €Kõ $ÝÑÔØ	Ø	�Š‰
Œ
Ø"ð	ñ ô €Kð ˆQˆQˆQ���•2”:ÐÔ€DØ$Ð$€HÝ
 XÐ
.Ñ
.Ô
.€CÝ# C¨¨qÑ1Ô1€KÝ�{Ô(¨&Ñ1Ô1Ð1Ð1Ð1r_   c                  ó6  ‡‡	— t           t           fg} 	 ddlm}m} |                      ||f¦  «         n# t
          $ r Y nw xY w| D ]S\  Š	Š ‰t          ¦  «         ‰	t          ¦  «        }}ˆfd„}ˆ	fd„}t          ||¬¦  «        }t          |||d¬¦  «         ŒTd S )Nr   rg  c                 ó$   •— t          | ‰¦  «        S rh   rk  rl  s    €r]   r×   z/test_cross_val_predict_pandas.<locals>.<lambda>m  rn  r_   c                 ó$   •— t          | ‰¦  «        S rh   rk  rp  s    €r]   r×   z/test_cross_val_predict_pandas.<locals>.<lambda>n  rr  r_   rs  r®   rÛ   )
rK   rt  rh  ri  r(  ru  rl   rã   rJ   r.   rv  s
           @@r]   Útest_cross_val_predict_pandasr5  a  së   øø€ å�]Ð+Ð,€EðØ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à�Š�f˜iÐ(Ñ)Ô)Ð)Ð)øÝð ð ð Øˆðøøøà(-ð 2ð 2Ñ$ˆ
Ð$à&Ð&¥qÑ)Ô)¨:¨:µb©>¬>ˆeˆØ<Ð<Ð<Ð<ˆØ:Ð:Ð:Ð:ˆÝ ¨¸<ÐHÑHÔHˆÝ˜#˜t U¨qÐ1Ñ1Ô1Ð1Ð1ð2ð 2r}  c                  ó²  — t          dddddd¬¦  «        \  } }d|d<   t          d¬¦  «        }t          d¬¦  «        }t          |                     | |¦  «        ¦  «        \  }}t          || ||d¬	¦  «        }||d                  d         dk    sJ ‚t          j        ||d                  d d …df         dk    ¦  «        sJ ‚t          j        ||d                  d d …dd…f         dk    ¦  «        sJ ‚t          j        ||d                  dk    ¦  «        sJ ‚t          | 	                    d¬
¦  «        t          j
        |j        ¦  «        d¬¦  «         d S )NrÌ  rÍ   r   rž   )r!  r½  Ún_redundantr¾  Ún_clusters_per_classrü   rû   r  rÅ   r  ©Úaxisé   )Údecimal)r   r   r-   rŒ   r'  r.   r·   r  rO   rÉ  r£  rb   )rl   rŽ   ré   rÜ   r9  r:  Ú
yhat_probas          r]   Ú!test_cross_val_predict_unbalancedr>  s  si  € ÝØØØØØØðñ ô �D€A€qð €A€a�DÝ
¨!Ð
,Ñ
,Ô
,€CÝ	 !Ð	$Ñ	$Ô	$€BÝ�r—x’x  1‘~”~Ñ&Ô&�K€Eˆ4Ý" 3¨¨1°¸OÐLÑLÔL€JØˆT�!ŒWŒ:�aŒ=˜AÒÐÐÐÝŒ6�*˜T !œWÔ% a a a¨ dÔ+¨qÒ0Ñ1Ô1Ð1Ð1Ð1ÝŒ6�*˜T !œWÔ% a a a¨¨1¨ fÔ-°Ò1Ñ2Ô2Ð2Ð2Ð2ÝŒ6�*˜T !œWÔ%¨Ò)Ñ*Ô*Ð*Ð*Ð*Ý˜jŸnšn°!˜nÑ4Ô4µb´g¸a¼gÑ6FÔ6FÐPRÐSÑSÔSÐSÐSÐSr_   c                  ó0  — t          ¦   «         } t          j                             d¦  «        }|                     dd¦  «        }t          | |d dd¬¦  «        }t          |d d …df         |¦  «         t          | |d dd¬¦  «        }t          ||¦  «         d S )	Nr™  rÌ  rÓ   rÏ   rm   )rŽ   rÜ   r  r   rÅ   )r§   r·   ÚrandomÚRandomStateÚrandr.   rM   )Úmock_classifierÚrngrl   Úy_hatÚy_hat_probas        r]   Útest_cross_val_predict_y_nonerG  ‰  s    € å$Ñ&Ô&€OÝ
Œ)×
Ò
 Ñ
#Ô
#€CØ�Š��bÑÔ€AÝ˜o¨q°D¸QÀyÐQÑQÔQ€EÝ�A�a�a�a˜�d”G˜UÑ#Ô#Ð#Ý#Ø˜˜d q°ðñ ô €Kõ �A�{Ñ#Ô#Ð#Ð#Ð#r_   c                 ó  — t          ¦   «         }|j        |j        }}t          ¦   «         }d | t	          j        |j        d         ¦  «        ¦  «        i}t          ||||d¬¦  «        }t          |t	          j	        d¦  «        ¦  «         d S )Nr½   r   r®   )r�   rÜ   )
r   r�  r‚  r§   r·   r¡  rb   r/   rP   r£  )rÑ   r†  rl   rŽ   ré   r§  rª   s          r]   Ú&test_cross_val_score_sparse_fit_paramsrI  –  s}   € å‰;Œ;€DØŒ9�d”k€q€AÝ
Ñ
Ô
€CØ(¨-¨-½¼¸q¼wÀq¼zÑ8JÔ8JÑ*KÔ*KÐL€JÝ˜˜Q ¨*¸Ð;Ñ;Ô;€AÝ�q�"œ' !™*œ*Ñ%Ô%Ð%Ð%Ð%r_   c                  óê  — d} d}t          | dddddd¬¦  «        \  }}t          | |dz
  |z  z  ¦  «        }dD �]9}t          j        d¬	¦  «        5 }t	          |||t          |¬
¦  «        t          j        ddd¦  «        |d¬¦  «        \  }}}	}
}d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    rt          d|d         j
        z  ¦  «        ‚|j        dk    sJ ‚|	j        dk    sJ ‚|
j        dk    sJ ‚|j        dk    sJ ‚t          |t          j        ddd¦  «        ¦  «         t          |                     d¬¦  «        t          j        ddd¦  «        ¦  «         t          |	                     d¬¦  «        t          j        ddd¦  «        ¦  «         |
j        dk    sJ ‚|j        dk    sJ ‚t          j        d¬	¦  «        5 }t	          |||t!          || ¬¦  «        t          j        ddd¦  «        |¬¦  «        \  }}}d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    rt          d|d         j
        z  ¦  «        ‚t          ||¦  «         t          ||	¦  «         �Œ;d S )Nr  r®   rž   r   rÍ   ©r!  r½  r¾  r7  ra  r8  rü   ©FTTr¯  r  çš™™™™™¹?rÇ   rÓ   )rÜ   rZ   rF   Úreturn_timesúUnexpected warning: %r)rÓ   r®   r_  r9  çffffffþ?rß  ©r  r!  )rÜ   rZ   rF   )r   rV   r±  r²  r1   r(   r·   Úlinspacer³   ÚRuntimeErrorÚmessagerb   rP   rO   rÜ  r€  r7   )r!  r  rl   rŽ   r  Úshuffle_trainÚwrZ   Útrain_scoresÚtest_scoresÚ	fit_timesÚscore_timesÚtrain_sizes2Útrain_scores2Útest_scores2s                  r]   Útest_learning_curver^     sK  € Ø€IØ€HÝØØØØØØØðñ ô �D€A€qõ ' y°XÀ±\ÀXÑ4MÑ'NÑOÔO€IØ&ð -=ñ -=ˆÝÔ$¨DÐ1Ñ1Ô1ð 	°Qõ ØØØÝ (Ð+Ñ+Ô+ÝœK¨¨S°"Ñ5Ô5Ø%Ø!ðñ ô ñØØØØØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ  ˆq‰6Œ6�AŠ:ˆ:ÝÐ7¸!¸A¼$¼,ÑFÑGÔGÐGØÔ! WÒ,Ð,Ð,Ð,ØÔ  GÒ+Ð+Ð+Ð+ØŒ 'Ò)Ð)Ð)Ð)ØÔ  GÒ+Ð+Ð+Ð+Ý˜;­¬°A°r¸2Ñ(>Ô(>Ñ?Ô?Ð?Ý! ,×"3Ò"3¸Ð"3Ñ";Ô";½R¼[ÈÈcÐSUÑ=VÔ=VÑWÔWÐWÝ! +×"2Ò"2¸Ð"2Ñ":Ô":½B¼KÈÈSÐRTÑ<UÔ<UÑVÔVÐVð Œ )Ò+Ð+Ð+Ð+ØÔ  IÒ-Ð-Ð-Ð-õ Ô$¨DÐ1Ñ1Ô1ð 	°QÝ8FØØØÝ"¨HÀ	ÐJÑJÔJÝœK¨¨S°"Ñ5Ô5Ø%ð9ñ 9ô 9Ñ5ˆL˜-¨ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ˆq‰6Œ6�AŠ:ˆ:ÝÐ7¸!¸A¼$¼,ÑFÑGÔGÐGÝ! -°Ñ>Ô>Ð>Ý! ,°Ñ<Ô<Ð<Ñ<ð[-=ð -=s$   Á?BÂB	Â"B	Ç=HÈH	ÈH	c                  óÖ  — t          ddddddd¬¦  «        \  } }t          d¦  «        }t          || d dt          j        dd	d
¦  «        ¬¦  «        \  }}}t          |t          j        ddd
¦  «        ¦  «         t          |                     d¬¦  «        t          j        dd	d
¦  «        ¦  «         t          |                     d¬¦  «        t          j        dd	d
¦  «        ¦  «         d S )Nr  rž   r   rÍ   rK  r_  r®   rM  rÇ   rÓ   )rŽ   rÜ   rZ   r9  rP  )r   rV   r1   r·   rR  rP   rO   rÜ  ©rl   rÓ  r  rZ   rW  rX  s         r]   Ú test_learning_curve_unsupervisedra  Ý  sö   € ÝØØØØØØØðñ ô �D€A€qõ ' rÑ*Ô*€IÝ-;Ø�1˜ µ´¸CÀÀbÑ0IÔ0Ið.ñ .ô .Ñ*€K�˜{õ �{¥B¤K°°2°rÑ$:Ô$:Ñ;Ô;Ð;Ý˜l×/Ò/°QÐ/Ñ7Ô7½¼ÀSÈ#ÈrÑ9RÔ9RÑSÔSÐSÝ˜k×.Ò.°AÐ.Ñ6Ô6½¼ÀCÈÈbÑ8QÔ8QÑRÔRÐRÐRÐRr_   c           	      ó¸   — t          ddddddd¬¦  «        \  }}t          d¦  «        }t          |||dd¬¦  «         d	|                      ¦   «         j        v sJ ‚d S )
Nr  rž   r   rÍ   rK  r_  r®   )rÜ   Úverbosez[learning_curve])r   rV   r1   Ú
readouterrÚout)Úcapsysrl   rŽ   r  s       r]   Útest_learning_curve_verboserg  ð  s}   € ÝØØØØØØØðñ ô �D€A€qõ ' rÑ*Ô*€IÝ�9˜a  q°!Ð4Ñ4Ô4Ð4Ø ×!2Ò!2Ñ!4Ô!4Ô!8Ð8Ð8Ð8Ð8Ð8Ð8r_   c            	      óà   — t          ddddddd¬¦  «        \  } }t          d¦  «        }t          j        t          ¦  «        5  t          || |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÍ   rž   r   rK  T)Úexploit_incremental_learning©r   rV   rç   rè   rµ   r1   r  s      r]   Ú5test_learning_curve_incremental_learning_not_possiblerk  ÿ  sÝ   € ÝØØØØØØØðñ ô �D€A€qõ ' qÑ)Ô)€IÝ	Œ•zÑ	"Ô	"ð Kð KÝ�y ! QÀTÐJÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks   ÁA#Á#A'Á*A'c                  óä  — t          ddddddd¬¦  «        \  } }t          d¦  «        }dD ]Ä}t          || |dd	t          j        d
dd¦  «        |¬¦  «        \  }}}t          |t          j        ddd¦  «        ¦  «         t          |                     d¬¦  «        t          j        ddd¦  «        ¦  «         t          |                     d¬¦  «        t          j        d
dd¦  «        ¦  «         ŒÅd S )Nr  rž   r   rÍ   rK  r_  rL  r®   TrM  rÇ   rÓ   )rÜ   ri  rZ   rF   r9  rP  ©r   r€   r1   r·   rR  rP   rO   rÜ  )rl   rŽ   r  rU  rZ   rW  rX  s          r]   Ú(test_learning_curve_incremental_learningrn    s  € ÝØØØØØØØðñ ô �D€A€qõ 2°"Ñ5Ô5€IØ&ð Wð WˆÝ1?ØØØØØ)-Ýœ C¨¨bÑ1Ô1Ø!ð2
ñ 2
ô 2
Ñ.ˆ�\ ;õ 	˜;­¬°A°r¸2Ñ(>Ô(>Ñ?Ô?Ð?Ý! ,×"3Ò"3¸Ð"3Ñ";Ô";½R¼[ÈÈcÐSUÑ=VÔ=VÑWÔWÐWÝ! +×"2Ò"2¸Ð"2Ñ":Ô":½B¼KÈÈSÐRTÑ<UÔ<UÑVÔVÐVÐVðWð Wr_   c                  óØ  — t          ddddddd¬¦  «        \  } }t          d¦  «        }t          || d ddt          j        d	d
d¦  «        ¬¦  «        \  }}}t          |t          j        ddd¦  «        ¦  «         t          |                     d¬¦  «        t          j        dd
d¦  «        ¦  «         t          |                     d¬¦  «        t          j        d	d
d¦  «        ¦  «         d S )Nr  rž   r   rÍ   rK  r_  r®   TrM  rÇ   rÓ   )rŽ   rÜ   ri  rZ   r9  rP  rm  r`  s         r]   Ú5test_learning_curve_incremental_learning_unsupervisedrp  )  sý   € ÝØØØØØØØðñ ô �D€A€qõ 2°"Ñ5Ô5€IÝ-;ØØ	Ø
ØØ%)Ý”K  S¨"Ñ-Ô-ð.ñ .ô .Ñ*€K�˜{õ �{¥B¤K°°2°rÑ$:Ô$:Ñ;Ô;Ð;Ý˜l×/Ò/°QÐ/Ñ7Ô7½¼ÀSÈ#ÈrÑ9RÔ9RÑSÔSÐSÝ˜k×.Ò.°AÐ.Ñ6Ô6½¼ÀCÈÈbÑ8QÔ8QÑRÔRÐRÐRÐRr_   c            	      óì  — t          ddddddd¬¦  «        \  } }t          j        ddd¦  «        }t          dd d	¬
¦  «        }t	          || ||dd¬¦  «        \  }}}t	          || |d|d	¬¦  «        \  }}}	t          ||¦  «         t          |                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |                     d¬¦  «        |	                     d¬¦  «        ¦  «         d S )Nr  rž   r   rÍ   rK  rÍ  rÇ   rÏ   F)Úmax_iterÚtolrF   r®   T)rZ   rÜ   ri  )rÜ   rZ   ri  r9  )r   r·   rR  r   r1   rP   rO   rÜ  )
rl   rŽ   rZ   r  Útrain_sizes_incÚtrain_scores_incÚtest_scores_incÚtrain_sizes_batchÚtrain_scores_batchÚtest_scores_batchs
             r]   Ú<test_learning_curve_batch_and_incremental_learning_are_equalrz  A  sP  € ÝØØØØØØØðñ ô �D€A€qõ ”+˜c 3¨Ñ*Ô*€KÝ q¨d¸EÐBÑBÔB€Iå9GØØ	Ø	ØØØ%)ð:ñ :ô :Ñ6€OÐ% õ @NØØ	Ø	ØØØ%*ð@ñ @ô @Ñ<ÐÐ)Ð+<õ �Ð(9Ñ:Ô:Ð:ÝØ×Ò 1ÐÑ%Ô%Ð'9×'>Ò'>ÀAÐ'>Ñ'FÔ'Fñô ð õ Ø×Ò !ÐÑ$Ô$Ð&7×&<Ò&<À!Ð&<Ñ&DÔ&Dñô ð ð ð r_   c            	      ó  — t          ddddddd¬¦  «        \  } }t          d¦  «        }t          j        t          ¦  «        5  t          || |dddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          || |dd	d
g¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          || |dddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          || |dddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          || |dddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  rž   r   rÍ   rK  r_  r®   ©rÜ   rZ   rÆ  rÇ   rM  gš™™™™™ñ?é   rj  r  s      r]   Ú0test_learning_curve_n_sample_range_out_of_boundsr~  h  s/  € ÝØØØØØØØðñ ô �D€A€qõ ' rÑ*Ô*€IÝ	Œ•zÑ	"Ô	"ð Bð BÝ�y ! Q¨1¸1¸a¸&ÐAÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bå	Œ•zÑ	"Ô	"ð Fð FÝ�y ! Q¨1¸3À¸*ÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få	Œ•zÑ	"Ô	"ð Fð FÝ�y ! Q¨1¸3À¸*ÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få	Œ•zÑ	"Ô	"ð Cð CÝ�y ! Q¨1¸1¸b¸'ÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cå	Œ•zÑ	"Ô	"ð Cð CÝ�y ! Q¨1¸1¸b¸'ÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð CsZ   ÁA%Á%A)Á,A)Â	B,Â,B0Â3B0ÃC3Ã3C7Ã:C7ÄD:Ä:D>ÅD>ÅFÆFÆ	Fc                  ó<  — t          ddddddd¬¦  «        \  } }t          d¦  «        }d}t          j        t          |¬¦  «        5  t          || |dt          j        dd	d¦  «        ¬
¦  «        \  }}}d d d ¦  «         n# 1 swxY w Y   t          |ddg¦  «         d S )Nr®   rž   r   rÍ   rK  zzRemoved duplicate entries from 'train_sizes'. Number of ticks will be less than the size of 'train_sizes': 2 instead of 3.rý   g…ëQ¸Õ?rÇ   r|  )	r   rV   rç   r  r  r1   r·   rR  rP   )rl   rŽ   r  r  rZ   rÓ  s         r]   Ú1test_learning_curve_remove_duplicate_sample_sizesr€    s  € ÝØØØØØØØðñ ô �D€A€qõ ' qÑ)Ô)€Ið	Gð õ 
Œ•n¨OÐ	<Ñ	<Ô	<ð 
ð 
Ý*Ø�q˜! ­r¬{¸4ÀÀaÑ/HÔ/Hð
ñ 
ô 
Ñˆ�Q˜ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ �{ Q¨ FÑ+Ô+Ð+Ð+Ð+s   Á-A?Á?BÂBc                  óö  — t          ddddddd¬¦  «        \  } }t          d¦  «        }t          d¬¦  «        }t          || ||t	          j        d	d
d¦  «        ¬¦  «        \  }}}t          |t	          j        ddd¦  «        ¦  «         t          |                     d¬¦  «        t	          j        dd
d¦  «        ¦  «         t          |                     d¬¦  «        t	          j        d	d
d¦  «        ¦  «         d S )Nr  rž   r   rÍ   rK  r_  r®   r  rM  rÇ   rÓ   r|  r9  rP  )	r   rV   r(   r1   r·   rR  rP   rO   rÜ  )rl   rŽ   r  rÜ   rZ   rW  rX  s          r]   Ú(test_learning_curve_with_boolean_indicesr‚  •  s  € ÝØØØØØØØðñ ô �D€A€qõ ' rÑ*Ô*€IÝ	˜Ð	Ñ	Ô	€BÝ-;Ø�1�a˜B­B¬K¸¸SÀ"Ñ,EÔ,Eð.ñ .ô .Ñ*€K�˜{õ �{¥B¤K°°2°rÑ$:Ô$:Ñ;Ô;Ð;Ý˜l×/Ò/°QÐ/Ñ7Ô7½¼ÀSÈ#ÈrÑ9RÔ9RÑSÔSÐSÝ˜k×.Ò.°AÐ.Ñ6Ô6½¼ÀCÈÈbÑ8QÔ8QÑRÔRÐRÐRÐRr_   c                  ób  — t          j        ddgddgddgddgd	d
gddgddgddgddgddgddgd	d
gddgddgddgg¦  «        } t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          dd ddd¬¦  «        }t          d¬¦  «        }t	          || ||dt          j        ddd¦  «        |dd¬¦	  «	        \  }}}t          |                     d¬¦  «        t          j        g d ¢¦  «        ¦  «         t          |                     d¬¦  «        t          j        g d!¢¦  «        ¦  «         t          j	        t          ¦  «        5  t	          || ||dt          j        ddd¦  «        |d"¬#¦  «         d d d ¦  «         n# 1 swxY w Y   t	          || ||dt          j        ddd¦  «        |ddd¬$¦
  «
        \  }}	}
t          |	                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |
                     d¬¦  «        |                     d¬¦  «        ¦  «         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Í   r®   rÎ   )rž   rž   rž   rž   rž   rž   r®   r®   r®   r®   r®   rÎ   rÎ   rÎ   rÎ   FÚpa1)rr  rs  rF   Úlearning_rateÚeta0r  ç333333Ó?rÇ   T)rÜ   r÷   rZ   rÇ  rF   rü   r9  )rö  r�  çIëÅq×?)r�  r÷  r÷  rß   )rÜ   r÷   rZ   rÇ  rá   )rÜ   r÷   rZ   rÇ  rF   rü   ri  )r·   r)  r   r&   r1   rR  rO   rÜ  rç   rè   rµ   )rl   rŽ   rÇ  r  rÜ   rw  rx  ry  rt  ru  rv  s              r]   Ú test_learning_curve_with_shuffler‘  ©  s  € õ 	Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆFØ�ˆGØ�ˆHØ�ˆHØ�ˆHØ�ˆHð	
ñ	ô 	€Aõ& 	ŒÐ>Ð>Ð>Ñ?Ô?€AÝŒXÐCÐCÐCÑDÔD€Fõ Ø˜ e¸5Àqðñ ô €Iõ 
˜QÐ	Ñ	Ô	€BÝ?MØØ	Ø	ØØÝ”K  S¨!Ñ,Ô,ØØØð
@ñ 
@ô 
@Ñ<ÐÐ)Ð+<õ Ø×Ò QÐÑ'Ô'­¬Ð2IÐ2IÐ2IÑ)JÔ)Jñô ð õ Ø×Ò AÐÑ&Ô&­¬Ð1IÐ1IÐ1IÑ(JÔ(Jñô ð õ 
Œ•zÑ	"Ô	"ð 

ð 

ÝØØØØØÝœ C¨¨aÑ0Ô0ØØð		
ñ 		
ô 		
ð 		
ð

ð 

ð 

ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

øøøð 

ð 

ð 

ð 

õ :HØØ	Ø	ØØÝ”K  S¨!Ñ,Ô,ØØØØ%)ð:ñ :ô :Ñ6€OÐ% õ Ø×Ò 1ÐÑ%Ô%Ð'9×'>Ò'>ÀAÐ'>Ñ'FÔ'Fñô ð õ Ø×Ò !ÐÑ$Ô$Ð&7×&<Ò&<À!Ð&<Ñ&DÔ&Dñô ð ð ð s   Å,FÆFÆ
Fc                  óN  — t          j        d¦  «                             dd¦  «        } t          j        dgdz  dgdz  z   ¦  «        }t	          d¬¦  «        }d}t          j        t          |¬	¦  «        5  t          || |d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬	¦  «        5  t          || |d
dt          j
        d¦  «        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          || |d
dt          j
        d¦  «        i¬¦  «         d S )NrÌ  rÓ   r   rÏ   rž   Trå  rç  rý   rß   rà   z/sample_weight.shape == \(1,\), expected \(2,\)!r»   )rá   r�   )r·   rÐ  r²   r)  rJ   rç   rè   r‹   r1   rµ   r£  ré  s       r]   Útest_learning_curve_paramsr“  ù  s±  € Ý
Œ	�#‰Œ×Ò˜r 2Ñ&Ô&€AÝ
Œ�!��q‘˜A˜3 ™7Ñ"Ñ#Ô#€AÝ
°DÐ
9Ñ
9Ô
9€Cà4€GÝ	Œ•~¨WÐ	5Ñ	5Ô	5ð 7ð 7Ý�s˜A˜q¨gÐ6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð A€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 
ð 
ÝØ��A 7°OÅRÄWÈQÁZÄZÐ3Pð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ØˆQ�˜w°ÅÄÈÁÄÐ/Mðñ ô ð ð ð s$   Á5BÂBÂBÂ=)C2Ã2C6Ã9C6c                  ó  — t          ddddddd¬¦  «        \  } }t          ddg¦  «        }d}t          j        t          |¬	¦  «        5  t          || |d
dt          j        ddd¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  rž   r   rÍ   rK  r_  r»   z9Expected fit parameter\(s\) \['sample_weight'\] not seen.rý   r®   TrM  rÇ   rÓ   rß   )rÜ   ri  rZ   rá   )r   r€   rç   rè   r‹   r1   r·   rR  )rl   rŽ   r  rê  s       r]   Ú/test_learning_curve_incremental_learning_paramsr•    sû   € ÝØØØØØØØðñ ô �D€A€qõ 2°"°Ð6GÑHÔH€IØJ€GÝ	Œ•~¨WÐ	5Ñ	5Ô	5ð 	
ð 	
ÝØØØØØ)-Ýœ C¨¨bÑ1Ô1Øð	
ñ 	
ô 	
ð 	
ð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
ð 	
ð 	
s   Á+B Â BÂBc            	      óü  — t          ddddddd¬¦  «        \  } }t          j        ddd¦  «        }t          j        d¬¦  «        5 }t          t          ¦   «         | |d|d¬	¦  «        \  }}d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    rt          d
|d         j	        z  ¦  «        ‚t          |                     d¬¦  «        |¦  «         t          |                     d¬¦  «        d|z
  ¦  «         d S )NrÍ   rž   r   rK  rÓ   Tr¯  rš   ©Ú
param_nameÚparam_rangerÜ   rO  r9  )r   r·   rR  r±  r²  r3   r—   r³   rS  rT  rO   rÜ  )rl   rŽ   r™  rV  rW  rX  s         r]   Útest_validation_curverš  $  sR  € ÝØØØØØØØðñ ô �D€A€qõ ”+˜a  BÑ'Ô'€KÝ	Ô	 ¨Ð	-Ñ	-Ô	-ð 
°Ý$4Ý&Ñ(Ô(ØØØØ#Øð%
ñ %
ô %
Ñ!ˆ�kð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ˆ1�v„v�‚z€zÝÐ3°a¸´d´lÑBÑCÔCÐCå˜l×/Ò/°QÐ/Ñ7Ô7¸ÑEÔEÐEÝ˜k×.Ò.°AÐ.Ñ6Ô6¸¸K¹ÑHÔHÐHÐHÐHs   Á%A6Á6A:Á=A:c            	      ó¬   — t          ddddddd¬¦  «        \  } }t          j        ddd¦  «        }t          t	          ¦   «         | |d|d¬¦  «        \  }}d S )NrÍ   rž   r   rK  rÓ   rš   r—  )r   r·   rR  r3   r¡   )rl   rŽ   r™  rÓ  s       r]   Ú%test_validation_curve_clone_estimatorrœ  ?  sx   € ÝØØØØØØØðñ ô �D€A€qõ ”+˜a  BÑ'Ô'€KÝÝ-Ñ/Ô/Ø	Ø	ØØØðñ ô �D€A€q€q€qr_   c                  óº  — d} d}t          dd¬¦  «        \  }}t          t          dd¬¦  «        ||dg d¢t          || ¬	¦  «        ¬
¦  «        }t	          t          j        t          j        |¦  «        dd d …f         d¦  «        Ž  t          t          dd¬¦  «        ||dg d¢t          |d¬¦  «        ¬
¦  «        }t	          t          j        t          j        |¦  «        dd d …f         d¦  «        Ž  t          t          dd¬¦  «        ||dg d¢t          |¬¦  «        ¬
¦  «        }t	          t          j	        |¦  «        t          j	        |¦  «        ¦  «         d S )NrÌ  rÏ   r   r   r"  r#  rõ   )rM  rM  rÍ  rÍ  rQ  r—  )r   rÍ   rž   r®   rÍ   T©r  rF   r  )
r   r3   r?   r7   rO   r·   ÚvsplitÚhstackr(   r)  )r!  r  rl   rŽ   Úscores1Úscores2Úscores3s          r]   Ú+test_validation_curve_cv_splits_consistencyr¤  U  s~  € Ø€IØ€HÝ¨¸1Ð=Ñ=Ô=�D€A€qåÝ�8¨!Ð,Ñ,Ô,Ø	Ø	ØØ(Ð(Ð(Ý H¸	ÐBÑBÔBðñ ô €Gõ �rœy­¬°7Ñ);Ô);¸LÈ!È!È!¸OÔ)LÈaÑPÔPÐQÐQåÝ�8¨!Ð,Ñ,Ô,Ø	Ø	ØØ(Ð(Ð(Ý˜(¨DÐ1Ñ1Ô1ðñ ô €Gõ �rœy­¬°7Ñ);Ô);¸LÈ!È!È!¸OÔ)LÈaÑPÔPÐQÐQåÝ�8¨!Ð,Ñ,Ô,Ø	Ø	ØØ(Ð(Ð(Ý˜(Ð#Ñ#Ô#ðñ ô €Gõ �bœh wÑ/Ô/µ´¸'Ñ1BÔ1BÑCÔCÐCÐCÐCr_   c                  óf  — t          j        d¦  «                             dd¦  «        } t          j        dgdz  dgdz  z   ¦  «        }t	          d¬¦  «        }d}t          j        t          |¬	¦  «        5  t          || |d
g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬	¦  «        5  t          || |d
g d¢ddt          j
        d¦  «        i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          || |d
g d¢ddt          j
        d¦  «        i¬¦  «         d S )NrÌ  rÓ   r   rÏ   rž   Trå  rç  rý   Ú	foo_param)rž   rÍ   r®   rß   )r˜  r™  rá   rè  r»   )r˜  r™  rá   r�   )r·   rÐ  r²   r)  rJ   rç   rè   r‹   r3   rµ   r£  ré  s       r]   Útest_validation_curve_paramsr§  ƒ  sã  € Ý
Œ	�#‰Œ×Ò˜r 2Ñ&Ô&€AÝ
Œ�!��q‘˜A˜3 ™7Ñ"Ñ#Ô#€AÝ
°DÐ
9Ñ
9Ô
9€Cà4€GÝ	Œ•~¨WÐ	5Ñ	5Ô	5ð 
ð 
ÝØØØØ"Ø!˜	˜	Øð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð A€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 	
ð 	
ÝØØØØ"Ø!˜	˜	ØØ#¥R¤W¨Q¡Z¤ZÐ0ð	
ñ 	
ô 	
ð 	
ð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
õ ØØ	Ø	ØØ�I�IØØ¥¤¨¡¤Ð-ðñ ô ð ð ð s$   Á5BÂBÂ BÃ-C:Ã:C>ÄC>c                  ó~  — t           j                             d¦  «        } t          j        d¦  «        }|                      |¦  «         t          |d¦  «        sJ ‚t          t          j        |d¦  «        d¦  «        rJ ‚d|d<   t          |d¦  «        rJ ‚t          t          j        |df¦  «        d¦  «        rJ ‚d S )Nr   rÌ  é   )r·   r@  rA  rÐ  rF   r4   Údeleter   )rD  râ  s     r]   Útest_check_is_permutationr«  ©  s¶   € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ	�#‰Œ€AØ‡K‚K��N„N€NÝ   CÑ(Ô(Ð(Ð(Ð(Ý$¥R¤Y¨q°"Ñ%5Ô%5°sÑ;Ô;Ð;Ð;Ð;à€A€a�DÝ$ Q¨Ñ,Ô,Ð,Ð,Ð,õ %¥R¤Y°°1¨vÑ%6Ô%6¸Ñ<Ô<Ð<Ð<Ð<Ð<Ð<r_   c                 ó.  — t          ddddd¬¦  «        \  }} | |¦  «        } | |¦  «        }t          t          d¬¦  «        ¦  «        }t          |||d¬	¦  «        }t          |||d¬	¦  «        }|                     ¦   «         }t          ||¦  «         d S )
NrÍ   rž   FT)ra  Ún_labelsÚallow_unlabeledÚreturn_indicatorrü   r"  rb  rÓ   rÛ   )r   r9   r?   r.   rF  rO   )r  rl   rŽ   rê   Úy_sparseÚclassifr  Úpreds_sparses           r]   Ú(test_cross_val_predict_sparse_predictionr³  ·  s¶   € õ *ØØØØØðñ ô �D€A€qð ˆ}˜QÑÔ€HØˆ}˜QÑÔ€HÝ!¥#¨XÐ"6Ñ"6Ô"6Ñ7Ô7€GÝ˜g q¨!°Ð3Ñ3Ô3€EÝ$ W¨h¸ÀRÐHÑHÔH€LØ×'Ò'Ñ)Ô)€LÝ˜l¨EÑ2Ô2Ð2Ð2Ð2r_   c           
      ó&  — t          dd¬¦  «        }|j        dk    r(|dk    rt          |¦  «        fnt          |¦  «        df}n|j        }t	          j        |¦  «        }|                     ||¦  «        D ]V\  }}t          | ¦  «                             ||         ||         ¦  «        }  t          | |¦  «        ||         ¦  «        ||<   ŒW||dz   |dz
  | 
                    d¦  «        fD ]$}	t          t          | ||	||¬¦  «        |¦  «         Œ%d	S )
z@Helper for tests of cross_val_predict with binary classificationr®   Frž  rž   r  rÍ   Ústrr
  N)r(   r´   r³   rb   r·   rƒ  r'  r	   re   ÚgetattrÚastyperM   r.   )
r1  rl   rŽ   r  rÜ   Ú	exp_shapeÚexpected_predictionsr9  r:  Útgs
             r]   Úcheck_cross_val_predict_binaryr»  Ê  s.  € å	˜ 5Ð	)Ñ	)Ô	)€Bð 	„v�‚{€{Ø!'Ð+>Ò!>Ð!>•S˜‘V”V�I�IÅSÈÁVÄVÈQÀKˆ	ˆ	à”Gˆ	Ýœ8 IÑ.Ô.ÐØ—x’x  1‘~”~ð Cð C‰ˆˆtÝ�C‰jŒj�nŠn˜Q˜uœX q¨¤xÑ0Ô0ˆØ%9¥W¨S°&Ñ%9Ô%9¸!¸D¼'Ñ%BÔ%BÐ˜TÑ"Ð"ð �!�a‘%˜˜Q™ §¢¨¡¤Ð0ð 
ð 
ˆÝÝ˜c 1 b°¸BÐ?Ñ?Ô?ÐAUñ	
ô 	
ð 	
ð 	
ð
ð 
r_   c           
      ó  — t          dd¬¦  «        }t          j        t          j        ¦  «        j        }||ddœ}t          j        t          |¦  «        t          t          |¦  «        ¦  «        f||         t          j        ¬¦  «        }t          j        |d¬¦  «        \  }}	| 	                    ||	¦  «        D ]…\  }
}t          | ¦  «                             ||
         |	|
         ¦  «        }  t          | |¦  «        ||         ¦  «        }t          j        |	|
         ¦  «        }||t          j        ||¦  «        <   Œ†||d	z   |d
z
  |                     d¦  «        fD ]$}t          t!          | ||||¬¦  «        |¦  «         Œ%dS )zDHelper for tests of cross_val_predict with multiclass classificationr®   Frž  r   ©r  r)  rÅ   r  T©Úreturn_inverserž   rÍ   rµ  r
  N)r(   r·   Úfinforß  Úminr¤  r³   rŠ   r¸   r'  r	   re   r¶  Úix_r·  rM   r.   )r1  rl   rŽ   r  rÜ   Ú	float_minÚdefault_valuesr¹  rÓ  Úy_encr9  r:  Ú
fold_predsÚ
i_cols_fitrº  s                  r]   Ú"check_cross_val_predict_multiclassrÈ  ß  s‹  € å	˜ 5Ð	)Ñ	)Ô	)€Bõ ”�œÑ$Ô$Ô(€Ià&Ø&Øðð €Nõ
 œ7Ý	ˆQ‰Œ••S˜‘V”V‘”Ð˜~¨fÔ5½R¼Zðñ ô Ðõ Œy˜¨4Ð0Ñ0Ô0�H€A€uØ—x’x  5Ñ)Ô)ð Dð D‰ˆˆtÝ�C‰jŒj�nŠn˜Q˜uœX u¨U¤|Ñ4Ô4ˆØ)•W˜S &Ñ)Ô)¨!¨D¬'Ñ2Ô2ˆ
Ý”Y˜u Uœ|Ñ,Ô,ˆ
Ø9CÐ�RœV D¨*Ñ5Ô5Ñ6Ð6ð �!�a‘%˜˜Q™ §¢¨¡¤Ð0ð 
ð 
ˆÝÝ˜c 1 b°¸BÐ?Ñ?Ô?ÐAUñ	
ô 	
ð 	
ð 	
ð
ð 
r_   c                 óJ  ‡— t          dd¬¦  «        }t          j        t          j        ¦  «        j        }||ddœ}‰j        d         }g }t          |¦  «        D ]�}	t          t          ‰dd…|	f         ¦  «        ¦  «        }
|
dk    r|d	k    rt          |¦  «        f}nt          |¦  «        |
f}| 	                    t          j
        |||         t          j        ¬
¦  «        ¦  «         Œ‘ˆfd„t          ‰j        d         ¦  «        D ¦   «         }t          j        |d¬¦  «        }|                     ||¦  «        D ]Ò\  }}t          | ¦  «                             ||         ||         ¦  «        }  t          | |¦  «        ||         ¦  «        }t          |¦  «        D ]o}	t          j        ||         dd…|	f         ¦  «        }||	         j        dk    r||	         ||	         |<   ŒIt          j        ||¦  «        }||	         ||	         |<   ŒpŒÓ‰‰dz   ‰dz
  ‰                     d¦  «        fD ]s}t)          | ||||¬¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚t          t          |¦  «        ¦  «        D ]}t+          ||         ||         ¦  «         ŒŒtdS )z”Check the output of cross_val_predict for 2D targets using
    Estimators which provide a predictions as a list with one
    element per class.
    r®   Frž  r   r½  rž   NrÍ   r  r  c                 ó„   •— g | ]<}t          j        ‰d d …|f         d¬¦  «        d         d d …t           j        f         ‘Œ=S )NTr¾  rž   )r·   r¸   ræ   )r  r  rŽ   s     €r]   ú
<listcomp>z6check_cross_val_predict_multilabel.<locals>.<listcomp>  sX   ø€ ð ð ð àõ 	Œ	�!�A�A�A�q�D”'¨$Ð/Ñ/Ô/°Ô2°1°1°1µb´j°=ÔAðð ð r_   r9  rµ  r
  )r(   r·   rÀ  rß  rÁ  rb   râ   r³   rŠ   r(  r¤  Úconcatenater'  r	   re   r¶  r¸   r´   rÂ  r·  r.   rM   )r1  rl   rŽ   r  rÜ   rÃ  rÄ  Ú	n_targetsÚexpected_predsÚi_colÚn_classes_in_labelr¸  Ú
y_enc_colsrÅ  r9  r:  rÆ  Ú	fold_colsÚidxrº  Úcv_predict_outputr  s     `                   r]   Ú"check_cross_val_predict_multilabelrÕ  û  sï  ø€ õ
 
˜ 5Ð	)Ñ	)Ô	)€Bõ ”�œÑ$Ô$Ô(€Ià&Ø&Øðð €Nð
 ”˜”
€IØ€NÝ�yÑ!Ô!ð 
ð 
ˆÝ ¥ Q q q q¨% x¤[Ñ!1Ô!1Ñ2Ô2ÐØ Ò"Ð" vÐ1DÒ'DÐ'DÝ˜Q™œ˜	ˆIˆIå˜Q™œÐ!3Ð4ˆIØ×ÒÝŒG�I˜~¨fÔ5½R¼ZÐHÑHÔHñ	
ô 	
ð 	
ð 	
ð
ð ð ð å�q”w˜q”zÑ"Ô"ðñ ô €Jõ ŒN˜:¨AÐ.Ñ.Ô.€EØ—x’x  5Ñ)Ô)ð 
?ð 
?‰ˆˆtÝ�C‰jŒj�nŠn˜Q˜uœX u¨U¤|Ñ4Ô4ˆØ)•W˜S &Ñ)Ô)¨!¨D¬'Ñ2Ô2ˆ
Ý˜9Ñ%Ô%ð 	?ð 	?ˆEÝœ	 %¨¤,¨q¨q¨q°%¨xÔ"8Ñ9Ô9ˆIØ˜eÔ$Ô)¨QÒ.Ð.à.8¸Ô.?�˜uÔ% dÑ+Ð+å”f˜T 9Ñ-Ô-�Ø-7¸Ô->�˜uÔ% cÑ*Ð*ð	?ð �!�a‘%˜˜Q™ §¢¨¡¤Ð0ð Eð EˆÝ-¨c°1°bÀÈBÐOÑOÔOÐÝÐ$Ñ%Ô%­¨^Ñ)<Ô)<Ò<Ð<Ð<Ð<Ý•sÐ,Ñ-Ô-Ñ.Ô.ð 	Eð 	EˆAÝÐ-¨aÔ0°.ÀÔ2CÑDÔDÐDÐDð	EðEð Er_   c                 ó\   — t          dd¬¦  «        \  }}dD ]}t          | |||¦  «         Œd S )NrÍ   r   )ra  rü   ©r  rÅ   r)  )r   r»  )r1  rl   rŽ   r  s       r]   Ú*check_cross_val_predict_with_method_binaryrØ  /  sJ   € õ ¨¸Ð;Ñ;Ô;�D€A€qØMð :ð :ˆÝ& s¨A¨q°&Ñ9Ô9Ð9Ð9ð:ð :r_   c                 ó–   — t          ¦   «         }|j        |j        }}t          ||d¬¦  «        \  }}dD ]}t	          | |||¦  «         Œd S )Nr   rû   r×  )r   r�  r‚  rF   rÈ  )r1  r†  rl   rŽ   r  s        r]   Ú.check_cross_val_predict_with_method_multiclassrÚ  7  s`   € Ý‰;Œ;€DØŒ9�d”k€q€AÝ�1�a aÐ(Ñ(Ô(�D€A€qØMð >ð >ˆÝ*¨3°°1°fÑ=Ô=Ð=Ð=ð>ð >r_   c                  ór   — t          t          ¦   «         ¦  «         t          t          ¦   «         ¦  «         d S rh   )rØ  r   rÚ  r~   r_   r]   Ú"test_cross_val_predict_with_methodrÜ  ?  s2   € Ý.Õ/AÑ/CÔ/CÑDÔDÐDÝ2Õ3EÑ3GÔ3GÑHÔHÐHÐHÐHr_   c                  ó¸   — t          ¦   «         } | j        | j        }}t          ||d¬¦  «        \  }}dD ]%}t	          dd¬¦  «        }t          ||||¦  «         Œ&d S )Nr   rû   r×  Úlog_lossrÍ   )Úlossrü   )r   r�  r‚  rF   r   rÈ  )r†  rl   rŽ   r  r1  s        r]   Ú&test_cross_val_predict_method_checkingrà  D  st   € õ ‰;Œ;€DØŒ9�d”k€q€AÝ�1�a aÐ(Ñ(Ô(�D€A€qØMð >ð >ˆÝ ¸!Ð<Ñ<Ô<ˆÝ*¨3°°1°fÑ=Ô=Ð=Ð=ð>ð >r_   c                  óÞ   — t          ¦   «         } | j        | j        }}t          ||d¬¦  «        \  }}t	          t          d¬¦  «        dddgid¬¦  «        }d	D ]}t          ||||¦  «         Œd S )
Nr   rû   r™  rõ   rM  rž   rÍ   rÛ   r×  )r   r�  r‚  rF   r%   r   rÈ  )r†  rl   rŽ   r1  r  s        r]   Ú/test_gridsearchcv_cross_val_predict_with_methodrâ  O  s‰   € Ý‰;Œ;€DØŒ9�d”k€q€AÝ�1�a aÐ(Ñ(Ô(�D€A€qÝ
Õ)°rÐ:Ñ:Ô:¸SÀ3ÈÀ(¸OÐPQÐ
RÑ
RÔ
R€CØMð >ð >ˆÝ*¨3°°1°fÑ=Ô=Ð=Ð=ð>ð >r_   c                  ó¨   — d} d}t          | d|dd¬¦  «        \  }}t          t          dd¬	¦  «        ¦  «        }d
D ]}t          ||||¬¦  «         Œd S )NrÌ  rÎ   r®   rÏ   r™  ©r!  r­  ra  r½  rü   r  r   )r	  rü   )rÅ   r  r  )r   r9   r   r»  )Ún_sampra  rl   rŽ   r1  r  s         r]   Ú1test_cross_val_predict_with_method_multilabel_ovrræ  X  s‡   € ð €FØ€IÝ)Ø 1°	ÀaÐVXðñ ô �D€A€qõ Õ0¸ÐRSÐTÑTÔTÑ
UÔ
U€CØ8ð Að AˆÝ& s¨A¨q¸Ð@Ñ@Ô@Ð@Ð@ðAð Ar_   c                   ó   — e Zd Zd„ ZdS )ÚRFWithDecisionFunctionc                 óŠ   — |                       |¦  «        }d}t          |t          ¦  «        s
J |¦   «         ‚d„ |D ¦   «         }|S )Nz?This helper should only be used on multioutput-multiclass tasksc                 óL   — g | ]!}|j         d          dk    r|dd…df         n|‘Œ"S )rž   rÍ   Nr­   r˜  )r  râ  s     r]   rË  z<RFWithDecisionFunction.decision_function.<locals>.<listcomp>n  s6   € ÐCÐCÐC¸˜QœW QœZ¨1š_˜_��1�1�1�b�5”�°!ÐCÐCÐCr_   )rÅ   rÖ   rŒ   )r\   rl   ÚprobsÚmsgs       r]   r  z(RFWithDecisionFunction.decision_functionj  sP   € Ø×"Ò" 1Ñ%Ô%ˆØOˆÝ˜%¥Ñ&Ô&Ð+Ð+¨Ñ+Ô+Ð&ØCÐC¸UÐCÑCÔCˆØˆr_   N)rz   r{   r|   r  r~   r_   r]   rè  rè  f  s#   € € € € € ðð ð ð ð r_   rè  c                  óD  — d} t          dd| dd¬¦  «        \  }}|d d …dfxx         |d d …df         z  cc<   d	D ]e}t          dd¬
¦  «        }t          j        ¦   «         5  t          j        d¦  «         t          ||||¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œfd S )NrÎ   rÌ  r®   rÏ   r™  rä  r   rž   ©rÅ   r)  r  ©Ún_estimatorsrü   Úignorer  )r   rè  r±  r²  ÚsimplefilterrÕ  )ra  rl   rŽ   r  r1  s        r]   Ú0test_cross_val_predict_with_method_multilabel_rfró  r  s&  € ð €IÝ)Ø ¨YÀ1ÐSUðñ ô �D€A€qð €a€a€aˆ€d€G€G„Gˆq����A�ŒwÑ€G€G�GØMð Ið IˆÝ$°!À!ÐDÑDÔDˆÝÔ$Ñ&Ô&ð 	Ið 	IåÔ! (Ñ+Ô+Ð+Ý.¨s°A°qÀÐHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	IøðIð Is   Á (BÂB	ÂB	c                  óh  — t           j                             d¦  «        } |                      ddd¬¦  «        }t          j        g d¢¦  «        }t          ¦   «         }dD ]S}t          j        ¦   «         5  t          j        d¦  «         t          ||||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒTd S )Nr   rž   )r†  rÓ   ©rÎ  )r   rž   rÍ   r   rž   rÍ   r   rž   rÍ   r   rž   rÍ   r   r®   rî  rñ  )
r·   r@  rA  Únormalr)  r   r±  r²  rò  rÈ  )rD  rl   rŽ   r1  r  s        r]   Ú-test_cross_val_predict_with_method_rare_classr÷  ƒ  s	  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�
Š
�1�a˜hˆ
Ñ'Ô'€AÝ
ŒÐ;Ð;Ð;Ñ<Ô<€AÝ
Ñ
Ô
€CØMð Bð BˆÝÔ$Ñ&Ô&ð 	Bð 	BåÔ! (Ñ+Ô+Ð+Ý.¨s°A°q¸&ÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	BøðBð Bs   Á3'B&Â&B*	Â-B*	c                  óŠ  — t           j                             d¦  «        } |                      ddd¬¦  «        }t          j        ddgddgddgddgddgg¦  «        }dD ]e}t          dd¬¦  «        }t          j        ¦   «         5  t          j        d	¦  «         t          ||||¬
¦  «         d d d ¦  «         n# 1 swxY w Y   Œfd S )Nr   rž   )rÏ   rÓ   rõ  rÍ   )rÅ   r)  rÏ   rï  rñ  r  )
r·   r@  rA  rö  r)  rè  r±  r²  rò  rÕ  )rD  rl   rŽ   r  r1  s        r]   Ú;test_cross_val_predict_with_method_multilabel_rf_rare_classrù  ‘  s+  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�
Š
�1�a˜gˆ
Ñ&Ô&€AÝ
Œ�1�a�&˜1˜a˜& 1 a &¨1¨a¨&°1°a°&Ð9Ñ:Ô:€AØ8ð Ið IˆÝ$°!À!ÐDÑDÔDˆÝÔ$Ñ&Ô&ð 	Ið 	IåÔ! (Ñ+Ô+Ð+Ý.¨s°A°qÀÐHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	IøðIð Is   Â(B7Â7B;	Â>B;	c                 ó  — t          j        t          |¦  «        |g¦  «        }t          ||¦  «        }|                     | |¦  «        D ]µ\  }}	|                     | |         ||         ¦  «          || |	         ¦  «        }
|dk    r$t          j        t          |	¦  «        |f¦  «        }n@t          j        t          |	¦  «        |ft          j        |j        ¦  «        j	        ¦  «        }|
|d d …|j
        f<   |||	<   Œ¶|S )NrÅ   )r·   rƒ  r³   r¶  r'  re   r¤  rÀ  r€  rÁ  rº   )rl   rŽ   rÜ   Úclassesr1  r  r¹  Úfuncr9  r:  Úexpected_predictions_Úexp_pred_tests               r]   Úget_expected_predictionsrÿ  ¢  sü   € Ýœ8¥S¨¡V¤V¨WÐ$5Ñ6Ô6ÐÝ�3˜ÑÔ€Dà—x’x  1‘~”~ð 3ð 3‰ˆˆtØ�Š��%”˜!˜Eœ(Ñ#Ô#Ð#Ø $  Q t¤W¡¤Ðà�_Ò$Ð$ÝœH¥c¨$¡i¤i°Ð%9Ñ:Ô:ˆMˆMåœGÝ�T‘”˜GÐ$¥b¤hÐ/CÔ/IÑ&JÔ&JÔ&Nñô ˆMð *?ˆ�a�a�a˜œ�oÑ&Ø%2Ð˜TÑ"Ð"àÐr_   c            	      ó  — t          j        d¦  «                             dd¦  «        } t          j        d„ t	          d¦  «        D ¦   «         ¦  «        }d}t          d¬¦  «        }t          d¬¦  «        }t          ¦   «         }g d	¢}|D ]þ}t          ¦   «         }t          || |||¬
¦  «        }	t          | |||||¦  «        }
t          |
|	¦  «         t          || |||¬
¦  «        }	t          | |||||¦  «        }
t          |
|	¦  «         t          t          j        t	          d¦  «        d¦  «        d¬¦  «        }t          || |||¬
¦  «        }	|                     |¦  «        }t          | |||||¦  «        }
t          |
|	¦  «         Œÿd S )NrÛ  rÌ  rÍ   c                 ó   — g | ]}|d z  ‘ŒS )rÓ   r~   )r  rƒ   s     r]   rË  z7test_cross_val_predict_class_subset.<locals>.<listcomp>¸  s   € Ð.Ð.Ð.˜a�!�r‘'Ð.Ð.Ð.r_   rÓ   r®   r  rÎ   r×  r
  r   rû   )r·   rÐ  r²   r)  râ   r(   r=   r   r.   rÿ  rO   rF   rà  Úfit_transform)rl   rŽ   rû  Úkfold3Úkfold4ÚleÚmethodsr  r1  r/  r¹  s              r]   Ú#test_cross_val_predict_class_subsetr  ¶  s¾  € Ý
Œ	�#‰Œ×Ò˜s AÑ&Ô&€AÝ
ŒÐ.Ð.¥5¨¡:¤:Ð.Ñ.Ô.Ñ/Ô/€AØ€Gå˜AÐÑÔ€FÝ˜AÐÑÔ€Få	‰Œ€BàIÐIÐI€GØð Eð EˆÝ Ñ"Ô"ˆõ (¨¨Q°¸&ÀVÐLÑLÔLˆõ  8Øˆq�&˜' 3¨ñ 
ô  
Ðõ 	"Ð"6¸ÑDÔDÐDõ (¨¨Q°¸&ÀVÐLÑLÔLˆÝ7Øˆq�&˜' 3¨ñ 
ô  
Ðõ 	"Ð"6¸ÑDÔDÐDõ •B”I�e B™iœi¨Ñ,Ô,¸1Ð=Ñ=Ô=ˆÝ'¨¨Q°¸&ÀVÐLÑLÔLˆØ×Ò˜QÑÔˆÝ7Øˆq�&˜' 3¨ñ 
ô  
Ðõ 	"Ð"6¸ÑDÔDÐDÐDð5Eð Er_   c                  ó€  ‡‡— t          ¦   «         } | j        | j        }}t          ¦   «         }t	          j        dd¬¦  «        }|                     d¦  «         |                     ¦   «          t          j	        |j
        t          j        ¬¦  «        Št          j	        |j
        ddt          j        ¬¦  «        Š	 t          |||ˆfd	„¬
¦  «         t          j        t          ¦  «        5  t          |||ˆfd„¬
¦  «         d d d ¦  «         n# 1 swxY w Y   d\  ŠŠt!          d¦  «        D ]=}	 t#          j        |j
        ¦  «          d S # t&          $ r t)          d¦  «         Y Œ:w xY wd S # d\  ŠŠt!          d¦  «        D ]<}	 t#          j        |j
        ¦  «          w # t&          $ r t)          d¦  «         Y Œ9w xY ww xY w)NÚwbF)Úmoderª  s   Hello world!!!!!r  r~   Úr)rb   r
  r€  c                 ó   •— ‰S rh   r~   )r1  rl   rŽ   rt   s      €r]   r×   z#test_score_memmap.<locals>.<lambda>é  s   ø€ ¸U€ r_   rÿ   c                 ó   •— ‰S rh   r~   )r1  rl   rŽ   rë   s      €r]   r×   z#test_score_memmap.<locals>.<lambda>ë  s   ø€ À€ r_   rx   r®   rÇ   )r   r�  r‚  r§   ÚtempfileÚNamedTemporaryFileÚwriteÚcloser·   ÚmemmapÚnamerß  r/   rç   rè   rµ   râ   ÚosÚunlinkÚOSErrorr   )r†  rl   rŽ   ré   ÚtfrÓ  rt   rë   s         @@r]   Útest_score_memmapr  Þ  s,  øø€ å‰;Œ;€DØŒ9�d”k€q€AÝ
Ñ
Ô
€CÝ	Ô	$¨$°uÐ	=Ñ	=Ô	=€BØ‡H‚HÐ Ñ!Ô!Ð!Ø‡H‚H�J„J€JÝŒY�r”w¥b¤jÐ1Ñ1Ô1€FÝŒI�b”g R¨c½¼ÐDÑDÔD€EðÝ˜˜Q Ð+BÐ+BÐ+BÐ+BÐCÑCÔCÐCÝŒ]�:Ñ&Ô&ð 	Ið 	IÝ˜C  AÐ/GÐ/GÐ/GÐ/GÐHÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið
 #‰ˆ�Ý�q‘”ð 	ð 	ˆAðÝ”	˜"œ'Ñ"Ô"Ð"Ø��øÝð ð ð Ý�c‘
”
�
�
�
ðøøøð		ð 	øð #‰ˆ�Ý�q‘”ð 	ð 	ˆAðÝ”	˜"œ'Ñ"Ô"Ð"Ø�øÝð ð ð Ý�c‘
”
�
�
�
ðøøøð		øøøsf   Â9/E* Ã(DÃ?E* ÄDÄE* ÄDÄE* Ä-E	Å	E%Å$E%Å*F=ÆFÆF=ÆF9	Æ6F=Æ8F9	Æ9F=c                  óV  ‡‡— t           t           fg} 	 ddlm}m} |                      ||f¦  «         n# t
          $ r Y nw xY w| D ]c\  ŠŠt          ¦   «         }|j        |j        }} ‰|¦  «         ‰|¦  «        }}ˆfd„}ˆfd„}	t          ||	¬¦  «        }
t          |
||¦  «         Œdd S )Nr   rg  c                 ó$   •— t          | ‰¦  «        S rh   rk  rl  s    €r]   r×   z4test_permutation_test_score_pandas.<locals>.<lambda>  rn  r_   c                 ó$   •— t          | ‰¦  «        S rh   rk  rp  s    €r]   r×   z4test_permutation_test_score_pandas.<locals>.<lambda>  rr  r_   rs  )rK   rt  rh  ri  r(  ru  r   r�  r‚  rJ   r2   )rw  rh  ri  r†  rl   rŽ   rx  ry  rz  r{  ré   rm  rq  s              @@r]   Ú"test_permutation_test_score_pandasr  ø  sü   øø€ å�]Ð+Ð,€EðØ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,à�Š�f˜iÐ(Ñ)Ô)Ð)Ð)øÝð ð ð Øˆðøøøà(-ð 1ð 1Ñ$ˆ
Ð$å‰{Œ{ˆØŒy˜$œ+ˆ1ˆØ&Ð& qÑ)Ô)¨:¨:°a©=¬=ˆeˆØ<Ð<Ð<Ð<ˆØ:Ð:Ð:Ð:ˆÝ ¨¸<ÐHÑHÔHˆÝ˜s D¨%Ñ0Ô0Ð0Ð0ð1ð 1r}  c                  ó¼  — t          t           j        ¦  «        } t          j        dd¦  «        }t          j        dd¦  «        t          j        dd¦  «        }}t	          | |d t	          ¦   «         ||dd d d ¬¦
  «
        }d|d<   t          j        t          d	¬
¦  «        5  t          di |¤Ž d d d ¦  «         n# 1 swxY w Y   |  	                    ¦   «         dk    sJ ‚d S )Nrž   rÓ   r   rÏ   r‹  )
r  rl   rŽ   r×  r9  r:  rc  Ú
parametersr§  Úscore_paramsrß   rá   z%Failing classifier failed as requiredrý   rÆ  r~   )
r8   ÚFAILING_PARAMETERr·   rÐ  r  rç   rè   rµ   r5   rt   )Úfailing_clfrl   r9  r:  Úfit_and_score_argss        r]   Útest_fit_and_score_failingr#    s*  € å#Õ$5Ô$GÑHÔH€Kå
Œ	�!�RÑÔ€AÝ”)˜A˜q‘/”/¥2¤9¨Q°¡?¤?ˆ4€EÝØØ
Ø
Ý‰vŒvØØØØØØðñ ô Ðð )0Ð�}Ñ%å	Œ•zÐ)PÐ	QÑ	QÔ	Qð -ð -ÝÐ,Ð,Ð+Ð,Ð,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð ×ÒÑÔ #Ò%Ð%Ð%Ð%Ð%Ð%s   ÂB7Â7B;Â>B;c                  óD  — t          dd¬¦  «        \  } }t          dd¬¦  «        }t          t          ¦   «                              | ¦  «        ¦  «        \  }}t          || |t          ¦   «         ||ddddœd d d	¬
¦  «        }t          di |¤Ž}|d         |d         k    sJ ‚d S )Nr  r   r   r"  r#  rÌ  rM  )rr  rs  T)r  rl   rŽ   r×  r9  r:  rc  r  r§  r  Úreturn_parametersr  r~   )r   r?   Únextr,   r'  r  r5   )rl   rŽ   ré   r9  r:  r"  Úresults          r]   Útest_fit_and_score_workingr(  '  sÇ   € Ý¨¸!Ð<Ñ<Ô<�D€A€qÝ
�X¨AÐ
.Ñ
.Ô
.€CÝ•|‘~”~×+Ò+¨AÑ.Ô.Ñ/Ô/�K€Eˆ4åØØ
Ø
Ý‰vŒvØØØØ #¨CÐ0Ð0ØØØðñ ô Ðõ Ð1Ð1Ð0Ð1Ð1€FØ�,ÔÐ#5°lÔ#CÒCÐCÐCÐCÐCÐCr_   c                   ó&   — e Zd Zdd„Zdd„Zdd„ZdS )ÚDataDependentFailingClassifierNc                 ó   — || _         d S rh   ©Úmax_x_value)r\   r-  s     r]   r^   z'DataDependentFailingClassifier.__init__>  s   € Ø&ˆÔÐÐr_   c                 ój   — || j         k                         ¦   «         }|rt          d|› d�¦  «        ‚d S )NzClassifier fit failed with z values too high)r-  rÉ  rµ   )r\   rl   rŽ   Únum_values_too_highs       r]   re   z"DataDependentFailingClassifier.fitA  sO   € Ø  4Ô#3Ò3×8Ò8Ñ:Ô:ÐØð 	ÝØSÐ.AÐSÐSÐSñô ð ð	ð 	r_   c                 ó   — dS )NrÆ  r~   rr   s      r]   rt   z$DataDependentFailingClassifier.scoreH  s   € Øˆsr_   rh   rx   )rz   r{   r|   r^   re   rt   r~   r_   r]   r*  r*  =  sP   € € € € € ð'ð 'ð 'ð 'ðð ð ð ðð ð ð ð ð r_   r*  rá   c                 óh  — t          d¬¦  «        }t          j        dd¦  «        }t          j        d¦  «        }|||g}d| dœ}d}t	          j        d	|d
         › d|› �t          j        ¬¦  «        }t          j        t          |¬¦  «        5  t          |i |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r,  rž   rÓ   r‹  r®   ©rÜ   rá   z8ValueError: Classifier fit failed with 1 values too highzh2 fits failed.+total of 3.+The score on these train-test partitions for these parameters will be set to rá   z.+©Úflagsrý   )r*  r·   rÐ  r£  ÚreÚcompileÚDOTALLrç   r  r   r0   )rá   r!  rl   rŽ   Úcross_validate_argsÚcross_validate_kwargsÚindividual_fit_error_messager  s           r]   Ú-test_cross_validate_some_failing_fits_warningr;  L  sE  € õ 1¸QÐ?Ñ?Ô?€Kå
Œ	�!�RÑÔ€AÝ
Œ�‰
Œ
€Aà&¨¨1Ð-ÐØ#$°[ÐAÐAÐð 	Cð !õ ”jðWà% mÔ4ðWð Wà8TðWð Wõ Œiðñ ô €Oõ 
ŒÕ&¨oÐ	>Ñ	>Ô	>ð Fð FÝÐ+ÐEÐ/DÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fó   ÂB'Â'B+Â.B+c                 óh  — t          t           j        ¦  «        }t          j        dd¦  «        }t          j        d¦  «        }|||g}d| dœ}d}t          j        d|› �t
          j        ¬¦  «        }t          j	        t          |¬	¦  «        5  t          |i |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )
Nrž   rÓ   r‹  r  r2  z1ValueError: Failing classifier failed as requiredz4All the 7 fits failed.+your model is misconfigured.+r3  rý   )r8   r   r·   rÐ  r£  r5  r6  r7  rç   rè   rµ   r0   )rá   r!  rl   rŽ   r8  r9  r:  rd  s           r]   Ú*test_cross_validate_all_failing_fits_errorr>  h  s'  € õ $Õ$5Ô$GÑHÔH€Kå
Œ	�!�RÑÔ€AÝ
Œ�‰
Œ
€Aà&¨¨1Ð-ÐØ#$°[ÐAÐAÐà#VÐ Ý”Jð.Ø+ð.ð .õ Œiðñ ô €Mõ 
Œ•z¨Ð	7Ñ	7Ô	7ð Fð FÝÐ+ÐEÐ/DÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fr<  c                 ó    — t          |¦  «        ‚rh   )rµ   )r  rl   rŽ   Ú	error_msgs       r]   Ú_failing_scorerrA  €  s   € Ý
�YÑ
Ô
Ðr_   zignore:lbfgs failed to convergerß   c           	      ó  — t          d¬¦  «        \  }}t          d¬¦  «                             ||¦  «        }d}t          t          |¬¦  «        }| dk    rKt          j        t          |¬¦  «        5  t          |||d	|| ¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d| › �}t          j	        t          |¬¦  «        5  t          |||d	|| ¬
¦  «        }t          || ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTrñ   rÏ   ©rr  ú"This scorer is supposed to fail!!!©r@  rß   rý   r®   )rÜ   r   rá   r  )r   r   re   r   rA  rç   rè   rµ   r/   r  r  rM   )rá   rl   rŽ   ré   r@  Úfailing_scorerÚwarning_msgrë   s           r]   Ú#test_cross_val_score_failing_scorerrH  „  s¼  € õ
  Ð%Ñ%Ô%�D€A€qÝ
 aÐ
(Ñ
(Ô
(×
,Ò
,¨Q°Ñ
2Ô
2€Cà4€IÝ�_¸	ÐBÑBÔB€Nà�gÒÐÝŒ]�:¨YÐ7Ñ7Ô7ð 	ð 	ÝØ�Q˜˜a¨À[ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð=Ø/:ð=ð =ð 	õ Œ\�+¨[Ð9Ñ9Ô9ð 	1ð 	1Ý$Ø�Q˜˜a¨À[ðñ ô ˆFõ ˜F KÑ0Ô0Ð0ð		1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s$   Á1BÂBÂBÃ&C4Ã4C8Ã;C8r>  Úwith_multimetricc           
      ó²  — t          d¬¦  «        \  }}t          d¬¦  «                             ||¦  «        }d}t          t          |¬¦  «        }|rt          t          ¦  «        }|||dœ}	n|}	| dk    rLt          j        t          |¬	¦  «        5  t          |||d
|	|| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d| › �}
t          j        t          |
¬	¦  «        5  t          |||d
|	|| ¬¦  «        }|D ]C}d|v r=d|v r#||         D ]}t          |t          ¦  «        sJ ‚ŒŒ-t          ||         | ¦  «         ŒD	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrñ   rÏ   rC  rD  rE  )Úscore_1Úscore_2Úscore_3rß   rý   r®   )rÜ   r   r>  rá   r  r6   Ú_score_2)r   r   re   r   rA  r   r    rç   rè   rµ   r0   r  r  rÖ   rq   rM   )rá   r>  rI  rl   rŽ   ré   r@  rF  Únon_failing_scorerr   rG  r  r‘   r  s                 r]   Ú"test_cross_validate_failing_scorerrP     sz  € õ  Ð%Ñ%Ô%�D€A€qÝ
 aÐ
(Ñ
(Ô
(×
,Ò
,¨Q°Ñ
2Ô
2€Cà4€IÝ�_¸	ÐBÑBÔB€NØð !Ý(Õ);Ñ<Ô<Ðà%Ø)Ø%ð
ð 
ˆˆð !ˆà�gÒÐÝŒ]�:¨YÐ7Ñ7Ô7ð 		ð 		ÝØØØØØØ#5Ø'ðñ ô ð ð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		ð=Ø/:ð=ð =ð 	õ Œ\�+¨[Ð9Ñ9Ô9ð 	Cð 	CÝ$ØØØØØØ#5Ø'ðñ ô ˆGð ð 
Cð 
C�Ø˜s�?�?Ø! SÐ(Ð(ð ")¨¤ð 8ð 8˜AÝ#-¨aµÑ#7Ô#7Ð7Ð7Ð#7Ð7ð8õ
 (¨°¬°kÑBÔBÐBøð
Cð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cs%   ÂB4Â4B8Â;B8Ã!AEÅEÅEc                 ó   — dS )Ng;pÎˆÒ^@r~   )r  ÚjrK  s      r]   Úthree_params_scorerrS  á  s   € Øˆ6r_   z:train_score, scorer, verbose, split_prg, cdt_prg, expectedrÍ   )rž   r®   ©r   rž   zS\[CV\] END .................................................... total time=   0.\ds)Úsc1Úsc2)Úscorersr®   ze\[CV 2/3\] END  sc1: \(train=3.421, test=3.421\) sc2: \(train=3.421, test=3.421\) total time=   0.\dsrÓ   zW\[CV 2/3; 1/1\] END ....... sc1: \(test=3.421\) sc2: \(test=3.421\) total time=   0.\dsc                 óø  — t          dd¬¦  «        \  }}t          dd¬¦  «        }	t          t          ¦   «                              |¦  «        ¦  «        \  }
}t          |	||||
||d d d |||¬¦  «        }t          d
i |¤Ž |                      ¦   «         \  }}|                     d¦  «        }t          |¦  «        dk    rt          j
        ||d	         ¦  «        sJ ‚d S t          j
        ||d         ¦  «        sJ ‚d S )Nr  r   r   r"  r#  )r  rl   rŽ   r×  r9  r:  rc  r  r§  r  r>  Úsplit_progressÚcandidate_progressú
rÍ   rž   r~   )r   r?   r&  r,   r'  r  r5   rd  r³   r5  rþ   )rf  r?  r×  rc  Ú	split_prgÚcdt_prgÚexpectedrl   rŽ   ré   r9  r:  r"  re  rÓ  Úoutliness                   r]   Útest_fit_and_score_verbosityr`  å  s  € õN ¨¸!Ð<Ñ<Ô<�D€A€qÝ
�X¨AÐ
.Ñ
.Ô
.€CÝ•|‘~”~×+Ò+¨AÑ.Ô.Ñ/Ô/�K€Eˆ4õ ØØ
Ø
ØØØØØØØØ&Ø Ø"ðñ ô Ðõ Ð(Ð(Ð'Ð(Ð(Ð(Ø×ÒÑ Ô �F€CˆØ�yŠy˜‰Œ€HÝ
ˆ8�}„}�qÒÐÝŒx˜ (¨1¤+Ñ.Ô.Ð.Ð.Ð.Ð.Ð.åŒx˜ (¨1¤+Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r_   c            	      ó¶   — d} d„ }t          j        t          | ¬¦  «        5  t          d d d |d t          j        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz&scoring must return a number, got Nonec                 ó   — d S rh   r~   )r  ÚX_tests     r]   Útwo_params_scorerz%test_score.<locals>.two_params_scorer,	  s   € Øˆtr_   rý   )r  rc  r«  r×  r  rá   )rç   rè   rµ   r6   r·   r  )rd  rd  s     r]   r@  r@  )	  s¼   € Ø<€Mðð ð õ 
Œ•z¨Ð	7Ñ	7Ô	7ð 
ð 
ÝØØØØ$ØÝœð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ¡ AÁAÁAc                  óî   — d„ } t          ddd¬¦  «        \  }}t          d¬¦  «        }|                     ||¦  «         t          |||d| ¬¦  «        }g d	¢}|D ]}d
                     |¦  «        |v sJ ‚Œd S )Nc                 óŠ   — |                       |¦  «        }t          ||¦  «        }|d         |d         |d         |d         dœS )N)r   r   rT  )rž   r   )rž   rž   ©ÚtnÚfpÚfnÚtp)rm   r   )ré   rl   rŽ   rQ  Úcms        r]   rR  zPtest_callable_multimetric_confusion_matrix_cross_validate.<locals>.custom_scorer;	  sB   € Ø—’˜Q‘”ˆÝ˜a Ñ(Ô(ˆØ˜”h b¨¤h°b¸´hÀbÈÄhÐOÐOÐOr_   é(   rÎ   r™  )r!  r½  rü   rû   rÏ   )rÜ   r   rg  ztest_{})r   r@   re   r0   r¶   )rR  rl   rŽ   r1  r]  Úscore_namesr  s          r]   Ú9test_callable_multimetric_confusion_matrix_cross_validatero  :	  s­   € ðPð Pð Põ
 ¨¸ÈÐKÑKÔK�D€A€qÝ
 Ð
$Ñ
$Ô
$€CØ‡G‚GˆAˆq�M„M€MÝ  Q¨¨a¸ÐGÑGÔG€Jà*Ð*Ð*€KØð 4ð 4ˆØ×Ò Ñ%Ô%¨Ð3Ð3Ð3Ð3Ð3ð4ð 4r_   c                  ól   — t          d¬¦  «        \  } }t          t          ¦   «         | |dd¬¦  «         dS )z^Check that regressors with partial_fit is supported.

    Non-regression test for #22981.
    r™  rû   TrÍ   )ri  rÜ   N)r   r1   r;   )rl   rŽ   s     r]   Ú*test_learning_curve_partial_fit_regressorsrq  J	  s=   € õ
 ¨Ð+Ñ+Ô+�D€A€qõ •<‘>”> 1 aÀdÈqÐQÑQÔQÐQÐQÐQr_   c                 ó  — t          dddd| ¬¦  «        \  }}t          j        |¦  «        }||         ||         }}t          ¦   «         }d}t	          j        t          |¬¦  «        5  t          |||dt          j        ¬	¦  «        ^}}}}d
d
d
¦  «         n# 1 swxY w Y   t          d¦  «        D ]^}	t          j
        ||	         ¦  «                             ¦   «         sJ ‚t          j
        ||	         ¦  «                             ¦   «         sJ ‚Œ_t          d|j        d         ¦  «        D ]^}	t          j
        ||	         ¦  «                             ¦   «         rJ ‚t          j
        ||	         ¦  «                             ¦   «         rJ ‚Œ_d
S )zKChecks for fit failures in `learning_curve` and raises the required warningr  r®   rÐ   F)r!  ra  r¾  rF   rü   z#10 fits failed out of a total of 25rý   rÏ   r2  NrÍ   r   )r   r·   r   r?   rç   r  r   r1   r  râ   Úisnanr  rb   Úany)
Úglobal_random_seedrl   rŽ   Ú
sorted_idxÚsvcr  rÓ  r?  r@  rÓ  s
             r]   Ú-test_learning_curve_some_failing_fits_warningrx  U	  sÐ  € õ ØØØØØ'ðñ ô �D€A€qõ ”˜A‘”€JØˆZŒ=˜!˜Jœ-€q€Aå
‰%Œ%€CØ;€Oå	ŒÕ&¨oÐ	>Ñ	>Ô	>ð 
ð 
Ý)7Ø��A˜!­¬ð*
ñ *
ô *
Ð&ˆˆ;˜
 Qð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ �Q‰xŒxð /ð /ˆÝŒx˜ CÔ(Ñ)Ô)×-Ò-Ñ/Ô/Ð/Ð/Ð/ÝŒx˜
 3œÑ(Ô(×,Ò,Ñ.Ô.Ð.Ð.Ð.Ð.å�Q˜Ô)¨!Ô,Ñ-Ô-ð 3ð 3ˆÝ”8˜K¨Ô,Ñ-Ô-×1Ò1Ñ3Ô3Ð3Ð3Ð3Ý”8˜J sœOÑ,Ô,×0Ò0Ñ2Ô2Ð2Ð2Ð2Ð2ð3ð 3s   Á'#BÂBÂBc                 ó®  — t          d¬¦  «        \  }}t          |¦  «        }t          ¦   «         }t          dd| ¬¦  «        }t	          ||||dd¬¦  «        }d|vsJ ‚t	          ||||dd¬¦  «        }d|v sJ ‚|d         d	         }|d         d
         }t          |¦  «        |j        k    sJ ‚t          |¦  «        |j        k    sJ ‚t          d„ |D ¦   «         d¦  «         t          d„ |D ¦   «         d¦  «         t          | 	                    ||¦  «        ¦  «        D ]4\  }\  }	}
t          ||         |	¦  «         t          ||         |
¦  «         Œ5dS )z<Check the behaviour of `return_indices` in `cross_validate`.Trñ   r®   )r  rF   rü   rÍ   F)rÜ   r÷   Úreturn_indicesÚindicesr9  r:  c                 ó   — g | ]	}|j         ‘Œ
S r~   rõ  ©r  r{  s     r]   rË  z6test_cross_validate_return_indices.<locals>.<listcomp>‡	  s   € ÐBÐBÐB¨˜œÐBÐBÐBr_   rÌ  c                 ó   — g | ]	}|j         ‘Œ
S r~   rõ  r}  s     r]   rË  z6test_cross_validate_return_indices.<locals>.<listcomp>ˆ	  s   € ÐAÐAÐA¨˜œÐAÐAÐAr_   r  N)
r   r>   r   r(   r0   r³   r  rP   rC  r'  )ru  rl   rŽ   r  rÜ   r]  Útrain_indicesÚtest_indicesÚ	split_idxÚexpected_train_idxÚexpected_test_idxs              r]   Ú"test_cross_validate_return_indicesr„  v	  s™  € å Ð%Ñ%Ô%�D€A€qÝˆa‰Œ€AÝ"Ñ$Ô$€Iå	˜ 4Ð6HÐ	IÑ	IÔ	I€BÝ 	¨1¨a°B¸qÐQVÐWÑWÔW€JØ˜JÐ&Ð&Ð&Ð&å 	¨1¨a°B¸qÐQUÐVÑVÔV€JØ˜
Ð"Ð"Ð"Ð"Ø˜yÔ)¨'Ô2€MØ˜iÔ(¨Ô0€LÝˆ}ÑÔ ¤Ò,Ð,Ð,Ð,Ýˆ|ÑÔ ¤Ò+Ð+Ð+Ð+åÐBÐB°MÐBÑBÔBÀCÑHÔHÐHÝÐAÐA°LÐAÑAÔAÀ2ÑFÔFÐFå>GÈÏÊÐQRÐTUÉÌÑ>WÔ>Wð Gð GÑ:ˆ	Ñ:Ð&Ð(9Ý˜=¨Ô3Ð5GÑHÔHÐHÝ˜<¨	Ô2Ð4EÑFÔFÐFÐFðGð Gr_   zfunc, extra_argsÚalpharž   )r˜  r™  )Úenable_metadata_routingc           	      ó´   — t          j        t          d¬¦  «        5   | dt          ¦   «         t          t
          g dœ|¤Ž ddd¦  «         dS # 1 swxY w Y   dS )zƒCheck that we raise an error if `groups` are passed to the cv method instead
    of `params` when metadata routing is enabled.
    z`groups` can only be passed ifrý   )r  rl   rŽ   rÇ  Nr~   )rç   rè   rµ   rA   rl   rŽ   )rü  Ú
extra_argss     r]   Ú#test_groups_with_routing_validationr‰  “	  s¸   € õ  
Œ•zÐ)IÐ	JÑ	JÔ	Jð 
ð 
Øˆð 	
Ý)Ñ+Ô+ÝÝØð		
ð 	
ð
 ð	
ð 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   œ$AÁAÁAc                 ó`   — t          ddd¬¦  «        \  }} | dt          ¦   «         ||dœ|¤Ž dS )z¶Test that no errors are raised when passing `params=None`, which is the
    default value.
    Non-regression test for: https://github.com/scikit-learn/scikit-learn/issues/30447
    rÌ  rÍ   r   r`  )r  rl   rŽ   Nr~   )r   rA   )rü  rˆ  rl   rŽ   s       r]   Útest_cross_validate_params_noner‹  ­	  sH   € õ" ¨¸ÈÐJÑJÔJ�D€A€qØ€DÐAÕ&Ñ(Ô(¨A°ÐAÐA°jÐAÐAÐAÐAÐAr_   c           
      óR  — t          j        d¦  «        }t          j        t          |¬¦  «        5   | dt          ¦   «         t          t          t          g ¬¦  «        dœ|¤Ž ddd¦  «         n# 1 swxY w Y   | t          k    rdS t          j        d¦  «        }t          j        t          |¬¦  «        5   | dt          ¦   «          
                    d¬¦  «                             d¬¦  «        t          t          t          g ¬¦  «        dœ|¤Ž ddd¦  «         dS # 1 swxY w Y   dS )	zMCheck that we raise an error when passing metadata that is not
    requested.z€[metadata] are passed but are not explicitly set as requested or not requested for ConsumingClassifier.fit, which is used withinrý   )Úmetadata)r  rl   rŽ   r�   Nz‚[metadata] are passed but are not explicitly set as requested or not requested for ConsumingClassifier.score, which is used withinTr~   )r5  Úescaperç   rè   r   rA   rl   rã   r  r.   Úset_fit_requestÚset_partial_fit_request)rü  rˆ  rê  s      r]   Ú test_passed_unrequested_metadatar‘  Â	  sØ  € õ  Œið	Fñô €Gõ 
ŒÕ/°wÐ	?Ñ	?Ô	?ð 
ð 
Øˆð 	
Ý)Ñ+Ô+ÝÝÝ Ð$Ñ$Ô$ð		
ð 	
ð
 ð	
ð 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð Õ Ò Ð ØˆåŒið	Hñô €Gõ 
ŒÕ/°wÐ	?Ñ	?Ô	?ð 	
ð 	
Øˆð 	
Ý)Ñ+Ô+ßŠ_ dˆ_Ñ+Ô+ß$Ò$¨dÐ$Ñ3Ô3ÝÝÝ Ð$Ñ$Ô$ð	
ð 	
ð ð	
ð 	
ð 	
ð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
ð 	
ð 	
s$   °2A.Á.A2Á5A2Â5ADÄD Ä#D rÅ  r_  c                 ó  — t          ¦   «         }t          |¬¦  «                             dd¬¦  «        }t          ¦   «         }t          |¬¦  «                             dd¬¦  «        }t          ¦   «         }t          |¬¦  «                             dd	¬¦  «                             dd	¬¦  «        }t          t          ¦  «        }t          j                             d
¦  «        }	|	                     |¦  «        }
|	                     |¦  «        }|	                     d
d|¦  «        }|	                     |¦  «        }|	                     |¦  «        }|	                     |¦  «        }t          t!          t!          |d¬¦  «        ¬¦  «        t"          t!          |¬¦  «        t$          t!          |¬¦  «        t&          t!          |¬¦  «        t(          t!          |¬¦  «        t*          t!          ¦   «         i}t!          ||||¬¦  «        }| t*          ur|                     |
|¬¦  «          | |ft          t.          |dœ||          ¤|¤d|i¤Ž | t*          urt1          |¦  «        sJ ‚|D ]}t3          |ddd|
|¬¦  «         Œt1          |¦  «        sJ ‚dddœdddœdddœdddœdddœdddœdœ}|D ]'}t3          |d|| j                 d         ||¬¦  «         Œ(t1          |¦  «        sJ ‚|D ](}t3          |d || j                 d          d||¬¦  «         Œ)d!S )"z]Check that the respective cv method is properly dispatching the metadata
    to the consumer.©ÚregistryÚscore_weightsÚscore_metadata©r»   r�  Úsplit_groupsÚsplit_metadata)rÇ  r�  Úfit_sample_weightÚfit_metadatar   r®   r¶  )Ú	my_scorerr¶  rÿ   )r˜  r™  rš  r›  )r•  r–  )rl   rŽ   rÜ   r�   r6   Ú__call__©Úobjr  ÚparentÚsplit_paramsr»   r�  z	<genexpr>r5   )r'  re   r.   Ú_fit_and_predictr1   Ú_permutation_test_score)r0   r/   r.   r1   r2   r3   r'  )rŸ  r  r   rÇ  r�  re   N)rD   rB   Úset_score_requestrC   Úset_split_requestrA   r�  r�  rT   rl   r·   r@  rA  rB  Úrandintr0   r  r/   r1   r3   r2   r.   ÚupdaterŽ   r³   rE   rz   )rü  rˆ  Úscorer_registryr×  Úsplitter_registryÚsplitterÚestimator_registryr  r!  rD  r•  r–  r˜  r™  rš  r›  Úscoring_argsr�   Ú_scorerÚ
func_namesÚ	_splitterÚ
_estimators                         r]   Ú!test_validation_functions_routingr±  ó	  sæ  € õ  ‘k”k€OÝ oÐ6Ñ6Ô6×HÒHØ%Ð0@ð Iñ ô €Fõ "™œÐÝ Ð*;Ð<Ñ<Ô<×NÒNØÐ(8ð Oñ ô €Hõ #™œÐåÐ%7Ð8Ñ8Ô8ß	ŠÐ':À^ˆÑ	TÔ	Tß	 Ò	 Ø-¸ð 
!ñ 

ô 

ð õ �Q‘”€IÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ—H’H˜YÑ'Ô'€MØ—X’X˜iÑ(Ô(€NØ—;’;˜q ! YÑ/Ô/€LØ—X’X˜iÑ(Ô(€NØŸš Ñ+Ô+ÐØ—8’8˜IÑ&Ô&€Lõ 	�¥T°FÀZÐ%PÑ%PÔ%PÐQÑQÔQÝ� fÐ-Ñ-Ô-Ý� VÐ,Ñ,Ô,Ý�$ vÐ.Ñ.Ô.Ý¥¨VÐ 4Ñ 4Ô 4Ý�4™6œ6ð€Lõ Ø!Ø%Ø+Ø!ð	ñ ô €Fð Õ$Ð$Ð$Ø�ŠØ'Ø)ð 	ñ 	
ô 	
ð 	
ð
 	€DØðå
Ý
Øð	ð ð
 �tÔ
ðð ðð ð ðð ð ð ð Õ$Ð$Ð$å�?Ñ#Ô#Ð#Ð#Ð#Ø"ð 
ð 
ˆÝØØØØ6Ø'Ø#ð	
ñ 	
ô 	
ð 	
ð 	
õ Ð Ñ!Ô!Ð!Ð!Ð!à$/Ð8HÐIÐIØ%0Ð9IÐJÐJØ':ÐCUÐVÐVØ$4Ð=MÐNÐNà.Ø,ð#
ð #
ð '2Ð:JÐKÐKð
ð 
€Jð 'ð 
ð 
ˆ	ÝØØØ˜dœmÔ,¨WÔ5ØØ#ð	
ñ 	
ô 	
ð 	
ð 	
õ Ð!Ñ"Ô"Ð"Ð"Ð"Ø(ð 
ð 
ˆ
ÝØØØ˜dœmÔ,¨UÔ3Ø6Ø+Ø!ð	
ñ 	
ô 	
ð 	
ð 	
ð
ð 
r_   c                  óð  — t          t          ¦  «        } t          j                             d¦  «        }|                     | ¦  «        }|                     | ¦  «        }t          ¦   «         }t          |¬¦  «                             dd¬¦  «        }t          |t          t          t          ¦   «         dt          ||¬¦  «        ¬¦  «         t          |¦  «        sJ ‚|D ]}t          |d	d
d||¬¦  «         ŒdS )zŠTest that learning_curve routes metadata to the estimator correctly while
    partial_fitting it with `exploit_incremental_learning=True`.r   r“  rš  r›  r—  T)rš  r›  )rl   rŽ   rÜ   ri  r�   r“   Ú_incremental_fit_estimatorrž  N)rT   rl   r·   r@  rA  rB  rD   rA   r�  r1   rŽ   rC   r  r³   rE   )r!  rD  rš  r›  r«  r  r°  s          r]   Ú8test_learning_curve_exploit_incremental_learning_routingr´  j
  s"  € õ
 �Q‘”€IÝ
Œ)×
Ò
 Ñ
"Ô
"€CØŸš Ñ+Ô+ÐØ—8’8˜IÑ&Ô&€Lå"™œÐÝ#Ø#ðñ ô çÒØ)°Nð ñ ô ð õ ØÝ
Ý
ÝÑÔØ%)ÝÐ&7ÀlÐSÑSÔSðñ ô ð õ Ð!Ñ"Ô"Ð"Ð"Ð"Ø(ð 
ð 
ˆ
ÝØØ Ø/Ø6Ø+Ø!ð	
ñ 	
ô 	
ð 	
ð 	
ð
ð 
r_   r  r   r   )ÚidsrÜ   )Nr®   rÏ   z"namespace, device_name, dtype_namec                 ó\  — t          |||¦  «        \  }}t          | ¦  «        rt          ddddd¬¦  «        \  }}nt          dddd¬¦  «        \  }}|                     |¦  «        }	|                     |¦  «        }
|                     |	|¬¦  «        }|                     |
|¬¦  «        }t          d¬	¦  «        5  t          | |||¬
¦  «        }ddd¦  «         n# 1 swxY w Y   t          | |	|
|¬
¦  «        }t          t          |t          d¬¦  «        |t          |¦  «        ¬¦  «         dS )zpTest that `cross_val_predict` functions correctly with the array API
    with both a classifier and a regressor.iè  rÏ   r®   r™  )r!  r½  ra  r¾  rü   r¼  )ÚdeviceT)Úarray_api_dispatchrÛ   NÚcpu)Úxpr·  )Úatol)rL   r
   r   r   r·  Úasarrayr   r.   rM   rH   r·   rG   )r  rÜ   Ú	namespaceÚdevice_nameÚ
dtype_namerº  r·  rl   rŽ   ÚX_npÚy_npÚX_xpÚy_xpÚpred_xpÚpred_nps                  r]   Ú+test_cross_val_predict_array_api_compliancerÆ  ”
  s¤  € õ  & i°¸jÑIÔI�J€BˆÝ�YÑÔð 
Ý"Ø q°AÀQÐUWð
ñ 
ô 
‰ˆˆ1ˆ1õ Ø q¸Èð
ñ 
ô 
‰ˆˆ1ð �8Š8�JÑÔ€DØ�8Š8�JÑÔ€DØ�:Š:�d 6ˆ:Ñ*Ô*€DØ�:Š:�d 6ˆ:Ñ*Ô*€Då	¨4Ð	0Ñ	0Ô	0ð Bð BÝ# I¨t°T¸bÐAÑAÔAˆðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bõ   	¨4°¸"Ð=Ñ=Ô=€GÝÝ��B uÐ-Ñ-Ô-¨w½^ÈJÑ=WÔ=Wðñ ô ð ð ð s   Â:CÃCÃ!C)âr}   r  r5  r  r±  Ú	functoolsr   Útimer   Únumpyr·   rç   Úscipy.sparser   Úsklearnr   Úsklearn.baser   r   r	   r
   Úsklearn.clusterr   Úsklearn.datasetsr   r   r   r   r   r   Úsklearn.discriminant_analysisr   Úsklearn.ensembler   Úsklearn.exceptionsr   r   Úsklearn.imputer   Úsklearn.linear_modelr   r   r   r   Úsklearn.metricsr   r   r   r   r   r    r!   r"   r#   Úsklearn.metrics._scorerr$   Úsklearn.model_selectionr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Ú#sklearn.model_selection._validationr4   r5   r6   Ú$sklearn.model_selection.tests.commonr7   Ú)sklearn.model_selection.tests.test_searchr8   Úsklearn.multiclassr9   Úsklearn.neighborsr:   Úsklearn.neural_networkr;   Úsklearn.pipeliner<   Úsklearn.preprocessingr=   r>   Úsklearn.svmr?   r@   Ú%sklearn.tests.metadata_routing_commonrA   rB   rC   rD   rE   Úsklearn.utilsrF   Úsklearn.utils._array_apirG   rH   rI   Úsklearn.utils._mockingrJ   rK   Úsklearn.utils._testingrL   rM   rN   rO   rP   Úsklearn.utils.estimator_checksrQ   Úsklearn.utils.fixesrR   rS   Úsklearn.utils.validationrT   rV   r€   r—   r¡   r§   r£  rl   r)  rŽ   rã   r¡  r¹   ÚmarkÚparametrizerï   rù   r  r  r  r„  r;  r*  r+  re  r|  r�  r–  r¨  r³  rº  rÃ  rØ  rã  rë  rí  rþ  r  r"  r'  r*  r1  r5  r>  rG  rI  r^  ra  rg  rk  rn  rp  rz  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>  rA  ÚfilterwarningsrH  rP  rS  r`  r@  ro  rq  rx  r„  r‰  r‹  r‘  r±  r´  rÆ  r~   r_   r]   ú<module>rë     s¥  ðØ  Ð  à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø !Ð !Ð !Ð !Ð !Ð !à "Ð "Ð "Ð "Ð "Ð "Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð EÐ DÐ DÐ DÐ DÐ DØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"ð ð ð ð ð ð ð ð ð ð
 AÐ @Ð @Ð @Ð @Ð @Ø GÐ GÐ GÐ GÐ GÐ GØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø /Ð /Ð /Ð /Ð /Ð /Ø %Ð %Ð %Ð %Ð %Ð %Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð
 EÐ DÐ DÐ DÐ DÐ DÐ DÐ Dðð ð ð ð ð ð ð ð ð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ð"ð "ð "ð "ð "˜]ñ "ô "ð "ð6ð ð ð ð Ð(>ñ ô ð ð<"ð "ð "ð "ð " ñ "ô "ð "ð,	"ð 	"ð 	"ð 	"ð 	"Ð,Fñ 	"ô 	"ð 	"ðS8ð S8ð S8ð S8ð S8�_ mñ S8ô S8ð S8ðp €B„GˆGÑÔ€Ø€B„HÐ:Ð:Ð:Ñ;Ô;€ð €R„XÐ;Ð;Ð;Ñ<Ô<€Ø
€B„Fˆ1�I„I€ð „×Ò˜¨.Ñ9Ô9ð%<ð %<ñ :Ô9ð%<ðP)ð )ð )ð1Lð 1Lð 1Lðh*ð *ð *ðLð Lð Lð& „×Ò˜¨¨t }Ñ5Ô5Ø„×Ò˜¨.Ñ9Ô9ð4A Dð 4Að 4Að 4Añ :Ô9ñ 6Ô5ð4Aðn?Mð ?Mð ?MðDF9ð F9ð F9ðR>ð >ð >ð,0ð 0ð 0ð&5ð 5ð 5ð&8ð 8ð 8ð6 „×Ò˜¨.Ñ9Ô9ð 3ð  3ñ :Ô9ð 3ðF&ð &ð &ð Jð Jð Jð&Lð Lð Lð0 „×Ò˜¨.Ñ9Ô9ð?ð ?ñ :Ô9ð?ðD$ð $ð $ðMð Mð Mðð ð ðHð Hð Hð< „×Ò˜¨.Ñ9Ô9ð5
ð 5
ñ :Ô9ð5
ðp-Wð -Wð -Wð`	#ð 	#ð 	#ð	#ð 	#ð 	#ð „×Ò˜¨.Ñ9Ô9ð22ð 22ñ :Ô9ð22ðj2ð 2ð 2ð$Tð Tð Tð,
$ð 
$ð 
$ð „×Ò˜¨.Ñ9Ô9ð&ð &ñ :Ô9ð&ð:=ð :=ð :=ðzSð Sð Sð&9ð 9ð 9ðKð Kð Kð Wð Wð Wð4Sð Sð Sð0$ð $ð $ðNCð Cð Cð.,ð ,ð ,ð,Sð Sð Sð(Mð Mð Mð`ð ð ð&
ð 
ð 
ð0Ið Ið Ið6ð ð ð,+Dð +Dð +Dð\#ð #ð #ðL=ð =ð =ð „×Ò˜¨.Ñ9Ô9ð3ð 3ñ :Ô9ð3ð$
ð 
ð 
ð*
ð 
ð 
ð81Eð 1Eð 1Eðh:ð :ð :ð>ð >ð >ðIð Ið Ið
>ð >ð >ð>ð >ð >ðAð Að Að	ð 	ð 	ð 	ð 	Ð3ñ 	ô 	ð 	ðIð Ið Ið"Bð Bð BðIð Ið Ið" ð  ð  ð(%Eð %Eð %EðPð ð ð41ð 1ð 1ð(&ð &ð &ð6Dð Dð Dð,ð ð ð ð  ]ñ ô ð ð „×Ò˜¨¬°¨Ñ4Ô4ðFð Fñ 5Ô4ðFð6 „×Ò˜¨¬°¨Ñ4Ô4ðFð Fñ 5Ô4ðFð. ð  ð  ð „×ÒÐ=Ñ>Ô>Ø„×Ò˜¨¬°°GÐ(<Ñ=Ô=ð1ð 1ñ >Ô=ñ ?Ô>ð1ð4 „×ÒÐ=Ñ>Ô>Ø„×Ò˜¨¬°°GÐ(<Ñ=Ô=Ø„×ÒÐ-°°e¨}Ñ=Ô=Ø„×ÒÐ+¨e°T¨]Ñ;Ô;ð:Cð :Cñ <Ô;ñ >Ô=ñ >Ô=ñ ?Ô>ð:Cðzð ð ð „×ÒØ@ð ØØØØð$ð	
ð ØÐØ 3Ð<OÐPÐPðñ ô ð ØØð?ð
	
ð ØÐØ 3Ð<OÐPÐPðñ ô ð ØØð$ð
	
ð+ ñ#ô #ðH/ð /ñI#ô #ðH/ð@
ð 
ð 
ð"4ð 4ð 4ð Rð Rð Rð3ð 3ð 3ðBGð Gð Gð: „×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ä(ÈAÈ3Á-Ä-ÐPÐPÐQðñ
ô 
ð €¨Ð-Ñ-Ô-ð
ð 
ñ .Ô-ñ
ô 
ð
ð „×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ä(ÈAÈ3Á-Ä-ÐPÐPÐQðñ
ô 
ð €¨Ð-Ñ-Ô-ðBð Bñ .Ô-ñ
ô 
ðBð „×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ä(ÈAÈ3Á-Ä-ÐPÐPÐQðñ
ô 
ð €¨Ð-Ñ-Ô-ð"
ð "
ñ .Ô-ñ
ô 
ð"
ðJ „×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	Ð"2°BÐ!7Ð8Ø	¨'À(À"Ä(ÈAÈ3Á-Ä-ÐPÐPÐQðñ
ô 
ð €¨Ð-Ñ-Ô-ðh
ð h
ñ .Ô-ñ
ô 
ðh
ðV €¨Ð-Ñ-Ô-ð"
ð "
ñ .Ô-ð"
ðR „×ÒØØ
€U�W„WÐ(Ð(Ñ*Ô*Ð+Ø	Ð.Ð/ð ñ ô ð
 „×Ò˜˜|˜|˜|Ñ,Ô,Ø„×ÒØ(Ø-Ð-Ñ/Ô/ñô ðð ñ	ô ñ -Ô,ñô ðð ð r_   