Ë
    8Ò^jø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                  �j                  d1ev«      d2„ «       Zˆd3„ Z‰d4„ ZŠd5„ Z‹d6„ ZŒe�j                  �j                  d7d8d9g«      e�j                  �j                  d:ew«      d7e�fd;„«       «       ZŽd<„ Z�d=„ Z�d>„ Z‘d?„ Z’d@„ Z“dA„ Z”e�j                  �j                  d1ev«      dB„ «       Z•dC„ Z–dD„ Z—dE„ Z˜e�j                  �j                  d1ev«      dF„ «       Z™dG„ ZšdH„ Z›dI„ ZœdJ„ Z�e�j                  �j                  d1ev«      dK„ «       ZždL„ ZŸdM„ Z dN„ Z¡e�j                  �j                  d1ev«      dO„ «       Z¢dP„ Z£dQ„ Z¤dR„ Z¥e�j                  �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                  �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                  �j                  d}e
�jœ                  dg«      d~„ «       ZÏe�j                  �j                  d}e
�jœ                  dg«      d„ «       ZÐd€„ ZÑe�j                  �j¥                  d�«      e�j                  �j                  d}e
�jœ                  dd‚g«      dƒ„ «       «       ZÓe�j                  �j¥                  d�«      e�j                  �j                  d}e
�jœ                  dd‚g«      e�j                  �j                  d„d9d8g«      e�j                  �j                  d…d8d9g«      d†„ «       «       «       «       ZÔd‡„ ZÕe�j                  �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                  �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                  �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                  �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                  �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                  �j                  d¥ e)«        e«       gd¦d§g¬¨«      e�j                  �j                  d©g dª¢«      e�j                  �j                  d« ei«       «      d¬„ «       «       «       Záy)­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                   ó2   — e Zd ZdZd„ Zdd„Zd„ Zd	d„Zd„ Zy)
ÚMockImprovingEstimatorz+Dummy classifier to test the learning curvec                 ó.   — || _         d| _        d | _        y ©Nr   )Ún_max_train_sizesÚtrain_sizesÚX_subset)ÚselfrY   s     úx/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/sklearn/model_selection/tests/test_validation.pyÚ__init__zMockImprovingEstimator.__init__j   s   € Ø!2ˆÔØˆÔØˆ�ó    Nc                 ó<   — || _         |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                 ó²   — | j                  |«      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   sM   € à×!Ñ! !Ô$Øœ˜t×/Ñ/Ó0°4×3IÑ3IÑIÑIÐIä˜×)Ñ)Ó*¨T×-CÑ-CÑCÐCr_   c                 ó   — || j                   u S rh   ©r[   rk   s     r]   rp   z(MockImprovingEstimator._is_training_data~   ó   € Ø�D—M‘MÐ!Ð!r_   rh   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r^   re   rm   rt   rp   © r_   r]   rV   rV   g   s   „ Ù5òó
ò
"ó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_fitc                 ó@   •— t         ‰| �  |«       d | _        || _        y rh   )Úsuperr^   ÚxÚexpected_fit_params)r\   rY   r„   Ú	__class__s      €r]   r^   z*MockIncrementalImprovingEstimator.__init__…   s    ø€ Ü‰ÑÐ*Ô+ØˆŒØ#6ˆÕ r_   c                 ó   — | j                   |v S rh   ©rƒ   rk   s     r]   rp   z3MockIncrementalImprovingEstimator._is_training_dataŠ   s   € Ø�v‰v˜ˆ{Ðr_   c                 ó¶  — | xj                   |j                  d   z  c_         |d   | _        | j                  r¡t	        | j                  «      t	        |«      z
  }|rt        dt        |«      › d�«      ‚|j                  «       D ]R  \  }}|| j                  v sŒt        |«      t        |«      k7  sŒ-t        d|› dt        |«      › dt        |«      › d�«      ‚ y y )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™G A™JÑ&ÕØ�1‘ˆŒØ×#Ò#Ü˜$×2Ñ2Ó3´c¸&³kÑAˆGÙÜ$Ø0´°g³°¸zÐJóð ð %Ÿl™l›nò ‘
��UØ˜$×2Ñ2Ò2´|Øó8ä! !“_ó8%ô )Ø(¨¨¨\¼,ÀuÓ:MÐ9NØ%¤l°1£oÐ%6°að9óð ñ	ð $r_   rh   )rz   r{   r|   r}   r^   rp   r“   Ú__classcell__©r…   s   @r]   r€   r€   ‚   s   ø„ Ù4õ7ò
÷r_   r€   c                   ó2   — e Zd ZdZdd„Zd„ Zd„ Zd	d„Zd„ Zy)
ÚMockEstimatorWithParameterz-Dummy classifier to test the validation curvec                 ó    — d | _         || _        y rh   )r[   Úparam)r\   r™   s     r]   r^   z#MockEstimatorWithParameter.__init__£   s   € ØˆŒØˆ�
r_   c                 ó<   — || _         |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                 óZ   — | j                  |«      r| j                  S d| j                  z
  S )Né   )rp   r™   )r\   rl   rŽ   s      r]   rt   z MockEstimatorWithParameter.score¯   s&   € Ø!×3Ñ3°AÔ6ˆt�z‰zÐJ¸AÀÇ
Á
¹NÐJr_   c                 ó   — || j                   u S rh   rv   rk   s     r]   rp   z,MockEstimatorWithParameter._is_training_data²   rw   r_   )ç      à?rx   ry   r~   r_   r]   r—   r—       s   „ Ù7óòò
"ó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                 óX   •— 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¹   s2   ø€ Ü˜4 Ô/ÐPÐ1PÓPÐ/ØˆÔÜ‰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¡   ¶   s   ø„ ÙFô/ö
"r_   r¡   c                   óN   — e Zd ZdZd	d„Z	 	 	 	 	 	 	 	 	 d
d„Zd„ Zd„ Zdd„Zdd„Z	y)ÚMockClassifierz-Dummy classifier to test the cross-validationc                 ó    — || _         || _        y rh   ©ÚaÚallow_nd)r\   rª   r«   s      r]   r^   zMockClassifier.__init__Å   s   € ØˆŒØ ˆ�r_   Nc           	      óB  — || _         || _        |	| _        |
� |
| «       | j                  r|j	                  t        |«      d«      }|j                  dk\  r| j                  st        d«      ‚|�P|j                  d   |j                  d   k(  s1J dj                  |j                  d   |j                  d   «      «       ‚|�v|j                  d   t        t        j                  t        «      «      k(  sDJ dj                  |j                  d   t        t        j                  t        «      «      «      «       ‚|�Rd}|j                  d   |j                  d   k(  s1J |j                  |j                  d   |j                  d   «      «       ‚|�td}|j                  t        j                  k(  sUJ |j                  |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
        éÿÿÿÿé   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ø  € ð( #ˆŒØ"ˆŒØ"ˆŒØÐÙ�TŒNà�=Š=Ø—	‘	œ#˜a›& "Ó%ˆAØ�6‰6�QŠ;˜tŸ}š}Ü˜_Ó-Ð-ØÐ$Ø ×&Ñ& qÑ)¨Q¯W©W°Q©ZÒ7ð ð?ß?E¹vØ!×'Ñ'¨Ñ*¨A¯G©G°A©Jó@óÐ7ð Ð"Ø×$Ñ$ QÑ'¬3¬r¯y©y¼«|Ó+<Ò<ð ð)ß)/©°×0AÑ0AÀ!Ñ0DÄcÌ"Ï)É)ÔTUË,ÓFWÓ)XóÐ<ð  Ð+ð2ð ð (×-Ñ-¨aÑ0°A·G±G¸A±JÒ>ð ÀÇ
Á
Ø$×*Ñ*¨1Ñ-¨q¯w©w°q©zóAó Ð>ð Ð#ð6ð ð  ×%Ñ%¬¯©Ò0ð °#·*±*Ø×"Ñ" 1Ñ%Ø×"Ñ" 1Ñ%Ü—‘˜‘
Ü—‘˜‘
ó	3ó Ð0ô Ÿ	™	¤!›ˆŒØˆr_   c                 ób   — | j                   r|j                  t        |«      d«      }|d d …df   S )Nr­   r   )r«   r²   r³   ©r\   ÚTs     r]   rm   zMockClassifier.predict	  s*   € Ø�=Š=Ø—	‘	œ#˜a›& "Ó%ˆAØ’�A�‰wˆr_   c                 ó   — |S rh   r~   rÂ   s     r]   Úpredict_probazMockClassifier.predict_proba  s   € Øˆr_   c                 óL   — ddt        j                  | j                  «      z   z  S )Nç      ð?r�   )r·   Úabsrª   rr   s      r]   rt   zMockClassifier.score  s   € Ø�aœ"Ÿ&™& §¡›.Ñ(Ñ)Ð)r_   c                 ó4   — | j                   | j                  dœS )Nr©   r©   )r\   Údeeps     r]   Ú
get_paramszMockClassifier.get_params  s   € Ø—V‘V¨¯©Ñ7Ð7r_   )r   F)	NNNNNNNNNrx   )F)
rz   r{   r|   r}   r^   re   rm   rÅ   rt   rË   r~   r_   r]   r§   r§   Â   sA   „ Ù7ó!ð ØØØ!ØØØØØó>ò@ò
ó*ô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        ||j                  t        t
        «      «       t        j                  t
        t
        d d d…   g«      }t	        |||«      }t        ||j                  ||«      «       t	        ||t
        «      }t        ||j                  |t
        «      «       t	        |||«      }t        ||j                  ||«      «       Œì d„ }t        |¬«      }t	        |t        j                  «       t
        j                  «       d¬«      }t        |¬«      }t	        |t        t
        j                  «       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 «       y # 1 sw Y   y xY w)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ï   "  s‘  € ä
Ó
€CÙœQÓ€Hä�3˜‹^ò GˆØˆŒä  ¤a¬Ó,ˆÜ˜6 3§9¡9¬Q´Ó#3Ô4ô Ÿ™¬¬R±°"°©X¨Ó7ˆÜ   h°Ó>ˆÜ˜6 3§9¡9¨X°}Ó#EÔFä   h´Ó3ˆÜ˜6 3§9¡9¨X´rÓ#:Ô;ô !  h°Ó>ˆÜ˜6 3§9¡9¨X°}Ó#EÕFð!Gñ& /€JÜ
 ZÔ
0€CÜ˜S¤!§(¡(£*¬b¯i©i«k¸aÔ@€Fä
 ZÔ
0€CÜ˜S¤!¤R§Y¡Y£[°QÔ7€Fô ŠQ’”2—:‘:ÐÑ€DÜ
 $Ô
'€CÜ˜S $¬Ó+€Fä
 %Ô
(€CÜ	�‰”zÓ	"ñ <Ü˜˜T¤2°7Õ;÷<÷ <ñ <ús   Ç#H È H	c                  óz   — t        d¬«      \  } }t        d¬«      }t        |dddgi¬«      }t        || |d	¬
«       y )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€DÜ�4˜˜A aÖ(r_   c            
      ó  — t        d¬«      \  } }t        «       }d}t        j                  t        |¬«      5  t        || |t        t        «      t        t        «      f¬«       d d d «       t        j                  t        |¬«      5  t        || |t        t        «      f¬«       d d d «       t        j                  t        |dz   ¬«      5  t        || |d¬«       d d d «       t        j                  t        |dz   ¬«      5  t        || |d	¬«       d d d «       t        j                  t        |¬«      5  t        || |t        t        «      gg¬«       d d d «       t        j                  t        d
¬«      5  t        || |t        «       ¬«       d d d «       t        t        «      }dt        j                  › d�}t        j                  t        |¬«      5  t        || ||¬«       d d d «       t        j                  t        |¬«      5  t        || |d|i¬«       d d d «       y # 1 sw Y   �ŒÀxY w# 1 sw Y   �ŒŒxY w# 1 sw Y   �ŒcxY w# 1 sw Y   �Œ:xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÖxY w# 1 sw Y   ŒŒxY w# 1 sw Y   y xY w)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´;¼~Ó3NÐOõ		
÷
ô 
�‰”zÐ)=Ô	>ñ QÜ�y ! Q´¼_Ó1MÐ0OÕP÷Qô 
�‰”zÐ)=ÀÑ)NÔ	Oñ 4Ü�y ! Q°Õ3÷4ô 
�‰”zÐ)=ÀÑ)MÔ	Nñ JÜ�y ! QÐ0HÕI÷Jô 
�‰”zÐ)=Ô	>ñ RÜ�y ! Q´+¼oÓ2NÐ1OÐ0PÕQ÷Rô 
�‰”z¨Ô	9ñ :Ü�y ! Q´³Õ9÷:ô $Ô$CÓDÐð
	9Ü9;¿¹¸ð Að	ð ô 
�‰”k¨Ô	9ñ CÜ�y ! QÐ0AÕB÷Cô 
�‰”k¨Ô	9ñ LÜ�y ! Q°Ð8IÐ0JÕK÷Lð L÷O
ñ 
ú÷Qñ Qú÷4ñ 4ú÷Jñ Jú÷Rñ Rú÷:ð :ú÷Cð Cú÷Lð Lús_   ·,H!ÂH.Ã
H;Ä IÄ3IÅ5I"ÇI.ÈI:È!H+È.H8È;IÉIÉIÉ"I+É.I7É:J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¬«       y	)
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  ‰  sa   € ä�a˜�V˜a ˜V a¨ V¨a°¨V°a¸°V¸aÀ¸VÀaÈÀVÈaÐQRÈVÐTÓU€AÜÒ,Ó-€AÜ"°Ô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 ‚y )NTrñ   ÚimputerÚ
classifier)Úreturn_estimatorr  c              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrh   )rÖ   r<   )Ú.0r  s     r]   ú	<genexpr>z7test_cross_validate_nested_estimator.<locals>.<genexpr>¡  s   è ø€ ÒK°9Œz˜)¤X×.ÑKùs   ‚)r   r<   r   r§   r0   rÖ   rŒ   Úall)rl   rŽ   ÚpipelineÚresultsÚ
estimatorss        r]   Ú$test_cross_validate_nested_estimatorr  ‘  sv   € ô  $Ô'�F€QˆÜàœ›Ð(Øœ>Ó+Ð,ð	
ó€Hô ˜X q¨!¸dÔC€GØ˜Ñ%€Jä�j¤$Ô'Ð'Ð'ÜÑ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 }|j                  |	|
«      D ]³  \  }}t        |«      j                  |	|   |
|   «      }|j                   |||	|   |
|   «      «       |j                   |||	|   |
|   «      «       |j                   |||	|   |
|   «      «       |j                   |||	|   |
|   «      «       |j                  |«       Œµ t        j                  |«      }t        j                  |«      }t        j                  |«      }t        j                  |«      }t        j                  |«      }|||||f}t        ||	|
||«       t        ||	|
||«       �Œ„ y )
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�L€Eˆ5Ü
�X¨AÔ
.€CáÙ˜eÓ$ˆÙ˜eÓ$ˆà˜e SÐ)¨E°5¸#Ð+>Ð?ó $A‰	ˆˆ1ˆcä" 3Ð0HÔIˆ
Ü! #¨tÔ4ˆ	ØÐØˆØˆØˆØÐàŸ8™8 A q›>ò 	*‰KˆE�4Ü˜“*—.‘.  5¡¨1¨U©8Ó4ˆCØ×#Ñ#¡J¨s°A°e±H¸aÀ¹hÓ$GÔHØ×"Ñ"¡9¨S°!°E±(¸A¸e¹HÓ#EÔFØ×"Ñ"¡:¨c°1°T±7¸A¸d¹GÓ#DÔEØ×!Ñ!¡)¨C°°4±¸!¸D¹'Ó"BÔCØ×$Ñ$ SÕ)ð	*ô Ÿ8™8Ð$4Ó5ÐÜŸ(™( ?Ó3ˆÜŸ(™( ?Ó3ˆÜŸ™ .Ó1ˆÜŸH™HÐ%6Ó7Ðð ØØØØð
ˆô 	+¨3°°1°f¸bÔAÜ)¨#¨q°!°V¸RÖ@ñI$Ar_   c           	      óH  — |\  }}}}}	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                  j                  «       }t        |«      r|j                  «       }|	|   j                  j                  «       }t        |«      r|j                  «       }t        ||«       t        |j                  |	|   j                  «       Œ£ y )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Ñ$Ð˜HáÜ,ØØØØ0Ø#'ØôˆOô & o°mÑ&DÐFVÕWä,ØØØØ0Ø#(ØôˆOô ˜/¬4Ô0Ð0Ð0Ü�?Ó# xÒ/Ð/Ð/Ü! /°,Ñ"?ÀÔQñ ä+Ø�Q˜ D 6¸dÀrôˆNô & n°ZÑ&@À/ÐSWÕXä+Ø�Q˜ D 6¸eÈôˆNô ˜.¬$Ô/Ð/Ð/Ü�>Ó" hÒ.Ð.Ð.Ü! .°Ñ";¸^ÕLðM&MôR %ØˆQ�Ð3ÀdÈrô€Oô ˜O¨KÑ8Ó9ò 
M‰ˆˆ3Ø—9‘9—>‘>Ó#ˆÜ�HÔØ×'Ñ'Ó)ˆHà+¨AÑ.×4Ñ4×9Ñ9Ó;ˆÜ�OÔ$Ø-×5Ñ5Ó7ˆOä˜H oÔ6Ü˜CŸN™NÐ,=¸aÑ,@×,KÑ,KÕLñ
Mr_   c           
      ó   — |\  }}}}}	d„ }
dt        t        «      ddœ|
f}h d£}|j                  ddh«      }dD �]‘  }|D �]ˆ  }|r0t        | |||d|¬	«      }t	        |d   |«       t	        |d   |«       nt        | |||d
|¬	«      }t        |t        «      sJ ‚t        |j                  «       «      |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  «      r�Œ‰J ‚ �Œ” y )Nc                 óX   — | j                  |«      }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)  s0   € Ø—‘˜Q“ˆä˜1˜fÓ%Ü'9¸!¸VÓ'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ˆGÙ!ä+Ø˜˜A wÀ4ÈBô�
ô *¨*°ZÑ*@À/ÔRÜ)ØÐ=Ñ>Ð@Põô ,Ø˜˜A wÀ5ÈRô�
ô ˜j¬$Ô/Ð/Ð/Ü�z—‘Ó(Ó)Ù#5‘¸?òð ð ô & j°Ñ&;¸^ÔLÜ%ØÐ8Ñ9¸?ôô
 ˜j¨Ñ3´R·Z±ZÔ@Ð@Ð@Ü˜jÐ)FÑGÌÏÉÔTÐTÐTÜ˜j¨Ñ4´b·j±jÔAÐAÐAÜ˜j¨Ñ6¼¿
¹
ÔCÐCÐCô —6‘6˜* ZÑ0°AÑ5Ô6Ð6Ð6Ü—6‘6˜* ZÑ0°2Ñ5Ô6Ð6Ð6Ü—6‘6˜* \Ñ2°aÑ7Ô8Ð8Ð8Ü—6‘6˜* \Ñ2°RÑ7Ö8Ð8Ð8òC!	9ñ"9r_   c                  óš  — t        ddd¬«      \  } }t        d¬«      }t        «       t        d«      t	        «       t        «       g}d}|D ]h  }t        j                  t        |¬«      5  t        || ||¬	«       d d d «       t        j                  t        |¬«      5  t        || ||¬	«       d d d «       Œj y # 1 sw Y   Œ?xY w# 1 sw Y   Œ�xY w)
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�D€A€qä
�XÔ
€Cô 	ÓÜ˜ÓÜ‹ÜÓð	€Ið A€MØò >ˆÜ�]‰]œ:¨]Ô;ñ 	<Ü c¨Q°!¸Õ;÷	<ä�]‰]œ:¨]Ô;ñ 	>Ü¨¨q°A¸"Õ=÷	>ð 	>ñ>÷	<ð 	<ú÷	>ð 	>ús   Á'B5ÂCÂ5B>	ÃC
	c                  ó  ‡‡	— t         t         fg} 	 ddlm}m} | j	                  ||f«       | D ]C  \  Š	Š ‰t        «       ‰	t        «      }}ˆfd„}ˆ	fd„}t        ||¬«      }t        |||d¬«       ŒE y # t
        $ r Y ŒTw xY w)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Ñ$ˆ
Ð$ñ '¤qÓ)©:´b«>ˆeˆÛ<ˆÛ:ˆÜ ¨¸<ÔHˆÜ˜˜T 5¨QÖ/ñ0øô ò Ùðúó   ‘A5 Á5	BÂ Bc                  óâ  — t        d¬«      } t        «       }|j                  |j                  }}t	        d«      }t        | |||¬«      }t	        d«      }g }|j                  ||«      D ]j  \  }}t        j                  t        |«      t        ¬«      }	t        j                  t        |«      t        ¬«      }
d|	|<   d|
|<   |j                  ||f«       Œl t        | |||¬«      }t        ||«       y )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‰9�d—k‘k€q€AÜ�!‹H€EÜ$ S¨!¨Q°5Ô9€NÜ�!‹H€EØ€HØ—{‘{ 1 aÓ(ò '‰ˆˆtÜ—X‘Xœc !›f¬DÔ1ˆ
Ü—H‘HœS ›V¬4Ô0ˆ	Øˆ
�5ÑØˆ	�$‰Ø�‰˜ ˜Õ&ð'ô # 3¨¨1°Ô:€LÜ�~ |Õ4r_   c                  óp  — 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 «       t        j                  t        «      5  t        | |j                  «       |«       d d d «       y # 1 sw Y   ŒGxY w# 1 sw Y   y xY w)NÚprecomputedrb  r"  c                 óB   — t        j                  | |j                  «      S rh   )r·   ÚdotrÃ   )rƒ   rŽ   s     r]   r×   z2test_cross_val_score_precomputed.<locals>.<lambda>°  s   € ¤"§&¡&¨¨A¯C©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‰9�d—k‘k€q€AÜ—F‘F˜1˜aŸc™c“N€MÜ'¨¨]¸AÓ>ÐÜ
�XÔ
€CÜ" 3¨¨1Ó-€LÜÐ/°Ô>ô Ñ0Ô
1€CÜ$ S¨!¨QÓ/€NÜÐ/°Ô@ô �]Ô
#€CÜ	�‰”zÓ	"ñ #Ü˜˜Q Ô"÷#ô
 
�‰”zÓ	"ñ 8Ü˜˜]×1Ñ1Ó3°QÔ7÷8ð 8÷#ð #ú÷
8ð 8ús   ÃD Ã;D,Ä D)Ä,D5c           	      ó  ‡‡	‡
— 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        |¬«       y )Nr   r�   )rÌ   r�   )rb   rÏ   é*   Ú42c                 ól   •— | j                   ‰k(  sJ ‚| j                  ‰k(  sJ ‚| j                  ‰k(  sJ ‚y 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Î  s;   ø€ ð �}‰} 	Ò)Ð)Ð)Ø�}‰} 	Ò)Ð)Ð)Ø�}‰} 	Ò)Ð)Ñ)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‘Iœa“LÓ!€IáÜ	�‰�1�#‹œŸ™ 1 #›¬¯©°!°«Ð6Ð7¸wô€Hñ œRŸV™V A›YÓ'€Hà€IØ€IÜ“€Iö*ô Ÿ™ Ó+Ü—w‘w˜y¨#°	©/Ó:Ø (Ø ØØØØ%ñ	€Jô �CœœB zÖ2r_   c                  ó   ‡— t        «       } g Šˆfd„}t        j                  d¬«      5  t        |«      }t	        | t
        t        |d¬«      }d d d «       t        g d¢«       t        ‰«      dk(  sJ ‚y # 1 sw Y   Œ(xY w)Nc                 ó,   •— ‰j                  | |f«       y)NrÇ   )r(  )Úy_testÚ	y_predictÚ_score_func_argss     €r]   Ú
score_funcz3test_cross_val_score_score_func.<locals>.score_funcç  s   ø€ Ø×Ñ ¨Ð 3Ô4Ør_   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Ü˜jÓ)ˆÜ ¤Q¬°7¸qÔAˆ÷Bô �ušoÔ.äÐÓ  AÒ%Ð%Ñ%÷Bð Bús   ©$A4Á4A=c                  óX  — 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«       y )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€FÜ˜fÒ&BÀAÔFô    T§Y¡Y°·±ÀZÔP€IÜ˜iÒ)EÀqÔIô    T§Y¡Y°·±À]ÔS€IÜ˜iÒ)EÀqÕIr_   c                  óp  — 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«       y )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�D€A€qÜ
‹'€Cô ˜S ! QÓ'€FÜ˜fÒ&DÀaÔHô    Q¨°4Ô8€IÜ˜iÒ)GÈÔKô % S¨!¨QÐ8PÔQ€NÜ—x‘xÒ NÓOÐÜ˜nÐ.>ÀÔBô Ô2Ó3€GÜ  Q¨°7Ô;€IÜ˜iÒ)GÈÕKr_   c                 ó4  — t        «       }|j                  } | |«      }|j                  }t        d¬«      }t	        d«      }t        |||d|d¬«      \  }}}	|dkD  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kD  sJ ‚y )Nr"  rb  rÍ   r  rµ  )Ún_permutationsrÜ   r   gÍÌÌÌÌÌì?ç        r�   r   )rÄ  rÜ   r   Úgroupsrü   c                 óp   — | |k(  j                  «       | |k7  j                  «       z
  | j                  d   z  S rX   )Úsumrb   )Úy_truerQ  s     r]   Úcustom_scorez,test_permutation_score.<locals>.custom_scoreL  s7   € Ø˜6Ñ!×&Ñ&Ó(¨F°fÑ,<×+AÑ+AÓ+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×    sÐ  € ä‹;€DØ�	‰	€AÙ˜QÓ€HØ�‰€AÜ
�XÔ
€CÜ	˜Ó	€Bä2ØˆQ� "¨°ZôÑ€Eˆ6�6ð �3Š;Ðˆ;Ü˜  QÔ'ä#9ØØ	Ø	ØØØÜ�w‰w�q—v‘v‹Øô	$Ñ €K��Lð ˜%ÒÐÐØ˜6Ò!Ð!Ð!ô ˜HÔ%€JÜ Ó"€IÜ#9ØØØ	ØØØÜ�w‰w�q—v‘v‹Øô	$Ñ €K��Lð ˜%ÒÐÐØ˜6Ò!Ð!Ð!òWô ˜Ó&€FÜ-ØˆQ� #¨v¸"È1ôÑ€Eˆ1ˆfô ˜˜t QÔ'Ü˜  aÔ(ô 	�‰Œr�y‰yœ˜Q›Ó  !Ó$€Aä2ØˆQ� "¨°ZôÑ€Eˆ6�6ð �3Š;Ðˆ;Ø�CŠ<Ð‰<r_   c                  ój  — t        j                  dt         j                  ¬«      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        || |«       y ©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™ZÔ(×0Ñ0°°RÓ8€AÜ�f‰f€A€aŠ€d�GÜ
�	‰	�1�a�&˜!Ÿ'™' !™* q™.Ó)€AÜàœ¨vÄbÇfÁfÔMÐNØœ>Ó+Ð,ð	
ó	€Aô ˜1˜a Õ#r_   c            
      ó  — t        j                  d«      j                  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
}t        j                  t        |¬	«      5  t        || |dt        j                  d«      i¬«       d d d «       t        || |dt        j                  d«      i¬«       y # 1 sw Y   ŒxxY w# 1 sw Y   Œ:xY w)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€Cà4€GÜ	�‰”~¨WÔ	5ñ *Ü˜s A qÔ)÷*ð A€GÜ	�‰”z¨Ô	1ñ PÜ˜s A q°/Ä2Ç7Á7È1Ã:Ð1NÕO÷Pä˜3  1¨o¼r¿w¹wÀr»{Ð-KÖL÷*ð *ú÷Pð Pús   Á/C4Â"%D Ã4C=Ä D	c                  ój  — t        j                  dt         j                  ¬«      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        || |«       y rÙ  )r·   rÏ  rÞ  r²   r  rß  rb   r<   r   r§   r/   rà  s      r]   Útest_cross_val_score_allow_nansrì  ~  s�   € ä
�	‰	�#œRŸZ™ZÔ(×0Ñ0°°RÓ8€AÜ�f‰f€A€aŠ€d�GÜ
�	‰	�1�a�&˜!Ÿ'™' !™* q™.Ó)€AÜàœ¨vÄbÇfÁfÔMÐNØœ>Ó+Ð,ð	
ó	€Aô �A�q˜!Õr_   c                  óü  — 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¢«       y )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€MÜ¤¸ÔA€MÜ!¤/¸9ÔE€OÜ! # q¨!°]ÔC€KÜ! # q¨!°]ÔC€KÜ# C¨¨A°ÔG€MÜ˜Ò%DÔEÜ˜Ò%DÔEÜ˜Ò'FÕGr_   c           
      óf  — t        d¬«      \  }}t        «       }t        «       }t        j                  |«      }|j                  ||«      D ]4  \  }}|j                  ||   ||   «       |j                  ||   «      ||<   Œ6 t        ||||¬«      }t        ||«       t        |||«      }t        |«      t        |«      k(  sJ ‚t        «       }t        ||||¬«      }t        |«      t        |«      k(  sJ ‚|j                  «       }	|	|	t        j                  |	«      kD  z  }	 | |	«      }	t        ||	|«      }t        t        |«      t        |«      «       t        t        d¬«      |«      }t        |«      t        |«      k(  sJ ‚ G d„ d«      }
t        j                   t"        «      5  t        ||| |
«       ¬«       d d d «       t%        d¬«      \  }}d}t        j&                  t(        |¬	«      5  t        t+        d
¬«      ||dt        d«      ¬«       d d d «       y # 1 sw Y   ŒbxY w# 1 sw Y   y xY w)NTrñ   rÛ   ró   )Ún_initc                   ó   — e Zd Zdd„Zy)ú%test_cross_val_predict.<locals>.BadCVNc              3   óŒ   K  — t        d«      D ]2  }t        j                  g d¢«      t        j                  g d¢«      f–— Œ4 y ­w)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Ë  s8   è ø€ Ü˜1“Xò H�Ü—h‘hš|Ó,¬b¯h©h²Ó.GÐGÓGñHùs   ‚AArx   )rz   r{   r|   r'  r~   r_   r]   ÚBadCVr  Ê  s   „ ô	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¬#¨a«&Ô1äœf¨FÔ3°QÓ7€EÜˆu‹:œ˜Q›ÒÐÐ÷Hñ Hô
 
�‰”zÓ	"ñ 1Ü˜#˜q !©«Õ0÷1ô  Ô%�D€A€qð	<ð ô
 
�‰”n¨OÔ	<ñ 
ÜÜ kÔ2ØØØ"Ü�Q‹xõ	
÷
ð 
÷1ð 1ú÷
ð 
ús   Æ%HÇ.$H'ÈH$È'H0c            
      óì  — 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 «       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 «       y # 1 sw Y   Œ¥xY w# 1 sw Y   y xY w)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�D€A€qäÔ0Ó2°A°qÐATÔU€EØ�;‰;˜%ÒÐÐä Ô%�D€A€qäÔ0Ó2°A°qÐATÔU€EØ�;‰;˜(Ò"Ð"Ð"ð 	
ˆ$ˆ3ˆ€AØ	ˆ$ˆ3ˆ€Að	1ð ô 
�‰”z¨Ô	7ñ 
ÜÜÓ˜q !Ð,?ÄEÈ!ÃHõ	
÷
ô
  $Ô'�D€A€qÜ
�X°uÔ
=€Cä˜c 1 aÐ0CÔD€EØ�;‰;˜*Ò$Ð$Ð$ä
�*‰*�Q‹-€CØˆS‰6�1�S‘6€q€Að	ð ô 
�‰”zÐ)=Ô	>ñ WÜ˜#˜q !¬°qÔ(9ÐBUÕV÷Wð W÷'
ð 
ú÷&Wð Wús   Â"EÄ:E*ÅE'Å*E3c                  óä   — t        ddd¬«      \  } }t        t        «       | |d¬«      }|j                  dk(  sJ ‚t	        d¬	«      \  } }t        t        «       | |d¬«      }|j                  d
k(  sJ ‚y )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&    sn   € Ü¨°bÀqÔI�D€A€qäÔ0Ó2°A°qÀÔQ€EØ�;‰;˜'Ò!Ð!Ð!ä Ô%�D€A€qäÔ0Ó2°A°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 ‚y )NrÍ   r  r   r  Úpredict_log_probar  r#  Trñ   r  r$  r%  s      r]   Ú.test_cross_val_predict_predict_log_proba_shaper)    sp   € Ü¨°bÀqÔI�D€A€qäÔ0Ó2°A°qÐATÔU€EØ�;‰;˜'Ò!Ð!Ð!ä Ô%�D€A€qäÔ0Ó2°A°qÐATÔU€EØ�;‰;˜(Ò"Ð"Ñ"r_   c                 ó¶  — 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        ||j                  «       |j                  «       «      }t        |¬	«      }t        |||j                  «       «      }t        t        «       |j                  «       |j                  «       d
¬«      }t        t        «       ||j                  «       d
¬«      }|d d …d d …t        j                  f   }	d„ }
t        |
¬«      }t        ||	|«      }t        |j                  d«       y )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_typesr0  +  s¥  € ä‹;€DØ�9‰9�d—k‘k€q€AÙ˜QÓ€HÜ—O‘O Q¨©$¨B¨$© LÓ1€Mä
˜e°!Ô
4€Cô $ C¨¨AÓ.€KØ×Ñ Ò&Ð&Ð&ô $ C¨°=ÓA€KØ×Ñ Ò(Ð(Ð(ä# C¨°1Ó5€KÜ�{×(Ñ(¨&Ô1ô $ C¨°=ÓA€KÜ�{×(Ñ(¨(Ô3ñ /€JÜ
 ZÔ
0€CÜ# C¨¯©«°Q·X±X³ZÓ@€Kä
 ZÔ
0€CÜ# C¨¨A¯H©H«JÓ7€Kô $ÜÓØ	�‰‹
Ø	�‰‹
Ø"ô	€Kô $ÜÓØ	Ø	�‰‹
Ø"ô	€Kð ŠQ’”2—:‘:ÐÑ€DÙ$€HÜ
 XÔ
.€CÜ# C¨¨qÓ1€KÜ�{×(Ñ(¨&Õ1r_   c                  ó  ‡‡	— t         t         fg} 	 ddlm}m} | j	                  ||f«       | D ]C  \  Š	Š ‰t        «       ‰	t        «      }}ˆfd„}ˆ	fd„}t        ||¬«      }t        |||d¬«       ŒE y # t
        $ r Y ŒTw xY w)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_pandasr4  a  sŠ   ù€ äœ]Ð+Ð,€Eðß,à�‰�f˜iÐ(Ô)ð ).ò 2Ñ$ˆ
Ð$á&¤qÓ)©:´b«>ˆeˆÛ<ˆÛ:ˆÜ ¨¸<ÔHˆÜ˜#˜t U¨qÖ1ñ2øô ò Ùðúr}  c                  ó8  — t        dddddd¬«      \  } }d|d<   t        d¬«      }t        d¬«      }t        |j	                  | |«      «      \  }}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kD  «      sJ ‚t        j                  ||d      dkD  «      sJ ‚t        |j                  d¬
«      t        j                  |j                  «      d¬«       y )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  s   € ÜØØØØØØô�D€A€qð €A€a�DÜ
¨!Ô
,€CÜ	 !Ô	$€BÜ�r—x‘x  1“~Ó&�K€Eˆ4Ü" 3¨¨1°¸OÔL€JØˆT�!‰W‰:�a‰=˜AÒÐÐÜ�6‰6�*˜T !™WÑ%¢a¨ dÑ+¨qÑ0Ô1Ð1Ð1Ü�6‰6�*˜T !™WÑ%¢a¨¨1¨ fÑ-°Ñ1Ô2Ð2Ð2Ü�6‰6�*˜T !™WÑ%¨Ñ)Ô*Ð*Ð*Ü˜jŸn™n°!˜nÓ4´b·g±g¸a¿g¹gÓ6FÐPRÖSr_   c                  óø   — t        «       } t        j                  j                  d«      }|j	                  dd«      }t        | |d dd¬«      }t        |d d …df   |«       t        | |d dd¬«      }t        ||«       y )	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_nonerF  ‰  ss   € ä$Ó&€OÜ
�)‰)×
Ñ
 Ó
#€CØ�‰��bÓ€AÜ˜o¨q°D¸QÀyÔQ€EÜ�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«      «       y )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_paramsrH  –  sf   € ä‹;€DØ�9‰9�d—k‘k€q€AÜ
Ó
€CØ(©-¼¿¹¸q¿w¹wÀq¹zÓ8JÓ*KÐL€JÜ˜˜Q ¨*¸Ô;€AÜ�qœ"Ÿ'™' !›*Õ%r_   c                  óœ  — d} d}t        | dddddd¬«      \  }}t        | |dz
  |z  z  «      }dD �]   }t        j                  d¬	«      5 }t	        |||t        |¬
«      t        j                  ddd«      |d¬«      \  }}}	}
}d d d «       t        «      dkD  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        |j                  d¬«      t        j                  ddd«      «       t        |	j                  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 «       t        |«      dkD  rt        d|d   j                  z  «      ‚t        |«       t        |	«       �Œ y # 1 sw Y   �ŒµxY w# 1 sw Y   Œ[xY w)Nr  r®   r�   r   rÍ   ©r!  r¼  r½  r6  ra  r7  rü   ©FTTr®  r  çš™™™™™¹?rÇ   rÓ   )rÜ   rZ   rF   Úreturn_timesúUnexpected warning: %r)rÓ   r®   r_  r8  ç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]     s[  € Ø€IØ€HÜØØØØØØØô�D€A€qô ' y°XÀ±\ÀXÑ4MÑ'NÓO€IØ&ó -=ˆÜ×$Ñ$¨DÔ1ð 	°Qô ØØØÜ (Ô+ÜŸK™K¨¨S°"Ó5Ø%Ø!ôñØØØØØ÷	ô  ˆq‹6�AŠ:ÜÐ7¸!¸A¹$¿,¹,ÑFÓGÐGØ×!Ñ! WÒ,Ð,Ð,Ø× Ñ  GÒ+Ð+Ð+Ø�‰ 'Ò)Ð)Ð)Ø× Ñ  GÒ+Ð+Ð+Ü˜;¬¯©°A°r¸2Ó(>Ô?Ü! ,×"3Ñ"3¸Ð"3Ó";¼R¿[¹[ÈÈcÐSUÓ=VÔWÜ! +×"2Ñ"2¸Ð"2Ó":¼B¿K¹KÈÈSÐRTÓ<UÔVð �‰ )Ò+Ð+Ð+Ø× Ñ  IÒ-Ð-Ð-ô ×$Ñ$¨DÔ1ð 	°QÜ8FØØØÜ"¨HÀ	ÔJÜŸK™K¨¨S°"Ó5Ø%ô9Ñ5ˆL˜-¨÷	ô ˆq‹6�AŠ:ÜÐ7¸!¸A¹$¿,¹,ÑFÓGÐGÜ! -°Ô>Ü! ,°Ö<ñ[-=÷	ñ 	ú÷@	ð 	ús   Á
8H5Æ26IÈ5H?	ÉI	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        |j                  d¬«      t        j                  dd	d
«      «       t        |j                  d¬«      t        j                  dd	d
«      «       y )Nr  r�   r   rÍ   rJ  r_  r®   rL  rÇ   rÓ   )rŽ   rÜ   rZ   r8  rO  )r   rV   r1   r·   rQ  rP   rO   rÛ  ©rl   rÒ  r  rZ   rV  rW  s         r]   Ú test_learning_curve_unsupervisedr`  Ý  s½   € ÜØØØØØØØô�D€A€qô ' rÓ*€IÜ-;Ø�1˜ ´·±¸CÀÀbÓ0Iô.Ñ*€K�˜{ô �{¤B§K¡K°°2°rÓ$:Ô;Ü˜l×/Ñ/°QÐ/Ó7¼¿¹ÀSÈ#ÈrÓ9RÔSÜ˜k×.Ñ.°AÐ.Ó6¼¿¹ÀCÈÈbÓ8QÕRr_   c           	      ó    — t        ddddddd¬«      \  }}t        d«      }t        |||dd¬«       d	| j                  «       j                  v sJ ‚y )
Nr  r�   r   rÍ   rJ  r_  r®   )rÜ   Úverbosez[learning_curve])r   rV   r1   Ú
readouterrÚout)Úcapsysrl   rŽ   r  s       r]   Útest_learning_curve_verboserf  ð  s^   € ÜØØØØØØØô�D€A€qô ' rÓ*€IÜ�9˜a  q°!Õ4Ø ×!2Ñ!2Ó!4×!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 «       y # 1 sw Y   y xY w)NrÍ   r�   r   rJ  T)Úexploit_incremental_learning©r   rV   rç   rè   rµ   r1   r  s      r]   Ú5test_learning_curve_incremental_learning_not_possiblerj  ÿ  sd   € ÜØØØØØØØô�D€A€qô ' qÓ)€IÜ	�‰”zÓ	"ñ KÜ�y ! QÀTÕJ÷K÷ Kñ Kús   º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        |j                  d¬«      t        j                  ddd«      «       t        |j                  d¬«      t        j                  d
dd«      «       Œ² y )Nr  r�   r   rÍ   rJ  r_  rK  r®   TrL  rÇ   rÓ   )rÜ   rh  rZ   rF   r8  rO  ©r   r€   r1   r·   rQ  rP   rO   rÛ  )rl   rŽ   r  rT  rZ   rV  rW  s          r]   Ú(test_learning_curve_incremental_learningrm    sÚ   € ÜØØØØØØØô�D€A€qô 2°"Ó5€IØ&ò WˆÜ1?ØØØØØ)-ÜŸ™ C¨¨bÓ1Ø!ô2
Ñ.ˆ�\ ;ô 	˜;¬¯©°A°r¸2Ó(>Ô?Ü! ,×"3Ñ"3¸Ð"3Ó";¼R¿[¹[ÈÈcÐSUÓ=VÔWÜ! +×"2Ñ"2¸Ð"2Ó":¼B¿K¹KÈÈSÐRTÓ<UÕVñ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        |j                  d¬«      t        j                  dd
d«      «       t        |j                  d¬«      t        j                  d	d
d«      «       y )Nr  r�   r   rÍ   rJ  r_  r®   TrL  rÇ   rÓ   )rŽ   rÜ   rh  rZ   r8  rO  rl  r_  s         r]   Ú5test_learning_curve_incremental_learning_unsupervisedro  )  sÄ   € ÜØØØØØØØô�D€A€qô 2°"Ó5€IÜ-;ØØ	Ø
ØØ%)Ü—K‘K  S¨"Ó-ô.Ñ*€K�˜{ô �{¤B§K¡K°°2°rÓ$:Ô;Ü˜l×/Ñ/°QÐ/Ó7¼¿¹ÀSÈ#ÈrÓ9RÔSÜ˜k×.Ñ.°AÐ.Ó6¼¿¹ÀCÈÈbÓ8QÕ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        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      |	j                  d¬«      «       y )Nr  r�   r   rÍ   rJ  rÌ  rÇ   rÏ   F)Úmax_iterÚtolrF   r®   T)rZ   rÜ   rh  )rÜ   rZ   rh  r8  )r   r·   rQ  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_equalry  A  sù   € ÜØØØØØØØô�D€A€qô —+‘+˜c 3¨Ó*€KÜ q¨d¸EÔB€Iä9GØØ	Ø	ØØØ%)ô:Ñ6€OÐ% ô @NØØ	Ø	ØØØ%*ô@Ñ<ÐÐ)Ð+<ô �Ð(9Ô:ÜØ×Ñ 1ÐÓ%Ð'9×'>Ñ'>ÀAÐ'>Ó'Fôô Ø×Ñ !ÐÓ$Ð&7×&<Ñ&<À!Ð&<Ó&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 «       t        j                  t        «      5  t        || |dd	d
g¬«       d d d «       t        j                  t        «      5  t        || |dddg¬«       d d d «       t        j                  t        «      5  t        || |dddg¬«       d d d «       t        j                  t        «      5  t        || |dddg¬«       d d d «       y # 1 sw Y   ŒÚxY w# 1 sw Y   Œ²xY w# 1 sw Y   ŒŠxY w# 1 sw Y   ŒbxY w# 1 sw Y   y xY w)Nr  r�   r   rÍ   rJ  r_  r®   ©rÜ   rZ   rÅ  rÇ   rL  gš™™™™™ñ?é   ri  r  s      r]   Ú0test_learning_curve_n_sample_range_out_of_boundsr}  h  sT  € ÜØØØØØØØô�D€A€qô ' rÓ*€IÜ	�‰”zÓ	"ñ BÜ�y ! Q¨1¸1¸a¸&ÕA÷Bä	�‰”zÓ	"ñ FÜ�y ! Q¨1¸3À¸*ÕE÷Fä	�‰”zÓ	"ñ FÜ�y ! Q¨1¸3À¸*ÕE÷Fä	�‰”zÓ	"ñ CÜ�y ! Q¨1¸1¸b¸'ÕB÷Cä	�‰”zÓ	"ñ CÜ�y ! Q¨1¸1¸b¸'ÕB÷Cð C÷Bð Bú÷Fð Fú÷Fð Fú÷Cð Cú÷Cð Cús;   ºD&Á.D2Â"D>ÃE
Ä
EÄ&D/Ä2D;Ä>EÅ
EÅE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 «       t        ddg«       y # 1 sw Y   ŒxY w)Nr®   r�   r   rÍ   rJ  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·   rQ  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ô
Ñˆ�Q˜÷
ô �{ Q¨ FÕ+÷	
ð 
ús   ¾*A?Á?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        |j                  d¬«      t	        j
                  dd
d«      «       t        |j                  d¬«      t	        j
                  d	d
d«      «       y )Nr  r�   r   rÍ   rJ  r_  r®   r  rL  rÇ   rÓ   r{  r8  rO  )	r   rV   r(   r1   r·   rQ  rP   rO   rÛ  )rl   rŽ   r  rÜ   rZ   rV  rW  s          r]   Ú(test_learning_curve_with_boolean_indicesr�  •  sÇ   € ÜØØØØØØØô�D€A€qô ' rÓ*€IÜ	˜Ô	€BÜ-;Ø�1�a˜B¬B¯K©K¸¸SÀ"Ó,Eô.Ñ*€K�˜{ô �{¤B§K¡K°°2°rÓ$:Ô;Ü˜l×/Ñ/°QÐ/Ó7¼¿¹ÀSÈ#ÈrÓ9RÔSÜ˜k×.Ñ.°AÐ.Ó6¼¿¹ÀCÈÈbÓ8QÕRr_   c                  óò  — 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        |j                  d¬«      t        j                  g d ¢«      «       t        |j                  d¬«      t        j                  g d!¢«      «       t        j                  t        «      5  t	        || ||dt        j
                  ddd«      |d"¬#«       d d d «       t	        || ||dt        j
                  ddd«      |ddd¬$«
      \  }}	}
t        |	j                  d¬«      |j                  d¬«      «       t        |
j                  d¬«      |j                  d¬«      «       y # 1 sw Y   Œ�xY w)%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)rq  rr  rF   Úlearning_rateÚeta0r  ç333333Ó?rÇ   T)rÜ   r÷   rZ   rÆ  rF   rü   r8  )rõ  rŽ  çIëÅq×?)r�  rö  rö  rß   )rÜ   r÷   rZ   rÆ  rá   )rÜ   r÷   rZ   rÆ  rF   rü   rh  )r·   r)  r   r&   r1   rQ  rO   rÛ  rç   rè   rµ   )rl   rŽ   rÆ  r  rÜ   rv  rw  rx  rs  rt  ru  s              r]   Ú test_learning_curve_with_shuffler�  ©  s6  € ô 	�‰à�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆFØ�ˆGØ�ˆHØ�ˆHØ�ˆHØ�ˆHð	
ó	€Aô& 	�‰Ò>Ó?€AÜ�X‰XÒCÓD€Fô Ø˜ e¸5Àqô€Iô 
˜QÔ	€BÜ?MØØ	Ø	ØØÜ—K‘K  S¨!Ó,ØØØô
@Ñ<ÐÐ)Ð+<ô Ø×Ñ QÐÓ'¬¯©Ò2IÓ)Jôô Ø×Ñ AÐÓ&¬¯©Ò1IÓ(Jôô 
�‰”zÓ	"ñ 

ÜØØØØØÜŸ™ C¨¨aÓ0ØØõ		
÷

ô :HØØ	Ø	ØØÜ—K‘K  S¨!Ó,ØØØØ%)ô:Ñ6€OÐ% ô Ø×Ñ 1ÐÓ%Ð'9×'>Ñ'>ÀAÐ'>Ó'Fôô Ø×Ñ !ÐÓ$Ð&7×&<Ñ&<À!Ð&<Ó&Dõ÷7

ð 

ús   Ä5)G-Ç-G6c                  ó   — t        j                  d«      j                  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 «       d}t        j                  t        |¬	«      5  t        || |d
dt        j                  d«      i¬«       d d d «       t        || |d
dt        j                  d«      i¬«       y # 1 sw Y   ŒzxY w# 1 sw Y   Œ;xY w)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€Cà4€GÜ	�‰”~¨WÔ	5ñ 7Ü�s˜A˜q¨gÕ6÷7ð A€GÜ	�‰”z¨Ô	1ñ 
ÜØ��A 7°OÄRÇWÁWÈQÃZÐ3Põ	
÷
ô ØˆQ�˜w°ÄÇÁÈÃÐ/Mö÷7ð 7ú÷
ð 
ús   Á/C8Â$&DÃ8DÄD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 «       y # 1 sw Y   y xY w)Nr  r�   r   rÍ   rJ  r_  r»   z9Expected fit parameter\(s\) \['sample_weight'\] not seen.rý   r®   TrL  rÇ   rÓ   rß   )rÜ   rh  rZ   rá   )r   r€   rç   rè   r‹   r1   r·   rQ  )rl   rŽ   r  ré  s       r]   Ú/test_learning_curve_incremental_learning_paramsr”    sˆ   € ÜØØØØØØØô�D€A€qô 2°"°Ð6GÓH€IØJ€GÜ	�‰”~¨WÔ	5ñ 	
ÜØØØØØ)-ÜŸ™ C¨¨bÓ1Øõ	
÷	
÷ 	
ñ 	
ús   Á (A1Á1A: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 «       t        «      dkD  rt        d
|d   j                  z  «      ‚t        j                  d¬«      |«       t        j                  d¬«      d|z
  «       y # 1 sw Y   ŒnxY w)NrÍ   r�   r   rJ  rÓ   Tr®  r™   ©Ú
param_nameÚparam_rangerÜ   rN  r8  )r   r·   rQ  r°  r±  r3   r—   r³   rR  rS  rO   rÛ  )rl   rŽ   r˜  rU  rV  rW  s         r]   Útest_validation_curver™  $  sÜ   € ÜØØØØØØØô�D€A€qô —+‘+˜a  BÓ'€KÜ	×	 Ñ	 ¨Ô	-ð 
°Ü$4Ü&Ó(ØØØØ#Øô%
Ñ!ˆ�k÷
ô ˆ1ƒv�‚zÜÐ3°a¸±d·l±lÑBÓCÐCä˜l×/Ñ/°QÐ/Ó7¸ÔEÜ˜k×.Ñ.°AÐ.Ó6¸¸K¹ÕH÷
ð 
ús   ÁCÃCc            	      ó”   — t        ddddddd¬«      \  } }t        j                  ddd«      }t        t	        «       | |d|d¬«      \  }}y )NrÍ   r�   r   rJ  rÓ   r™   r–  )r   r·   rQ  r3   r¡   )rl   rŽ   r˜  rÒ  s       r]   Ú%test_validation_curve_clone_estimatorr›  ?  s\   € ÜØØØØØØØô�D€A€qô —+‘+˜a  BÓ'€KÜÜ-Ó/Ø	Ø	ØØØô�D€A�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                  |«      «       y )NrË  rÏ   r   r   r"  r#  rõ   )rL  rL  rÌ  rÌ  rP  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ô€Gô œrŸy™y¬¯©°7Ó);¸LÊ!¸OÑ)LÈaÓPÑQäÜ�8¨!Ô,Ø	Ø	ØÚ(Ü˜(¨DÔ1ô€Gô œrŸy™y¬¯©°7Ó);¸LÊ!¸OÑ)LÈaÓPÑQäÜ�8¨!Ô,Ø	Ø	ØÚ(Ü˜(Ô#ô€Gô œbŸh™h wÓ/´·±¸'Ó1BÕCr_   c                  ó8  — t        j                  d«      j                  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 «       d}t        j                  t        |¬	«      5  t        || |d
g d¢ddt        j                  d«      i¬«       d d d «       t        || |d
g d¢ddt        j                  d«      i¬«       y # 1 sw Y   Œ‚xY w# 1 sw Y   Œ?xY w)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€Cà4€GÜ	�‰”~¨WÔ	5ñ 
ÜØØØØ"Ú!Øõ	
÷
ð A€GÜ	�‰”z¨Ô	1ñ 	
ÜØØØØ"Ú!ØØ#¤R§W¡W¨Q£ZÐ0õ	
÷	
ô ØØ	Ø	ØÚØØ¤§¡¨£Ð-ö÷+
ð 
ú÷	
ð 	
ús   Á/DÂ(*DÄDÄDc                  óZ  — t         j                  j                  d«      } t        j                  d«      }| j	                  |«       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 ‚y )Nr   rË  é   )r·   r?  r@  rÏ  rF   r4   ÚdeleterŸ  )rC  rá  s     r]   Útest_check_is_permutationrª  ©  s”   € Ü
�)‰)×
Ñ
 Ó
"€CÜ
�	‰	�#‹€AØ‡K�K�„NÜ   CÔ(Ð(Ð(Ü$¤R§Y¡Y¨q°"Ó%5°sÔ;Ð;Ð;à€A€a�DÜ$ Q¨Ô,Ð,Ð,ô %¤R§Y¡Y°°1¨vÓ%6¸Ô<Ð<Ð<Ð<r_   c                 óè   — t        ddddd¬«      \  }} | |«      } | |«      }t        t        d¬«      «      }t        |||d¬	«      }t        |||d¬	«      }|j	                  «       }t        ||«       y )
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Ó7€GÜ˜g q¨!°Ô3€EÜ$ W¨h¸ÀRÔH€LØ×'Ñ'Ó)€LÜ˜l¨EÕ2r_   c           
      óÖ  — t        dd¬«      }|j                  dk(  r|dk(  rt        |«      fnt        |«      df}n|j                  }t	        j
                  |«      }|j                  ||«      D ]>  \  }}t        | «      j                  ||   ||   «      }  t        | |«      ||   «      ||<   Œ@ ||dz   |dz
  |j                  d«      fD ]  }	t        t        | ||	||¬«      |«       Œ y	)
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�v�‚{Ø!'Ð+>Ò!>”S˜“V‘IÄSÈÃVÈQÀK‰	à—G‘Gˆ	ÜŸ8™8 IÓ.ÐØ—x‘x  1“~ò C‰ˆˆtÜ�C‹j�n‰n˜Q˜u™X q¨¡xÓ0ˆØ%9¤W¨S°&Ó%9¸!¸D¹'Ó%BÐ˜TÒ"ðCð
 �!�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¬«      \  }}	|j                  ||	«      D ]l  \  }
}t        | «      j                  ||
   |	|
   «      }  t        | |«      ||   «      }t        j                  |	|
   «      }||t        j                  ||«      <   Œn ||d	z   |d
z
  |j                  d«      fD ]  }t        t!        | ||||¬«      |«       Œ y)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™7Ü	ˆQ‹””S˜“V“Ð˜~¨fÑ5¼R¿Z¹ZôÐô �y‰y˜¨4Ô0�H€A€uØ—x‘x  5Ó)ò D‰ˆˆtÜ�C‹j�n‰n˜Q˜u™X u¨U¡|Ó4ˆØ)”W˜S &Ó)¨!¨D©'Ó2ˆ
Ü—Y‘Y˜u U™|Ó,ˆ
Ø9CÐœRŸV™V D¨*Ó5Ò6ð	Dð �!�a‘%˜˜Q™ §¡¨£Ð0ò 
ˆÜÜ˜c 1 b°¸BÔ?ÐAUõ	
ñ
r_   c                 ó  — t        dd¬«      }t        j                  t        j                  «      j                  }||ddœ}|j
                  d   }g }t        |«      D ]y  }	t        t        |dd…|	f   «      «      }
|
dk(  r|d	k(  rt        |«      f}nt        |«      |
f}|j                  t        j                  |||   t        j                  ¬
«      «       Œ{ t        |j
                  d   «      D �cg c]8  }t        j                  |dd…|f   d¬«      d   dd…t        j                  f   ‘Œ: }}t        j                  |d¬«      }|j                  ||«      D ]©  \  }}t        | «      j!                  ||   ||   «      }  t#        | |«      ||   «      }t        |«      D ]`  }	t        j                  ||   dd…|	f   «      }||	   j$                  dk(  r||	   ||	   |<   Œ@t        j&                  ||«      }||	   ||	   |<   Œb Œ« ||dz   |dz
  |j)                  d«      fD ]V  }t+        | ||||¬«      }t        |«      t        |«      k(  sJ ‚t        t        |«      «      D ]  }t-        ||   ||   «       Œ ŒX yc c}w )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  Tr½  r8  r´  r	  )r(   r·   r¿  rÞ  rÀ  rb   râ   r³   rŠ   r(  r£  r¸   ræ   Úconcatenater'  r	   re   rµ  r´   rÁ  r¶  r.   rM   )r1  rl   rŽ   r
  rÜ   rÂ  rÃ  Ú	n_targetsÚexpected_predsÚi_colÚn_classes_in_labelr·  r  Ú
y_enc_colsrÄ  r9  r:  rÅ  Ú	fold_colsÚidxr¹  Úcv_predict_outputs                         r]   Ú"check_cross_val_predict_multilabelrÒ  û  s‡  € ô
 
˜ 5Ô	)€Bô —‘œŸ™Ó$×(Ñ(€Ià&Ø&Øñ€Nð
 —‘˜‘
€IØ€NÜ�yÓ!ò 
ˆÜ ¤ Q¢q¨% x¡[Ó!1Ó2ÐØ Ò" vÐ1DÒ'DÜ˜Q›˜	‰Iä˜Q›Ð!3Ð4ˆIØ×ÑÜ�G‰G�I˜~¨fÑ5¼R¿Z¹ZÔHõ	
ð
ô �q—w‘w˜q‘zÓ"öàô 	�	‰	�!’A�q�D‘'¨$Ô/°Ñ2²1´b·j±j°=ÓAð€Jð ô �N‰N˜:¨AÔ.€EØ—x‘x  5Ó)ò 
?‰ˆˆtÜ�C‹j�n‰n˜Q˜u™X u¨U¡|Ó4ˆØ)”W˜S &Ó)¨!¨D©'Ó2ˆ
Ü˜9Ó%ò 	?ˆEÜŸ	™	 %¨¡,ªq°%¨xÑ"8Ó9ˆIØ˜eÑ$×)Ñ)¨QÒ.à.8¸Ñ.?�˜uÑ% dÒ+ä—f‘f˜T 9Ó-�Ø-7¸Ñ->�˜uÑ% cÒ*ñ	?ð
?ð �!�a‘%˜˜Q™ §¡¨£Ð0ò EˆÜ-¨c°1°bÀÈBÔOÐÜÐ$Ó%¬¨^Ó)<Ò<Ð<Ð<Ü”sÐ,Ó-Ó.ò 	EˆAÜÐ-¨aÑ0°.ÀÑ2CÕDñ	EñEùò%s   Ã3=I<c                 óN   — t        dd¬«      \  }}dD ]  }t        | |||«       Œ y )NrÍ   r   )ra  rü   ©r  rÅ   r(  )r   rº  )r1  rl   rŽ   r
  s       r]   Ú*check_cross_val_predict_with_method_binaryrÕ  /  s1   € ô ¨¸Ô;�D€A€qØMò :ˆÜ& s¨A¨q°&Õ9ñ:r_   c                 ó”   — t        «       }|j                  |j                  }}t        ||d¬«      \  }}dD ]  }t	        | |||«       Œ y )Nr   rû   rÔ  )r   r�  r‚  rF   rÇ  )r1  r†  rl   rŽ   r
  s        r]   Ú.check_cross_val_predict_with_method_multiclassr×  7  sI   € Ü‹;€DØ�9‰9�d—k‘k€q€AÜ�1�a aÔ(�D€A€qØMò >ˆÜ*¨3°°1°fÕ=ñ>r_   c                  óP   — t        t        «       «       t        t        «       «       y rh   )rÕ  r   r×  r~   r_   r]   Ú"test_cross_val_predict_with_methodrÙ  ?  s   € Ü.Ô/AÓ/CÔDÜ2Ô3EÓ3GÕHr_   c                  ó®   — t        «       } | j                  | j                  }}t        ||d¬«      \  }}dD ]  }t	        dd¬«      }t        ||||«       Œ y )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  sW   € ô ‹;€DØ�9‰9�d—k‘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        ||||«       Œ y )
Nr   rû   r˜  rõ   rL  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  sf   € Ü‹;€DØ�9‰9�d—k‘k€q€AÜ�1�a aÔ(�D€A€qÜ
Ô)°rÔ:¸SÀ3ÈÀ(¸OÐPQÔ
R€CØMò >ˆÜ*¨3°°1°fÕ=ñ>r_   c                  óŠ   — d} d}t        | d|dd¬«      \  }}t        t        dd¬	«      «      }d
D ]  }t        ||||¬«       Œ y )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Ó
U€CØ8ò AˆÜ& s¨A¨q¸Ö@ñAr_   c                   ó   — e Zd Zd„ Zy)ÚRFWithDecisionFunctionc                 ó¸   — | j                  |«      }d}t        |t        «      sJ |«       ‚|D �cg c]  }|j                  d   dk(  r	|d d …df   n|‘Œ! }}|S c c}w )Nz?This helper should only be used on multioutput-multiclass tasksr�   rÍ   r­   )rÅ   rÖ   rŒ   rb   )r\   rl   ÚprobsÚmsgrá  s        r]   r  z(RFWithDecisionFunction.decision_functionj  se   € Ø×"Ñ" 1Ó%ˆØOˆÜ˜%¤Ô&Ð+¨Ó+Ð&Ø=BÖC¸˜QŸW™W Q™Z¨1š_�’1�b�5’°!Ñ3ÐCˆÐCØˆùò Ds   ¯$AN)rz   r{   r|   r  r~   r_   r]   rå  rå  f  s   „ ór_   rå  c                  ó   — d} t        dd| dd¬«      \  }}|d d …dfxx   |d d …df   z  cc<   d	D ]P  }t        dd¬
«      }t        j                  «       5  t        j                  d«       t        ||||¬«       d d d «       ŒR y # 1 sw Y   Œ]xY w)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ˆ€dƒGˆq’�A�‰wÑƒGØMò IˆÜ$°!À!ÔDˆÜ×$Ñ$Ó&ñ 	Iä×!Ñ! (Ô+Ü.¨s°A°qÀÕH÷	Ið 	IñI÷	Ið 	Iús   Á%BÂB	c                  óR  — t         j                  j                  d«      } | j                  ddd¬«      }t        j                  g d¢«      }t        «       }dD ]B  }t        j                  «       5  t        j                  d«       t        ||||«       d d d «       ŒD y # 1 sw Y   ŒOxY w)Nr   r�   )r…  rÓ   ©rÍ  )r   r�   rÍ   r   r�   rÍ   r   r�   rÍ   r   r�   rÍ   r   r®   rê  rí  )
r·   r?  r@  Únormalr)  r   r°  r±  rî  rÇ  )rC  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ä×!Ñ! (Ô+Ü.¨s°A°q¸&ÔA÷	Bð 	BñB÷	Bð 	Bús   Á.$BÂB&	c                  ót  — t         j                  j                  d«      } | j                  ddd¬«      }t        j                  ddgddgddgddgddgg«      }dD ]P  }t        dd¬«      }t        j                  «       5  t        j                  d	«       t        ||||¬
«       d d d «       ŒR y # 1 sw Y   Œ]xY w)Nr   r�   )rÏ   rÓ   rñ  rÍ   )rÅ   r(  rÏ   rë  rí  r  )
r·   r?  r@  rò  r)  rå  r°  r±  rî  rÒ  )rC  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ˆÜ$°!À!ÔDˆÜ×$Ñ$Ó&ñ 	Iä×!Ñ! (Ô+Ü.¨s°A°qÀÕH÷	Ið 	IñI÷	Ið 	Iús   Á>%B.Â.B7	c                 óä  — t        j                  t        |«      |g«      }t        ||«      }|j	                  | |«      D ]®  \  }}	|j                  | |   ||   «        || |	   «      }
|dk(  r!t        j                  t        |	«      |f«      }nHt        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™8¤S¨£V¨WÐ$5Ó6ÐÜ�3˜Ó€Dà—x‘x  1“~ò 3‰ˆˆtØ�‰��%‘˜!˜E™(Ô#Ù $ Q t¡W£Ðà�_Ò$ÜŸH™H¤c¨$£i°Ð%9Ó:‰MäŸG™GÜ�T“˜GÐ$¤b§h¡hÐ/C×/IÑ/IÓ&J×&NÑ&NóˆMð *?ˆ’a˜Ÿ™�oÑ&Ø%2Ð˜TÒ"ð3ð  Ðr_   c            	      ó¦  — t        j                  d«      j                  dd«      } t        j                  t	        d«      D �cg c]  }|dz  ‘Œ	 c}«      }d}t        d¬«      }t        d¬«      }t        «       }g d¢}|D ]Ë  }t        «       }	t        |	| |||¬	«      }
t        | ||||	|«      }t        ||
«       t        |	| |||¬	«      }
t        | ||||	|«      }t        ||
«       t        t        j                  t	        d«      d«      d
¬«      }t        |	| |||¬	«      }
|j                  |«      }t        | ||||	|«      }t        ||
«       ŒÍ y c c}w )NrÚ  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Ž   r÷  Úkfold3Úkfold4ÚleÚmethodsr
  r1  r.  r¸  s               r]   Ú#test_cross_val_predict_class_subsetr  ¶  sX  € Ü
�	‰	�#‹×Ñ˜s AÓ&€AÜ
�‰¤5¨£:Ö.˜a�!�r“'Ò.Ó/€AØ€Gä˜AÔ€FÜ˜AÔ€Fä	‹€BâI€GØò EˆÜ Ó"ˆô (¨¨Q°¸&ÀVÔLˆô  8Øˆq�&˜' 3¨ó 
Ðô 	"Ð"6¸ÔDô (¨¨Q°¸&ÀVÔLˆÜ7Øˆq�&˜' 3¨ó 
Ðô 	"Ð"6¸ÔDô ”B—I‘Iœe B›i¨Ó,¸1Ô=ˆÜ'¨¨Q°¸&ÀVÔLˆØ×Ñ˜QÓˆÜ7Øˆq�&˜' 3¨ó 
Ðô 	"Ð"6¸ÕDñ5Eùò /s   ÁEc                  ó€  ‡‡— t        «       } | j                  | j                  }}t        «       }t	        j
                  dd¬«      }|j                  d«       |j                  «        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 «       d\  ŠŠt!        d«      D ]#  }	 t#        j$                  |j                  «        y  y # 1 sw Y   Œ@xY w# t&        $ r t)        d«       Y ŒIw xY w# d\  ŠŠt!        d«      D ]=  }	 t#        j$                  |j                  «        w # t&        $ r t)        d«       Y Œ;w 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  Þ  sa  ù€ ä‹;€DØ�9‰9�d—k‘k€q€AÜ
Ó
€CÜ	×	$Ñ	$¨$°uÔ	=€BØ‡H�HÐ Ô!Ø‡H�H„JÜ�Y‰Y�r—w‘w¤b§j¡jÔ1€FÜ�I‰I�b—g‘g R¨c¼¿¹ÔD€EðÜ˜˜Q Ó+BÕCÜ�]‰]œ:Ó&ñ 	IÜ˜C  AÓ/GÕH÷	Ið
 #‰ˆ�Ü�q“ò 	ˆAðÜ—	‘	˜"Ÿ'™'Ô"Ùñ	÷	Ið 	Iûô ò Ü�c–
ðûð #‰ˆ�Ü�q“ò 	ˆAðÜ—	‘	˜"Ÿ'™'Ô"ÙøÜò Ü�c–
ðúñ		úsZ   Ã+E+ Ã3EÄE+ Ä"EÅEÅ
E+ ÅE(Å'E(Å+F=Æ F!ÆF=Æ!F8	Æ5F=Æ7F8	Æ8F=c                  ó8  ‡‡— t         t         fg} 	 ddlm}m} | j	                  ||f«       | D ][  \  ŠŠt        «       }|j                  |j                  }} ‰|«       ‰|«      }}ˆfd„}ˆfd„}	t        ||	¬«      }
t        |
||«       Œ] y # t
        $ r Y Œlw xY w)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Ñ$ˆ
Ð$ä‹{ˆØ�y‰y˜$Ÿ+™+ˆ1ˆÙ& qÓ)©:°a«=ˆeˆÛ<ˆÛ:ˆÜ ¨¸<ÔHˆÜ˜s D¨%Õ0ñ1øô ò Ùðús   ‘B Â	BÂB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 «       | j                  «       dk(  sJ ‚y # 1 sw Y   ŒxY w)Nr�   rÓ   r   rÏ   rŠ  )
r  rl   rŽ   rÖ  r9  r:  rb  Ú
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Ñ$GÓH€Kä
�	‰	�!�RÓ€AÜ—)‘)˜A˜q“/¤2§9¡9¨Q°£?ˆ4€EÜØØ
Ø
Ü‹vØØØØØØôÐð )0Ð�}Ñ%ä	�‰”zÐ)PÔ	Qñ -ÜÑ,Ð+Ò,÷-ð ×ÑÓ #Ò%Ð%Ñ%÷-ð -ús   ÂCÃCc                  óú   — t        dd¬«      \  } }t        dd¬«      }t        t        «       j	                  | «      «      \  }}t        || |t        «       ||ddddœd d d	¬
«      }t        di |¤Ž}|d   |d   k(  sJ ‚y )Nr  r   r   r"  r#  rË  rL  )rq  rr  T)r  rl   rŽ   rÖ  r9  r:  rb  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ØØØØ #¨CÑ0ØØØôÐô Ñ1Ð0Ñ1€FØ�,ÑÐ#5°lÑ#CÒCÐCÑCr_   c                   ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚDataDependentFailingClassifierNc                 ó   — || _         y rh   ©Úmax_x_value)r\   r(  s     r]   r^   z'DataDependentFailingClassifier.__init__>  s
   € Ø&ˆÕr_   c                 ó`   — || j                   kD  j                  «       }|rt        d|› d�«      ‚y )NzClassifier fit failed with z values too high)r(  rÈ  rµ   )r\   rl   rŽ   Únum_values_too_highs       r]   re   z"DataDependentFailingClassifier.fitA  s@   € Ø  4×#3Ñ#3Ñ3×8Ñ8Ó:ÐÙÜØ-Ð.AÐ-BÐBRÐSóð ð r_   c                  ó   — y)NrÅ  r~   rr   s      r]   rt   z$DataDependentFailingClassifier.scoreH  s   € Ør_   rh   rx   )rz   r{   r|   r^   re   rt   r~   r_   r]   r%  r%  =  s   „ ó'óôr_   r%  rá   c                 ó\  — 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 «       y # 1 sw Y   y xY w)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_warningr6  L  s¾   € ô 1¸QÔ?€Kä
�	‰	�!�RÓ€AÜ
�‰�‹
€Aà&¨¨1Ð-ÐØ#$°[ÑAÐð 	Cð !ô —j‘jðà% mÑ4Ð5°RÐ8TÐ7UðWô �i‰iô€Oô 
�‰Ô&¨oÔ	>ñ FÜÐ+ÐEÐ/DÒE÷F÷ Fñ Fús   ÂB"Â"B+c                 ój  — 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 «       y # 1 sw Y   y xY w)
Nr�   rÓ   rŠ  r  r-  z1ValueError: Failing classifier failed as requiredz4All the 7 fits failed.+your model is misconfigured.+r.  rý   )r8   r  r·   rÏ  r¢  r0  r1  r2  rç   rè   rµ   r0   )rá   r  rl   rŽ   r3  r4  r5  rd  s           r]   Ú*test_cross_validate_all_failing_fits_errorr8  h  s­   € ô $Ô$5×$GÑ$GÓH€Kä
�	‰	�!�RÓ€AÜ
�‰�‹
€Aà&¨¨1Ð-ÐØ#$°[ÑAÐà#VÐ Ü—J‘JàBØ+Ð,ð.ô �i‰iô€Mô 
�‰”z¨Ô	7ñ FÜÐ+ÐEÐ/DÒE÷F÷ Fñ Fús   ÂB)Â)B2c                 ó   — t        |«      ‚rh   )rµ   )r  rl   rŽ   Ú	error_msgs       r]   Ú_failing_scorerr;  €  s   € Ü
�YÓ
Ðr_   zignore:lbfgs failed to convergerß   c           	      ó²  — t        d¬«      \  }}t        d¬«      j                  ||«      }d}t        t        |¬«      }| dk(  r6t        j                  t        |¬«      5  t        |||d	|| ¬
«       d d d «       y d| › �}t        j                  t        |¬«      5  t        |||d	|| ¬
«      }t        || «       d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w)NTrñ   rÏ   ©rq  ú"This scorer is supposed to fail!!!©r:  rß   rý   r®   )rÜ   r   rá   r  )r   r   re   r   r;  rç   rè   rµ   r/   r  r  rM   )rá   rl   rŽ   ré   r:  Úfailing_scorerÚwarning_msgrë   s           r]   Ú#test_cross_val_score_failing_scorerrB  „  sà   € ô
  Ô%�D€A€qÜ
 aÔ
(×
,Ñ
,¨Q°Ó
2€Cà4€IÜœ_¸	ÔB€Nà�gÒÜ�]‰]œ:¨YÔ7ñ 	ÜØ�Q˜˜a¨À[õ÷	ð 	ð/Ø/:¨mð=ð 	ô �\‰\œ+¨[Ô9ñ 	1Ü$Ø�Q˜˜a¨À[ôˆFô ˜F KÔ0÷		1ð 	1÷	ð 	ú÷	1ð 	1ús   ÁCÂCÃC
ÃCr>  Úwith_multimetricc           
      óL  — t        d¬«      \  }}t        d¬«      j                  ||«      }d}t        t        |¬«      }|rt        t        «      }|||dœ}	n|}	| dk(  r7t        j                  t        |¬	«      5  t        |||d
|	|| ¬«       d d d «       y d| › �}
t        j                  t        |
¬	«      5  t        |||d
|	|| ¬«      }|D ]7  }d|v sŒd|v r||   D ]  }t        |t        «      rŒJ ‚ Œ)t        ||   | «       Œ9 	 d d d «       y # 1 sw Y   y xY w# 1 sw Y   y xY w)NTrñ   rÏ   r=  r>  r?  )Úscore_1Úscore_2Úscore_3rß   rý   r®   )rÜ   r   r>  rá   r  r6   Ú_score_2)r   r   re   r   r;  r   r    rç   rè   rµ   r0   r  r  rÖ   rq   rM   )rá   r>  rC  rl   rŽ   ré   r:  r@  Únon_failing_scorerr   rA  r  r‘   r  s                 r]   Ú"test_cross_validate_failing_scorerrJ     sf  € ô  Ô%�D€A€qÜ
 aÔ
(×
,Ñ
,¨Q°Ó
2€Cà4€IÜœ_¸	ÔB€NÙÜ(Ô);Ó<Ðà%Ø)Ø%ñ
‰ð !ˆà�gÒÜ�]‰]œ:¨YÔ7ñ 		ÜØØØØØØ#5Ø'õ÷		ð 		ð/Ø/:¨mð=ð 	ô �\‰\œ+¨[Ô9ñ 	CÜ$ØØØØØØ#5Ø'ôˆGð ò 
C�Ø˜s’?Ø! SÑ(ð ")¨¡ò 8˜AÜ#-¨a´Õ#7Ð7Ð#7ñ8ô
 (¨°©°kÕBñ
C÷	Cð 	C÷		ð 		ú÷	Cð 	Cús$   Á9DÂ5DÃDÃ/DÄDÄD#c                  ó   — y)Ng;pÎˆÒ^@r~   )r  ÚjrK  s      r]   Úthree_params_scorerrM  á  s   € Ør_   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        «       j	                  |«      «      \  }
}t        |	||||
||d d d |||¬«      }t        d
i |¤Ž | j                  «       \  }}|j	                  d«      }t        |«      dkD  rt        j                  ||d	   «      sJ ‚y t        j                  ||d   «      sJ ‚y )Nr  r   r   r"  r#  )r  rl   rŽ   rÖ  r9  r:  rb  r  r¦  r  r>  Úsplit_progressÚcandidate_progressú
rÍ   r�   r~   )r   r?   r!  r,   r'  r  r5   rc  r³   r0  rþ   )re  r?  rÖ  rb  Ú	split_prgÚcdt_prgÚexpectedrl   rŽ   ré   r9  r:  r  rd  rÒ  Úoutliness                   r]   Útest_fit_and_score_verbosityrZ  å  sÙ   € ôN ¨¸!Ô<�D€A€qÜ
�X¨AÔ
.€CÜ”|“~×+Ñ+¨AÓ.Ó/�K€Eˆ4ô ØØ
Ø
ØØØØØØØØ&Ø Ø"ôÐô Ñ(Ð'Ò(Ø×ÑÓ �F€CˆØ�y‰y˜‹€HÜ
ˆ8ƒ}�qÒÜ�x‰x˜ (¨1¡+Ô.Ð.Ñ.ä�x‰x˜ (¨1¡+Ô.Ð.Ñ.r_   c            	      ó¬   — d} d„ }t        j                  t        | ¬«      5  t        d d d |d t        j
                  ¬«       d d d «       y # 1 sw Y   y xY w)Nz&scoring must return a number, got Nonec                  ó   — y rh   r~   )r  ÚX_tests     r]   Útwo_params_scorerz%test_score.<locals>.two_params_scorer,	  s   € Ør_   rý   )r  r]  rª  rÖ  r  rá   )rç   rè   rµ   r6   r·   r  )rd  r^  s     r]   r@  r@  )	  sO   € Ø<€Mòô 
�‰”z¨Ô	7ñ 
ÜØØØØ$ØÜŸ™õ	
÷
÷ 
ñ 
ús   ¡ A
Á
Ac                  óÈ   — d„ } t        ddd¬«      \  }}t        d¬«      }|j                  ||«       t        |||d| ¬«      }g d	¢}|D ]  }d
j	                  |«      |v rŒJ ‚ y )Nc                 ób   — | j                  |«      }t        ||«      }|d   |d   |d   |d   dœS )N)r   r   rN  )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;	  s:   € Ø—‘˜Q“ˆÜ˜a Ó(ˆØ˜‘h b¨¡h°b¸±hÀbÈÁhÑOÐOr_   é(   rÎ   r˜  )r!  r¼  rü   rû   rÏ   )rÜ   r   ra  ztest_{})r   r@   re   r0   r¶   )rR  rl   rŽ   r1  r]  Úscore_namesr  s          r]   Ú9test_callable_multimetric_confusion_matrix_cross_validateri  :	  sr   € òPô
 ¨¸ÈÔK�D€A€qÜ
 Ô
$€CØ‡G�GˆAˆq„MÜ  Q¨¨a¸ÔG€Jâ*€KØò 4ˆØ×Ñ Ó%¨Ò3Ð3Ð3ñ4r_   c                  óR   — t        d¬«      \  } }t        t        «       | |dd¬«       y)z^Check that regressors with partial_fit is supported.

    Non-regression test for #22981.
    r˜  rû   TrÍ   )rh  rÜ   N)r   r1   r;   )rl   rŽ   s     r]   Ú*test_learning_curve_partial_fit_regressorsrk  J	  s&   € ô
 ¨Ô+�D€A€qô ”<“> 1 aÀdÈqÖQr_   c                 óÀ  — t        dddd| ¬«      \  }}t        j                  |«      }||   ||   }}t        «       }d}t	        j
                  t        |¬«      5  t        |||dt        j                  ¬	«      ^}}}}d
d
d
«       t        d«      D ]R  }	t        j                  |	   «      j                  «       sJ ‚t        j                  |	   «      j                  «       rŒRJ ‚ t        dj                  d   «      D ]R  }	t        j                  ||	   «      j                  «       rJ ‚t        j                  |	   «      j                  «       sŒRJ ‚ y
# 1 sw Y   ŒØxY w)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Ï   r-  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_warningrr  U	  sI  € ô ØØØØØ'ô�D€A€qô —‘˜A“€JØˆZ‰=˜!˜J™-€q€Aä
‹%€CØ;€Oä	�‰Ô&¨oÔ	>ñ 
Ü)7Ø��A˜!¬¯©ô*
Ð&ˆˆ;˜
 Q÷
ô �Q‹xò /ˆÜ�x‰x˜ CÑ(Ó)×-Ñ-Ô/Ð/Ð/Ü�x‰x˜
 3™Ó(×,Ñ,Õ.Ð.Ð.ð/ô �Q˜×)Ñ)¨!Ñ,Ó-ò 3ˆÜ—8‘8˜K¨Ñ,Ó-×1Ñ1Ô3Ð3Ð3Ü—8‘8˜J s™OÓ,×0Ñ0Õ2Ð2Ð2ñ3÷
ð 
ús   Á#EÅEc                 óx  — 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 �cg c]  }|j                  ‘Œ c}d«       t        |D �cg c]  }|j                  ‘Œ c}d«       t        |j                  ||«      «      D ]&  \  }	\  }
}t        ||	   |
«       t        ||	   |«       Œ( yc c}w c c}w )z<Check the behaviour of `return_indices` in `cross_validate`.Trñ   r®   )r  rF   rü   rÍ   F)rÜ   r÷   Úreturn_indicesÚindicesr9  r:  rË  r  N)r   r>   r   r(   r0   r³   r  rP   rÍ  rC  r'  )ro  rl   rŽ   r  rÜ   r]  Útrain_indicesÚtest_indicesru  Ú	split_idxÚexpected_train_idxÚexpected_test_idxs               r]   Ú"test_cross_validate_return_indicesr{  v	  sK  € ä Ô%�D€A€qÜˆa‹€AÜ"Ó$€Iä	˜ 4Ð6HÔ	I€BÜ 	¨1¨a°B¸qÐQVÔW€JØ˜JÑ&Ð&Ð&ä 	¨1¨a°B¸qÐQUÔV€JØ˜
Ñ"Ð"Ð"Ø˜yÑ)¨'Ñ2€MØ˜iÑ(¨Ñ0€LÜˆ}Ó §¡Ò,Ð,Ð,Üˆ|Ó §¡Ò+Ð+Ð+ä°MÖB¨˜Ÿ›ÒBÀCÔHÜ°LÖA¨˜Ÿ›ÒAÀ2ÔFä>GÈÏÉÐQRÐTUËÓ>Wò GÑ:ˆ	Ñ:Ð&Ð(9Ü˜=¨Ñ3Ð5GÔHÜ˜<¨	Ñ2Ð4EÕFñGùò CùÚAs   Â.D2ÃD7zfunc, extra_argsÚalphar�   )r—  r˜  )Úenable_metadata_routingc           	      óž   — t        j                  t        d¬«      5   | dt        «       t        t
        g dœ|¤Ž ddd«       y# 1 sw Y   yxY w)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€  “	  sN   € ô  
�‰”zÐ)IÔ	Jñ 
Ùð 	
Ü)Ó+ÜÜØñ		
ð
 ò	
÷
÷ 
ñ 
ús   œAÁAc                 óN   — t        ddd¬«      \  }} | dt        «       ||dœ|¤Ž y)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‚  ­	  s.   € ô" ¨¸ÈÔJ�D€A€qÙÐAÔ&Ó(¨A°ÑA°jÓAr_   c           
      ó  — t        j                  d«      }t        j                  t        |¬«      5   | dt        «       t        t        t        g ¬«      dœ|¤Ž ddd«       | t        k(  ryt        j                  d«      }t        j                  t        |¬«      5   | dt        «       j                  d¬«      j                  d¬«      t        t        t        g ¬«      dœ|¤Ž ddd«       y# 1 sw Y   Œ”xY w# 1 sw Y   yxY w)	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~   )r0  Ú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‰ið	Fó€Gô 
�‰Ô/°wÔ	?ñ 
Ùð 	
Ü)Ó+ÜÜÜ Ô$ñ		
ð
 ò	
÷
ð Ô Ò Øä�i‰ið	Hó€Gô 
�‰Ô/°wÔ	?ñ 	
Ùð 	
Ü)Ó+ß‰_ dˆ_Ó+ß$Ñ$¨dÐ$Ó3ÜÜÜ Ô$ñ	
ð ò	
÷	
ð 	
÷#
ð 
ú÷"	
ð 	
ús   ±(C,ÂAC8Ã,C5Ã8DrÄ  r_  c                 ó  — t        «       }t        |¬«      j                  dd¬«      }t        «       }t        |¬«      j	                  dd¬«      }t        «       }t        |¬«      j                  dd	¬«      j                  dd	¬«      }t        t        «      }t        j                  j                  d
«      }	|	j                  |«      }
|	j                  |«      }|	j                  d
d|«      }|	j                  |«      }|	j                  |«      }|	j                  |«      }t        t!        t!        |d¬«      ¬«      t"        t!        |¬«      t$        t!        |¬«      t&        t!        |¬«      t(        t!        |¬«      t*        t!        «       i}t!        ||||¬«      }| t*        ur|j-                  |
|¬«        | |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|| j4                     d   ||¬«       Œ$ t1        |«      sJ ‚|D ]#  }t3        |d || j4                     d    d||¬«       Œ% y!)"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?  r@  rA  Úrandintr0   r  r/   r1   r3   r2   r.   ÚupdaterŽ   r³   rE   rz   )rø  r  Úscorer_registryrÖ  Úsplitter_registryÚsplitterÚestimator_registryr  r!  rC  rŒ  r�  r�  r�  r‘  r’  Úscoring_argsr�   Ú_scorerÚ
func_namesÚ	_splitterÚ
_estimators                         r]   Ú!test_validation_functions_routingr¨  ó	  sß  € ô  “k€OÜ oÔ6×HÑHØ%Ð0@ð Ió €Fô "›ÐÜ Ð*;Ô<×NÑNØÐ(8ð Oó €Hô #›ÐäÐ%7Ô8ß	‰Ð':À^ˆÓ	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ÔQÜœ fÔ-Üœ VÔ,Üœ$ vÔ.Ü¤¨VÔ 4Üœ4›6ð€Lô Ø!Ø%Ø+Ø!ô	€Fð Ô$Ñ$Ø�‰Ø'Ø)ð 	ô 	
ñ
 	Øðä
Ü
Øñ	ð
 �tÑ
ðð ñð óð Ô$Ñ$ä�?Ô#Ð#Ð#Ø"ò 
ˆÜØØØØ6Ø'Ø#ö	
ð
ô Ð Ô!Ð!Ð!à$/Ð8HÑIØ%0Ð9IÑJØ':ÐCUÑVØ$4Ð=MÑNà.Ø,ñ#
ð '2Ð:JÑKñ
€Jð 'ò 
ˆ	ÜØØØ˜dŸm™mÑ,¨WÑ5ØØ#ö	
ð
ô Ð!Ô"Ð"Ð"Ø(ò 
ˆ
ÜØØØ˜dŸm™mÑ,¨UÑ3Ø6Ø+Ø!ö	
ñ
r_   c                  ó”  — t        t        «      } t        j                  j	                  d«      }|j                  | «      }|j                  | «      }t        «       }t        |¬«      j                  dd¬«      }t        |t        t        t        «       dt        ||¬«      ¬«       t        |«      sJ ‚|D ]  }t        |d	d
d||¬«       Œ y)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Ü   rh  r�   r“   Ú_incremental_fit_estimatorr•  N)rT   rl   r·   r?  r@  rA  rD   rA   r‡  r1   rŽ   rC   r  r³   rE   )r!  rC  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õô Ð!Ô"Ð"Ð"Ø(ò 
ˆ
ÜØØ Ø/Ø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¬«      \  }}|j	                  |«      }	|j	                  |«      }
|j                  |	|¬«      }|j                  |
|¬«      }t        d¬	«      5  t        | |||¬
«      }ddd«       t        | |	|
|¬
«      }t        t        t        d¬«      |t        |«      ¬«       y# 1 sw Y   Œ@xY w)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�J€BˆÜ�YÔÜ"Ø q°AÀQÐUWô
‰ˆ‰1ô Ø q¸Èô
‰ˆˆ1ð �8‰8�JÓ€DØ�8‰8�JÓ€DØ�:‰:�d 6ˆ:Ó*€DØ�:‰:�d 6ˆ:Ó*€Dä	¨4Ô	0ñ BÜ# I¨t°T¸bÔAˆ÷Bô   	¨4°¸"Ô=€GÜÜ�œB uÔ-¨w¼^ÈJÓ=Wö÷	Bð Bús   ÂC%Ã%C.)âr}   r  r0  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)  r0  r4  r=  rF  rH  r]  r`  rf  rj  rm  ro  ry  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  r6  r8  r;  ÚfilterwarningsrB  rJ  rM  rZ  r@  ri  rk  rr  r{  r€  r‚  rˆ  r¨  r«  r½  r~   r_   r]   ú<module>râ     s�  ðÙ  ã 	Û 	Û Û Ý Ý ã Û Ý !å "ß MÓ MÝ "÷÷ õ EÝ 3ß IÝ (÷ó ÷
÷ 
õ 
õ 7÷÷ ÷ ÷ ñ ÷"ñ õ
 AÝ GÝ 2Ý 2Ý /Ý %ß 5ß &÷õ õ "÷ñ ÷
 E÷õ õ 7ß >Ý 1ô"˜]ô "ô6Ð(>ô ô<" ô "ô,	"Ð,Fô 	"ôS8�_ mô S8ðp €B‡G�GˆGÓ€Ø€B‡H‚HÒ:Ó;€ð €R‡X‚XÒ;Ó<€Ø
€B‡F‚Fˆ1ƒI€ð ‡‚×Ò˜¨.Ó9ñ%<ó :ð%<òP)ò1Lòh*òLð& ‡‚×Ò˜¨¨t }Ó5Ø‡‚×Ò˜¨.Ó9ð4A Dò 4Aó :ó 6ð4Aòn?MòDF9òR>ò,0ò&5ò&8ð6 ‡‚×Ò˜¨.Ó9ñ 3ó :ð 3òF&ò Jò&Lð0 ‡‚×Ò˜¨.Ó9ñ?ó :ð?òD$òMòòHð< ‡‚×Ò˜¨.Ó9ñ5
ó :ð5
òp-Wò`	#ò	#ð ‡‚×Ò˜¨.Ó9ñ22ó :ð22òj2ò$Tò,
$ð ‡‚×Ò˜¨.Ó9ñ&ó :ð&ò:=òzSò&9òKò Wò4Sò0$òNCò.,ò,Sò(Mò`ò&
ò0Iò6ò,+Dò\#òL=ð ‡‚×Ò˜¨.Ó9ñ3ó :ð3ò$
ò*
ò81Eòh:ò>òIò
>ò>òAô	Ð3ô 	òIò"BòIò" ò(%EòPò41ò(&ò6Dô, ]ô ð ‡‚×Ò˜¨¯ª°¨Ó4ñFó 5ðFð6 ‡‚×Ò˜¨¯ª°¨Ó4ñFó 5ðFò. ð ‡‚×ÒÐ=Ó>Ø‡‚×Ò˜¨¯ª°°GÐ(<Ó=ñ1ó >ó ?ð1ð4 ‡‚×ÒÐ=Ó>Ø‡‚×Ò˜¨¯ª°°GÐ(<Ó=Ø‡‚×ÒÐ-°°e¨}Ó=Ø‡‚×ÒÐ+¨e°T¨]Ó;ñ:Có <ó >ó >ó ?ð:Còzð ‡‚×ÒØ@ð ØØØØð$ð	
ð ÙØ 3Ð<OÑPôð ØØð?ð
	
ð ÙØ 3Ð<OÑPôð ØØð$ð
	
ð+ ó#ñH/óI#ðH/ò@
ò"4ò Rò3òBGð: ‡‚×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Â(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñ
ó .ó
ð
ð ‡‚×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Â(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñBó .ó
ðBð ‡‚×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Â(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñ"
ó .ó
ð"
ðJ ‡‚×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	Ð"2°BÐ!7Ð8Ø	¨'À(À"Ç(Â(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñh
ó .ó
ðh
ñV ¨Ô-ñ"
ó .ð"
ðR ‡‚×ÒØÙ
ƒWÑ(Ó*Ð+Ø	Ð.Ð/ð ó ð
 ‡‚×Ò˜š|Ó,Ø‡‚×ÒØ(Ù-Ó/óñó	ó -óñr_   