Ë
    ÷Q(håg ã                   óú  — d Z ddl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
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 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% ddl&m'Z'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lfmgZgmhZh ddlimjZjmkZkmlZlmmZm ddlnmoZompZp dd lqmrZr  G d!„ d"e«      Zs G d#„ d$es«      Zt G d%„ d&e«      Zu G d'„ d(eu«      Zv G d)„ d*ee«      Zw ejð                  d+«      Zy ejô                  g d,¢«      Z{ ejô                  g d-¢«      Z| ejú                  d.«      Z~ejþ                  �j                  d/eo«      d0„ «       Z�d1„ Z‚d2„ Zƒd3„ Z„ejþ                  �j                  d4d5d6g«      ejþ                  �j                  d7ep«      d4e…fd8„«       «       Z†d9„ Z‡d:„ Zˆd;„ Z‰d<„ ZŠd=„ Z‹d>„ ZŒejþ                  �j                  d/eo«      d?„ «       Z�d@„ ZŽdA„ Z�dB„ Z�ejþ                  �j                  d/eo«      dC„ «       Z‘dD„ Z’dE„ Z“dF„ Z”dG„ Z•ejþ                  �j                  d/eo«      dH„ «       Z–dI„ Z—dJ„ Z˜dK„ Z™ejþ                  �j                  d/eo«      dL„ «       ZšdM„ Z›dN„ ZœdO„ Z�ejþ                  �j                  d/eo«      dP„ «       ZždQ„ ZŸdR„ Z 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°ejþ                  �j                  d7ep«      dc„ «       Z±dd„ Z²de„ Z³df„ Z´dg„ Zµdh„ Z¶di„ Z·dj„ Z¸dk„ Z¹dl„ Zº G dm„ dne!«      Z»do„ Z¼dp„ Z½dq„ Z¾dr„ Z¿ds„ ZÀdt„ ZÁdu„ ZÂdv„ ZÃdw„ ZÄ G dx„ dye«      ZÅejþ                  �j                  dze�jŒ                  dg«      d{„ «       ZÇejþ                  �j                  dze�jŒ                  dg«      d|„ «       ZÈd}„ ZÉejþ                  �j•                  d~«      ejþ                  �j                  dze�jŒ                  ddg«      d€„ «       «       ZËejþ                  �j•                  d~«      ejþ                  �j                  dze�jŒ                  ddg«      ejþ                  �j                  d�d6d5g«      ejþ                  �j                  d‚d5d6g«      dƒ„ «       «       «       «       ZÌd„„ ZÍejþ                  �j                  d…d5eÍd†d‡dˆd‰fd6 e7eÍeÍdŠœ¬‹«      dŒd‡dˆd�fd5 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–eEi feFi feGd— ejô                  d˜g«      d™œfg«      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d6¬›«      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d6¬›«      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d6¬›«      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d6¬›«      dŸ„ «       «       ZØ ed6¬›«      d „ «       ZÙy)¡zTest the validation moduleé    N)Úpartial)ÚStringIO)Úsleep)Úissparse)Úconfig_context)ÚBaseEstimatorÚClassifierMixinÚclone)ÚKMeans)Úload_diabetesÚload_digitsÚ	load_irisÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚRandomForestClassifier)ÚFitFailedWarning)ÚSimpleImputer)ÚLogisticRegressionÚPassiveAggressiveClassifierÚ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)ÚCheckingClassifierÚMockDataFrame)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)Ú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)ÚselfrS   s     úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/model_selection/tests/test_validation.pyÚ__init__zMockImprovingEstimator.__init__e   s   € Ø!2ˆÔØˆÔØˆ�ó    Nc                 ó<   — || _         |j                  d   | _        | S rR   ©rU   ÚshaperT   ©rV   rU   Úy_subsets      rW   ÚfitzMockImprovingEstimator.fitj   ó   € Ø ˆŒØ#Ÿ>™>¨!Ñ,ˆÔØˆrY   c                 ó   — t         ‚©N©ÚNotImplementedError©rV   ÚXs     rW   ÚpredictzMockImprovingEstimator.predicto   ó   € Ü!Ð!rY   c                 ó²   — | j                  |«      r%dt        | j                  «      | j                  z  z
  S t        | j                  «      | j                  z  S )Ng       @)Ú_is_training_dataÚfloatrT   rS   ©rV   rf   ÚYs      rW   ÚscorezMockImprovingEstimator.scorer   sM   € à×!Ñ! !Ô$Øœ˜t×/Ñ/Ó0°4×3IÑ3IÑIÑIÐIä˜×)Ñ)Ó*¨T×-CÑ-CÑCÐCrY   c                 ó   — || j                   u S rb   ©rU   re   s     rW   rj   z(MockImprovingEstimator._is_training_datay   ó   € Ø�D—M‘MÐ!Ð!rY   rb   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rX   r_   rg   rn   rj   © rY   rW   rP   rP   b   s   „ Ù5òó
ò
"óDó"rY   rP   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 rb   )ÚsuperrX   ÚxÚexpected_fit_params)rV   rS   r~   Ú	__class__s      €rW   rX   z*MockIncrementalImprovingEstimator.__init__€   s    ø€ Ü‰ÑÐ*Ô+ØˆŒØ#6ˆÕ rY   c                 ó   — | j                   |v S rb   ©r}   re   s     rW   rj   z3MockIncrementalImprovingEstimator._is_training_data…   s   € Ø�v‰v˜ˆ{ÐrY   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 ú.)	rT   r\   r}   r~   ÚsetÚAssertionErrorÚlistÚitemsrN   )rV   rf   ÚyÚparamsÚmissingÚkeyÚvalues          rW   Ú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óð ñ	ð $rY   rb   )rt   ru   rv   rw   rX   rj   r�   Ú__classcell__©r   s   @rW   rz   rz   }   s   ø„ Ù4õ7ò
÷rY   rz   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 rb   )rU   Úparam)rV   r“   s     rW   rX   z#MockEstimatorWithParameter.__init__ž   s   € ØˆŒØˆ�
rY   c                 ó<   — || _         |j                  d   | _        | S rR   r[   r]   s      rW   r_   zMockEstimatorWithParameter.fit¢   r`   rY   c                 ó   — t         ‚rb   rc   re   s     rW   rg   z"MockEstimatorWithParameter.predict§   rh   rY   Nc                 óZ   — | j                  |«      r| j                  S d| j                  z
  S )Né   )rj   r“   )rV   rf   rˆ   s      rW   rn   z MockEstimatorWithParameter.scoreª   s&   € Ø!×3Ñ3°AÔ6ˆt�z‰zÐJ¸AÀÇ
Á
¹NÐJrY   c                 ó   — || j                   u S rb   rp   re   s     rW   rj   z,MockEstimatorWithParameter._is_training_data­   rq   rY   )ç      à?rr   rs   rx   rY   rW   r‘   r‘   ›   s   „ Ù7óòò
"óKó"rY   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|   r_   )rV   rU   r^   r   s      €rW   r_   z)MockEstimatorWithSingleFitCallAllowed.fit´   s2   ø€ Ü˜4 Ô/ÐPÐ1PÓPÐ/ØˆÔÜ‰w‰{˜8 XÓ.Ð.rY   c                 ó   — t         ‚rb   rc   re   s     rW   rg   z-MockEstimatorWithSingleFitCallAllowed.predict¹   rh   rY   )rt   ru   rv   rw   r_   rg   rŽ   r�   s   @rW   r›   r›   ±   s   ø„ ÙFô/ö
"rY   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 rb   ©ÚaÚallow_nd)rV   r¤   r¥   s      rW   rX   zMockClassifier.__init__À   s   € ØˆŒØ ˆ�rY   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Ú
ValueErrorr\   ÚformatÚnpÚuniquerˆ   ÚPÚclasses_)rV   rf   rm   Úsample_weightÚclass_priorÚsparse_sample_weightÚsparse_paramr©   rª   r«   ÚcallbackÚfmts               rW   r_   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ô Ÿ	™	¤!›ˆŒØˆrY   c                 ób   — | j                   r|j                  t        |«      d«      }|d d …df   S )Nr§   r   )r¥   r¬   r­   ©rV   ÚTs     rW   rg   zMockClassifier.predict  s*   € Ø�=Š=Ø—	‘	œ#˜a›& "Ó%ˆAØ’�A�‰wˆrY   c                 ó   — |S rb   rx   r¼   s     rW   Úpredict_probazMockClassifier.predict_proba	  s   € ØˆrY   c                 óL   — ddt        j                  | j                  «      z   z  S )Nç      ð?r—   )r±   Úabsr¤   rl   s      rW   rn   zMockClassifier.score  s   € Ø�aœ"Ÿ&™& §¡›.Ñ(Ñ)Ð)rY   c                 ó4   — | j                   | j                  dœS )Nr£   r£   )rV   Údeeps     rW   Ú
get_paramszMockClassifier.get_params  s   € Ø—V‘V¨¯©Ñ7Ð7rY   )r   F)	NNNNNNNNNrr   )F)
rt   ru   rv   rw   rX   r_   rg   r¿   rn   rÅ   rx   rY   rW   r¡   r¡   ½   sA   „ Ù7ó!ð ØØØ!ØØØØØó>ò@ò
ó*ô8rY   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 rb   ©Ú
isinstancer†   r�   s    rW   ú<lambda>z&test_cross_val_score.<locals>.<lambda>5  ó   € œ: a¬Ó.€ rY   ©Úcheck_Xr¨   ©Úcv©Úcheck_yT)r¥   FÚraise©Úerror_score)r¡   rf   Úranger¤   r.   Úy2rK   rn   r±   Úcolumn_stackrF   ÚtolistÚnewaxisÚpytestÚraisesr¯   )rË   ÚclfÚX_sparser¤   ÚscoresÚmultioutput_yÚ
list_checkÚX_3ds           rW   Ú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$   r/   )rf   rˆ   rã   Úgrids       rW   Útest_cross_validate_many_jobsró   F  s>   € ô  Ô%�D€A€qÜ
�FÔ
€CÜ˜¨¨q°"¨g¨Ô7€DÜ�4˜˜A aÖ(rY   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.*rx   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¯   r/   r   r!   r   Údictr    r±   ÚnanÚwarnsÚUserWarning)rf   rˆ   Ú	estimatorÚerror_message_regexpÚmulticlass_scorerÚwarning_messages         rW   Ú)test_cross_validate_invalid_scoring_paramr  P  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¬«      \  } }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rb   )rÐ   r;   )Ú.0r  s     rW   ú	<genexpr>z7test_cross_validate_nested_estimator.<locals>.<genexpr>”  s   è ø€ ÒK°9Œz˜)¤X×.ÑKùs   ‚)r   r;   r   r¡   r/   rÐ   r†   Úall)rf   rˆ   ÚpipelineÚresultsÚ
estimatorss        rW   Ú$test_cross_validate_nested_estimatorr  „  sv   € ô  $Ô'�F€QˆÜàœ›Ð(Øœ>Ó+Ð,ð	
ó€Hô ˜X q¨!¸dÔC€GØ˜Ñ%€Jä�j¤$Ô'Ð'Ð'ÜÑKÀ
ÔKÔKÐKÑKrY   Ú
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
   r_   Úappendr±   ÚarrayÚ"check_cross_validate_single_metricÚ!check_cross_validate_multi_metric)r  r  rÖ   ÚX_regÚy_regÚregÚX_clfÚy_clfrã   rf   rˆ   ÚestÚ
mse_scorerÚ	r2_scorerÚtrain_mse_scoresÚtest_mse_scoresÚtrain_r2_scoresÚtest_r2_scoresÚfitted_estimatorsÚtrainÚtestrå   s                         rW   Útest_cross_validater2  —  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rY   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  )r/   rJ   rÐ   rþ   r­   Ú	enumerateÚcoef_Úcopyr   ÚtoarrayrI   Ú
intercept_)rã   rf   rˆ   rå   rÖ   r+  r,  r-  r.  r/  r5  Údict_lenÚmse_scores_dictÚr2_scores_dictÚkr(  Úest_coefÚfitted_est_coefs                     rW   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rY   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  )rg   r"   r   )rã   rf   rˆ   Úy_preds       rW   Úcustom_scorerz8check_cross_validate_multi_metric.<locals>.custom_scorer  s0   € Ø—‘˜Q“ˆä˜1˜fÓ%Ü'9¸!¸VÓ'DÐ&Dñ
ð 	
rY   rG  r  >   r9  Úfit_timeÚ
score_timeÚtest_neg_mean_squared_errorr8  Útrain_neg_mean_squared_error)TFTr4  Fr9  rL  rJ  rK  r   rÍ   )r   r"   Úunionr/   rJ   rÐ   rþ   r„   Úkeysr±   Úndarrayr  )rã   rf   rˆ   rå   rÖ   r+  r,  r-  r.  r/  rI  Úall_scoringÚkeys_sans_trainÚkeys_with_trainr5  rú   Ú
cv_resultss                    rW   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ñ"9rY   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  rf   rˆ   rÖ   )r   r>   r(   r*   r%   r&   rá   râ   r¯   r.   r-   )rf   rˆ   rã   Ú	group_cvsÚerror_messagerÖ   s         rW   Ú#test_cross_val_score_predict_groupsr\  [  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 rb   ©rÐ   ©r}   ÚInputFeatureTypes    €rW   rÑ   z-test_cross_val_score_pandas.<locals>.<lambda>~  ó   ø€ œZ¨Ð+;Ó<€ rY   c                 ó   •— t        | ‰«      S rb   rb  ©r}   Ú
TargetTypes    €rW   rÑ   z-test_cross_val_score_pandas.<locals>.<lambda>  ó   ø€ ¤¨A¨zÓ!:€ rY   ©rÔ   rØ   r¨   rÕ   )
rG   Úpandasr_  r`  r  ÚImportErrorrf   rÝ   rF   r.   ©
Útypesr_  r`  ÚX_dfÚy_serÚcheck_dfÚcheck_seriesrã   rd  rh  s
           @@rW   Útest_cross_val_score_pandasrs  q  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  rY  rÉ   rÕ   ©Údtyper—   )r>   r   ÚdataÚtargetr'   r.   r  r±   Úzerosr­   Úboolr  rK   )ÚsvmÚirisrf   rˆ   ÚkfoldÚscores_indicesÚcv_masksr0  r1  Ú
mask_trainÚ	mask_testÚscores_maskss               rW   Ú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Ü�~ |Õ4rY   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ÚprecomputedrY  r  c                 óB   — t        j                  | |j                  «      S rb   )r±   Údotr½   )r}   rˆ   s     rW   rÑ   z2test_cross_val_score_precomputed.<locals>.<lambda>£  s   € ¤"§&¡&¨¨A¯C©C£.€ rY   )r>   r   rx  ry  r±   rˆ  r½   r.   rJ   rá   râ   r¯   rß   )r|  r}  rf   rˆ   Úlinear_kernelÚscore_precomputedÚscore_linearÚscore_callables           rW   Ú 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—   )r\   rÉ   é*   Ú42c                 ól   •— | j                   ‰k(  sJ ‚| j                  ‰k(  sJ ‚| j                  ‰k(  sJ ‚y rb   )r©   rª   r«   )rã   Ú	DUMMY_INTÚ	DUMMY_OBJÚ	DUMMY_STRs    €€€rW   Úassert_fit_paramsz:test_cross_val_score_fit_params.<locals>.assert_fit_paramsÁ  s;   ø€ ð �}‰} 	Ò)Ð)Ð)Ø�}‰} 	Ò)Ð)Ð)Ø�}‰} 	Ò)Ð)Ñ)rY   rÁ   )rµ   r¶   r·   r¸   r©   rª   r«   r¹   ©r‰   )r¡   rf   r\   r­   r±   r²   rˆ   r   ÚeyeÚobjectÚonesÚfullr.   rÝ   )rË   rã   r  rX  ÚW_sparseÚP_sparser•  Ú
fit_paramsr’  r“  r”  s           @@@rW   Ú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Ö2rY   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     €rW   Ú
score_funcz3test_cross_val_score_score_func.<locals>.score_funcÚ  s   ø€ Ø×Ñ ¨Ð 3Ô4ØrY   T©Úrecordr¨   )rú   rÖ   )rÁ   rÁ   rÁ   )	r¡   ÚwarningsÚcatch_warningsr   r.   rf   rˆ   rK   r­   )rã   r¤  rú   rn   r£  s       @rW   Ú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  rY  )ç
×£p=
ï?rÁ   r«  r«  rÁ   rÇ   Úaccuracyrù   Úf1_weighted)r   r>   r.   rx  ry  rJ   )r}  rã   rå   Ú	zo_scoresÚ	f1_scoress        rW   Ú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ÕIrY   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  rV  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.   rJ   r±   r   r   r   )	rf   rˆ   r%  rå   Ú	r2_scoresÚneg_mse_scoresÚexpected_neg_mserú   Ú	ev_scoress	            rW   Ú/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ÈÕKrY   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  rY  rÇ   r  r¬  )Ún_permutationsrÖ   rú   gÍÌÌÌÌÌì?ç        r—   r   )rº  rÖ   rú   Úgroupsrö   c                 óp   — | |k(  j                  «       | |k7  j                  «       z
  | j                  d   z  S rR   )Úsumr\   )Úy_truerH  s     rW   Úcustom_scorez,test_permutation_score.<locals>.custom_score?  s7   € Ø˜6Ñ!×&Ñ&Ó(¨F°fÑ,<×+AÑ+AÓ+CÑCÀvÇ|Á|ÐTUÁÑVÐVrY   éd   )rº  rú   rÖ   rö   gÃõ(\�Âí?g{®Gáz„?r¨   r™   çš™™™™™É?)r   rx  ry  r>   r,   r1   rI   r±   r™  Úsizer   ÚmodÚaranger­   )rË   r}  rf   rä   rˆ   r|  rÖ   rn   rå   ÚpvalueÚscore_groupÚ_Úpvalue_groupÚ
svm_sparseÚ	cv_sparserÀ  Úscorers                    rW   Ú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Š<Ð‰<rY   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éÈ   rv  rÍ   r§   rÇ   r   r—   r  Úmean)ÚstrategyÚmissing_valuesr	  )r±   rÅ  Úfloat64r¬   rÿ   Úrepeatr\   r;   r   r¡   r1   ©rf   rˆ   Úps      rW   Ú&test_permutation_test_score_allow_nansrØ  T  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 Õ#rY   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   rF   rá   râ   r…   r1   r¯   r™  ©rf   rˆ   rã   Úerr_msgs       rW   Ú"test_permutation_test_score_paramsrà  b  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Õ  r\   r;   r   r¡   r.   rÖ  s      rW   Útest_cross_val_score_allow_nansrâ  q  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˜!ÕrY   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   r9   r   r!   r.   rI   )	rf   rˆ   rã   Úscoring_microÚscoring_macroÚscoring_samplesÚscore_microÚscore_macroÚscore_sampless	            rW   Ú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ÕGrY   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   )rV   rf   rˆ   r¼  Úis        rW   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rr   )rt   ru   rv   r  rx   rY   rW   ÚBadCVr÷  ½  s   „ ô	HrY   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  r_   rg   r-   rJ   r­   r)   r<  Úmedianr   rá   râ   r¯   r   r   ÚRuntimeWarningr   )rË   rf   rˆ   rÖ   r(  Úpreds2r0  r1  ÚpredsÚXsprü  r  s               rW   Ú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¬«      | |d¬«      }|j                  d	k(  sJ ‚t	        d
¬«      \  } }t        t        d¬«      | |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   ©rX  r  rö   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   r\   r   rá   râ   r¯   r   r'   r   r>   r±   Úargsort)rf   rˆ   r  r[  r(  Úindr  s          rW   Ú.test_cross_val_predict_decision_function_shaper  Ö  s‹  € Ü¨°bÀqÔI�D€A€qäÜ +Ô.°°1Ð=Pô€Eð �;‰;˜%ÒÐÐä Ô%�D€A€qäÜ +Ô.°°1Ð=Pô€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+Å.E7c                  óì   — t        ddd¬«      \  } }t        t        d¬«      | |d¬«      }|j                  d	k(  sJ ‚t	        d
¬«      \  } }t        t        d¬«      | |d¬«      }|j                  dk(  sJ ‚y )NrÇ   r
  r   r  rý  rþ  r¿   r  ©r
  rÇ   Trë   r  ©r   r-   r   r\   r   ©rf   rˆ   r  s      rW   Ú*test_cross_val_predict_predict_proba_shaper  
  sz   € Ü¨°bÀqÔI�D€A€qäÜ +Ô.°°1¸_ô€Eð �;‰;˜'Ò!Ð!Ð!ä Ô%�D€A€qäÜ +Ô.°°1¸_ô€Eð �;‰;˜(Ò"Ð"Ñ"rY   c                  óì   — t        ddd¬«      \  } }t        t        d¬«      | |d¬«      }|j                  d	k(  sJ ‚t	        d
¬«      \  } }t        t        d¬«      | |d¬«      }|j                  dk(  sJ ‚y )NrÇ   r
  r   r  rý  rþ  Úpredict_log_probar  r  Trë   r  r  r  s      rW   Ú.test_cross_val_predict_predict_log_proba_shaper     s|   € Ü¨°bÀqÔI�D€A€qäÜ +Ô.°°1Ð=Pô€Eð �;‰;˜'Ò!Ð!Ð!ä Ô%�D€A€qäÜ +Ô.°°1Ð=Pô€Eð �;‰;˜(Ò"Ð"Ñ"rY   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        d
¬«      |j                  «       |j                  «       d¬«      }t        t        d
¬«      ||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 rb   rÏ   r�   s    rW   rÑ   z4test_cross_val_predict_input_types.<locals>.<lambda>C  rÒ   rY   rÓ   r×   rý  rþ  r  r  c                 ó    — | j                   dk(  S )Nr¨   )r®   r�   s    rW   rÑ   z4test_cross_val_predict_input_types.<locals>.<lambda>Z  s   € ˜Ÿ™ 1™€ rY   )r   rx  ry  r±   rÞ   r   r-   r\   rK   rF   rß   r   rà   )rË   r}  rf   rˆ   rä   ræ   rã   Úpredictionsrç   rè   Úcheck_3ds              rW   Ú"test_cross_val_predict_input_typesr'  *  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Ü�{×(Ñ(¨&Õ1rY   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   r^  c                 ó   •— t        | ‰«      S rb   rb  rc  s    €rW   rÑ   z/test_cross_val_predict_pandas.<locals>.<lambda>l  re  rY   c                 ó   •— t        | ‰«      S rb   rb  rg  s    €rW   rÑ   z/test_cross_val_predict_pandas.<locals>.<lambda>m  ri  rY   rj  r¨   rÕ   )
rG   rk  r_  r`  r  rl  rf   rÝ   rF   r-   rm  s
           @@rW   Útest_cross_val_predict_pandasr+  `  sŠ   ù€ äœ]Ð+Ð,€Eðß,à�‰�f˜iÐ(Ô)ð ).ò 2Ñ$ˆ
Ð$á&¤qÓ)©:´b«>ˆeˆÛ<ˆÛ:ˆÜ ¨¸<ÔHˆÜ˜#˜t U¨qÖ1ñ2øô ò Ùðúrt  c                  ó:  — t        dddddd¬«      \  } }d|d<   t        d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  r¿   r  ©Úaxisé   )Údecimal)r   r   r,   r†   r  r-   r±   r  rJ   r¾  r™  r\   )rf   rˆ   rã   rÖ   r0  r1  Ú
yhat_probas          rW   Ú!test_cross_val_predict_unbalancedr5  r  s"  € ÜØØØØØØô�D€A€qð €A€a�DÜ
¨!°KÔ
@€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ÖSrY   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É   rg   )rˆ   rÖ   r  r   r¿   )r¡   r±   ÚrandomÚRandomStateÚrandr-   rH   )Úmock_classifierÚrngrf   Úy_hatÚy_hat_probas        rW   Útest_cross_val_predict_y_noner>  ˆ  ss   € ä$Ó&€OÜ
�)‰)×
Ñ
 Ó
#€CØ�‰��bÓ€AÜ˜o¨q°D¸QÀyÔQ€EÜ�A’a˜�d‘G˜UÔ#Ü#Ø˜˜d q°ô€Kô �A�{Õ#rY   c                 ó  — t        «       }|j                  |j                  }}t        «       }d | t	        j
                  |j                  d   «      «      i}t        ||||d¬«      }t        |t	        j                  d«      «       y )Nr·   r   r¨   )r‰   rÖ   )
r   rx  ry  r¡   r±   r—  r\   r.   rK   r™  )rË   r}  rf   rˆ   rã   r�  r¤   s          rW   Ú&test_cross_val_score_sparse_fit_paramsr@  •  sf   € ä‹;€DØ�9‰9�d—k‘k€q€AÜ
Ó
€CØ(©-¼¿¹¸q¿w¹wÀq¹zÓ8JÓ*KÐL€JÜ˜˜Q ¨*¸Ô;€AÜ�qœ"Ÿ'™' !›*Õ%rY   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³  r-  rX  r.  rö   ©FTTr¥  r  çš™™™™™¹?rÁ   rÍ   )rÖ   rT   rE   Úreturn_timesúUnexpected warning: %r)rÍ   r¨   rV  r0  çffffffþ?rÔ  ©r  r  )rÖ   rT   rE   )r   rP   r§  r¨  r0   r'   r±   Úlinspacer­   ÚRuntimeErrorÚmessager\   rK   rJ   rÑ  rw  r6   )r  r  rf   rˆ   r  Úshuffle_trainÚwrT   Útrain_scoresÚtest_scoresÚ	fit_timesÚscore_timesÚtrain_sizes2Útrain_scores2Útest_scores2s                  rW   Útest_learning_curverU  Ÿ  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Ç   rB  rV  r¨   rD  rÁ   rÍ   )rˆ   rÖ   rT   r0  rG  )r   rP   r0   r±   rI  rK   rJ   rÑ  ©rf   rÈ  r  rT   rN  rO  s         rW   Ú test_learning_curve_unsupervisedrX  Ü  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ÕRrY   c            	      óæ  — t        ddddddd¬«      \  } }t        d«      }t        j                  }t	        «       t        _        	 t        || |dd¬«      \  }}}t        j                  j                  «       }t        j                  j                  «        |t        _        d	|v sJ ‚y # t        j                  j                  «       }t        j                  j                  «        |t        _        w xY w)
Nr  r—   r   rÇ   rB  rV  r¨   )rÖ   Úverbosez[learning_curve])r   rP   ÚsysÚstdoutr   r0   ÚgetvalueÚclose)rf   rˆ   r  Ú
old_stdoutrT   rN  rO  Úouts           rW   Útest_learning_curve_verbosera  ï  sÊ   € ÜØØØØØØØô�D€A€qô ' rÓ*€Iä—‘€JÜ“„C„Jð Ü1?Ø�q˜! ¨1ô2
Ñ.ˆ�\ ;ô �j‰j×!Ñ!Ó#ˆÜ�
‰
×ÑÔØŒŒ
à Ñ$Ð$Ñ$øô	 �j‰j×!Ñ!Ó#ˆÜ�
‰
×ÑÔØŒ�
ús   ÁB' Â'A	C0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   rB  T)Úexploit_incremental_learning©r   rP   rá   râ   r¯   r0   ©rf   rˆ   r  s      rW   Ú5test_learning_curve_incremental_learning_not_possiblerf  	  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Ç   rB  rV  rC  r¨   TrD  rÁ   rÍ   )rÖ   rc  rT   rE   r0  rG  ©r   rz   r0   r±   rI  rK   rJ   rÑ  )rf   rˆ   r  rL  rT   rN  rO  s          rW   Ú(test_learning_curve_incremental_learningri    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rY   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Ç   rB  rV  r¨   TrD  rÁ   rÍ   )rˆ   rÖ   rc  rT   r0  rG  rh  rW  s         rW   Ú5test_learning_curve_incremental_learning_unsupervisedrk  3  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ÕRrY   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Ç   rB  rÂ  rÁ   rÉ   F©Úmax_iterÚtolrE   r¨   T)rT   rÖ   rc  )rÖ   rT   rc  r0  )r   r±   rI  r   r0   rK   rJ   rÑ  )
rf   rˆ   rT   r  Útrain_sizes_incÚtrain_scores_incÚtest_scores_incÚtrain_sizes_batchÚtrain_scores_batchÚtest_scores_batchs
             rW   Ú<test_learning_curve_batch_and_incremental_learning_are_equalrv  K  sù   € ÜØØØØØØØô�D€A€qô —+‘+˜c 3¨Ó*€KÜ+°Q¸DÈ%ÔP€Iä9GØØ	Ø	ØØØ%)ô:Ñ6€OÐ% ô @NØØ	Ø	ØØØ%*ô@Ñ<ÐÐ)Ð+<ô �Ð(9Ô:ÜØ×Ñ 1ÐÓ%Ð'9×'>Ñ'>ÀAÐ'>Ó'Fôô Ø×Ñ !ÐÓ$Ð&7×&<Ñ&<À!Ð&<Ó&DõrY   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Ç   rB  rV  r¨   ©rÖ   rT   r»  rÁ   rD  gš™™™™™ñ?é   rd  re  s      rW   Ú0test_learning_curve_n_sample_range_out_of_boundsrz  r  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Ç   rB  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Á   rx  )	r   rP   rá   r   r  r0   r±   rI  rK   )rf   rˆ   r  r  rT   rÈ  s         rW   Ú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Ç   rB  rV  r¨   r  rD  rÁ   rÍ   rx  r0  rG  )	r   rP   r'   r0   r±   rI  rK   rJ   rÑ  )rf   rˆ   r  rÖ   rT   rN  rO  s          rW   Ú(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ÕRrY   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¬«      }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ú  é   r2  é   é   rÆ   é   é   é   é   rV  é	   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È   Frm  r  ç333333Ó?rÁ   T)rÖ   rñ   rT   r¼  rE   rö   r0  )rë  rˆ  çIëÅq×?)r‰  rì  rì  rÙ   )rÖ   rñ   rT   r¼  rÛ   )rÖ   rñ   rT   r¼  rE   rö   rc  )r±   r   r   r%   r0   rI  rJ   rÑ  rá   râ   r¯   )rf   rˆ   r¼  r  rÖ   rs  rt  ru  rp  rq  rr  s              rW   Ú test_learning_curve_with_shufflerŠ  ³  s-  € ô 	�‰à�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆFØ�ˆGØ�ˆHØ�ˆHØ�ˆHØ�ˆHð	
ó	€Aô& 	�‰Ò>Ó?€AÜ�X‰XÒCÓD€Fô ,°Q¸DÈ%ÔP€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   Ä3)G+Ç+G4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   rF   rá   râ   r…   r0   r¯   r™  rÞ  s       rW   Ú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                  óR  — t        ddddddd¬«      \  } }t        ddg«      }d}t        j                  t        |¬	«      5  t        || |d
dt        j                  ddd«      d¬«       d d d «       d}t        j                  t        |¬	«      5  t        || |d
dt        j                  ddd«      ddt        j                  d
«      i¬«       d d d «       t        || |d
dt        j                  ddd«      ddt        j                  d«      i¬«       y # 1 sw Y   ŒªxY w# 1 sw Y   ŒSxY w)Nr  r—   r   rÇ   rB  rV  rµ   z9Expected fit parameter\(s\) \['sample_weight'\] not seen.r÷   r¨   TrD  rÁ   rÍ   rÙ   )rÖ   rc  rT   rÛ   z2Fit parameter sample_weight has length 3; expected)rÖ   rc  rT   rÛ   r‰   )	r   rz   rá   râ   r…   r0   r±   rI  r™  )rf   rˆ   r  rß  s       rW   Ú/test_learning_curve_incremental_learning_paramsrŽ    s)  € ÜØØØØØØØô�D€A€qô 2°"°Ð6GÓH€IØJ€GÜ	�‰”~¨WÔ	5ñ 	
ÜØØØØØ)-ÜŸ™ C¨¨bÓ1Øõ	
÷	
ð C€GÜ	�‰”~¨WÔ	5ñ 

ÜØØØØØ)-ÜŸ™ C¨¨bÓ1ØØ#¤R§W¡W¨Q£ZÐ0õ		
÷

ô ØØ	Ø	ØØ%)Ü—K‘K  S¨"Ó-ØØ¤§¡¨£Ð,ö	÷1	
ð 	
ú÷

ð 

ús   Á (DÂ>DÄDÄD&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   rB  rÍ   Tr¥  r“   ©Ú
param_nameÚparam_rangerÖ   rF  r0  )r   r±   rI  r§  r¨  r2   r‘   r­   rJ  rK  rJ   rÑ  )rf   rˆ   r’  rM  rN  rO  s         rW   Útest_validation_curver“  D  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   rB  rÍ   r“   r�  )r   r±   rI  r2   r›   )rf   rˆ   r’  rÈ  s       rW   Ú%test_validation_curve_clone_estimatorr•  _  s\   € ÜØØØØØØØô�D€A€qô —+‘+˜a  BÓ'€KÜÜ-Ó/Ø	Ø	ØØØô�D€A�qrY   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ï   )rD  rD  rÂ  rÂ  rH  r�  )r   rÇ   r—   r¨   rÇ   T©r  rE   r  )
r   r2   r>   r6   rJ   r±   ÚvsplitÚhstackr'   r   )r  r  rf   rˆ   Úscores1Úscores2Úscores3s          rW   Ú+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ÕCrY   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   rF   rá   râ   r…   r2   r¯   r™  rÞ  s       rW   Ú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±   r7  r8  rÅ  rE   r3   Údeleter™  )r;  r×  s     rW   Ú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¸Ô<Ð<Ð<Ð<rY   c                 óè   — t        ddddd¬«      \  }} | |«      } | |«      }t        t        d¬«      «      }t        |||d¬	«      }t        |||d¬	«      }|j	                  «       }t        ||«       y )
NrÇ   r—   FT)rX  Ún_labelsÚallow_unlabeledÚreturn_indicatorrö   r  rY  rÍ   rÕ   )r   r8   r>   r-   r=  rJ   )r  rf   rˆ   rä   Úy_sparseÚclassifr  Úpreds_sparses           rW   Ú(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Õ2rY   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­   r\   r±   rz  r  r
   r_   ÚgetattrÚastyperH   r-   )
r(  rf   rˆ   r  rÖ   Ú	exp_shapeÚexpected_predictionsr0  r1  Útgs
             rW   Ú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õ	
ñ
rY   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¿   rv  T©Úreturn_inverser—   rÇ   r®  r   N)r'   r±   ÚfinforÔ  Úminrš  r­   r„   r²   r  r
   r_   r¯  Úix_r°  rH   r-   )r(  rf   rˆ   r  rÖ   Ú	float_minÚdefault_valuesr²  rÈ  Úy_encr0  r1  Ú
fold_predsÚ
i_cols_fitr³  s                  rW   Ú"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õ	
ñ
rY   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  rv  Tr·  r0  r®  r   )r'   r±   r¹  rÔ  rº  r\   rÜ   r­   r„   r  rš  r²   rà   Úconcatenater  r
   r_   r¯  r®   r»  r°  r-   rH   )r(  rf   rˆ   r  rÖ   r¼  r½  Ú	n_targetsÚexpected_predsÚi_colÚn_classes_in_labelr±  rû  Ú
y_enc_colsr¾  r0  r1  r¿  Ú	fold_colsÚidxr³  Úcv_predict_outputs                         rW   Ú"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   )rX  rö   ©r  r¿   r  )r   r´  )r(  rf   rˆ   r  s       rW   Ú*check_cross_val_predict_with_method_binaryrÏ  O  s1   € ô ¨¸Ô;�D€A€qØMò :ˆÜ& s¨A¨q°&Õ9ñ:rY   c                 ó”   — t        «       }|j                  |j                  }}t        ||d¬«      \  }}dD ]  }t	        | |||«       Œ y )Nr   rõ   rÎ  )r   rx  ry  rE   rÁ  )r(  r}  rf   rˆ   r  s        rW   Ú.check_cross_val_predict_with_method_multiclassrÑ  W  sI   € Ü‹;€DØ�9‰9�d—k‘k€q€AÜ�1�a aÔ(�D€A€qØMò >ˆÜ*¨3°°1°fÕ=ñ>rY   c                  óX   — t        t        d¬«      «       t        t        d¬«      «       y )Nrý  rþ  )rÏ  r   rÑ  rx   rY   rW   Ú"test_cross_val_predict_with_methodrÓ  _  s    € Ü.Ô/AÈÔ/UÔVÜ2Ü +Ô.õrY   c                  ó®   — t        «       } | j                  | j                  }}t        ||d¬«      \  }}dD ]  }t	        dd¬«      }t        ||||«       Œ y )Nr   rõ   rÎ  Úlog_lossrÇ   )Úlossrö   )r   rx  ry  rE   r   rÁ  )r}  rf   rˆ   r  r(  s        rW   Ú&test_cross_val_predict_method_checkingr×  f  sW   € ô ‹;€DØ�9‰9�d—k‘k€q€AÜ�1�a aÔ(�D€A€qØMò >ˆÜ ¸!Ô<ˆÜ*¨3°°1°fÕ=ñ>rY   c                  óÎ   — t        «       } | j                  | j                  }}t        ||d¬«      \  }}t	        t        dd¬«      dddgid	¬
«      }dD ]  }t        ||||«       Œ y )Nr   rõ   r�  rý  r/  rï   rD  r—   rÇ   rÕ   rÎ  )r   rx  ry  rE   r$   r   rÁ  )r}  rf   rˆ   r(  r  s        rW   Ú/test_gridsearchcv_cross_val_predict_with_methodrÙ  q  sm   € Ü‹;€DØ�9‰9�d—k‘k€q€AÜ�1�a aÔ(�D€A€qÜ
Ü¨°;Ô?À#ÈÈQÀxÀÐUVô€Cð Nò >ˆÜ*¨3°°1°fÕ=ñ>rY   c                  óŠ   — d} d}t        | d|dd¬«      \  }}t        t        dd¬	«      «      }d
D ]  }t        ||||¬«       Œ y )NrÁ  rÈ   r¨   rÉ   r�  ©r  r¦  rX  r²  rö   rý  r   )rÿ  rö   )r¿   r  r  )r   r8   r   r´  )Ún_samprX  rf   rˆ   r(  r  s         rW   Ú1test_cross_val_predict_with_method_multilabel_ovrrÝ  |  s\   € ð €FØ€IÜ)Ø 1°	ÀaÐVXô�D€A€qô Ô0¸ÐRSÔTÓ
U€CØ8ò AˆÜ& s¨A¨q¸Ö@ñArY   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†   r\   )rV   rf   ÚprobsÚmsgr×  s        rW   r  z(RFWithDecisionFunction.decision_functionŽ  se   € Ø×"Ñ" 1Ó%ˆØOˆÜ˜%¤Ô&Ð+¨Ó+Ð&Ø=BÖC¸˜QŸW™W Q™Z¨1š_�’1�b�5’°!Ñ3ÐCˆÐCØˆùò Ds   ¯$AN)rt   ru   rv   r  rx   rY   rW   rß  rß  Š  s   „ órY   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Ì  )rX  rf   rˆ   r  r(  s        rW   Ú0test_cross_val_predict_with_method_multilabel_rfré  –  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                  óV  — t         j                  j                  d«      } | j                  ddd¬«      }t        j                  g d¢«      }t        d¬«      }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±   r7  r8  Únormalr   r   r§  r¨  rè  rÁ  )r;  rf   rˆ   r(  r  s        rW   Ú-test_cross_val_predict_with_method_rare_classrí  §  s�   € ô �)‰)×
Ñ
 Ó
"€CØ�
‰
�1�a˜hˆ
Ó'€AÜ
�‰Ò;Ó<€AÜ
 KÔ
0€CØMò BˆÜ×$Ñ$Ó&ñ 	Bä×!Ñ! (Ô+Ü.¨s°A°q¸&ÔA÷	Bð 	BñB÷	Bð 	Bús   Á0$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±   r7  r8  rì  r   rß  r§  r¨  rè  rÌ  )r;  rf   rˆ   r  r(  s        rW   Ú;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±   rz  r­   r¯  r  r_   rš  r¹  rw  rº  r´   )rf   rˆ   rÖ   Úclassesr(  r  r²  Úfuncr0  r1  Úexpected_predictions_Úexp_pred_tests               rW   Ú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ð  ÐrY   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        d	¬
«      }	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   r-   rõ  rJ   rE   rÕ  Úfit_transform)rf   r}   rˆ   rñ  Úkfold3Úkfold4ÚleÚmethodsr  r(  r%  r²  s               rW   Ú#test_cross_val_predict_class_subsetrü  Ú  sZ  € Ü
�	‰	�#‹×Ñ˜s AÓ&€AÜ
�‰¤5¨£:Ö.˜a�!�r“'Ò.Ó/€AØ€Gä˜AÔ€FÜ˜AÔ€Fä	‹€BâI€GØò EˆÜ ¨Ô4ˆô (¨¨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!!!!!rv  rx   Úr)r\   rÿ  rw  c                 ó   •— ‰S rb   rx   )r(  rf   rˆ   rn   s      €rW   rÑ   z#test_score_memmap.<locals>.<lambda>  s   ø€ ¸U€ rY   rù   c                 ó   •— ‰S rb   rx   )r(  rf   rˆ   rå   s      €rW   rÑ   z#test_score_memmap.<locals>.<lambda>  s   ø€ À€ rY   rr   r¨   rÁ   )r   rx  ry  r¡   ÚtempfileÚNamedTemporaryFileÚwriter^  r±   ÚmemmapÚnamerÔ  r.   rá   râ   r¯   rÜ   ÚosÚunlinkÚOSErrorr   )r}  rf   rˆ   rã   ÚtfrÈ  rn   rå   s         @@rW   Ú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   r^  c                 ó   •— t        | ‰«      S rb   rb  rc  s    €rW   rÑ   z4test_permutation_test_score_pandas.<locals>.<lambda>*  re  rY   c                 ó   •— t        | ‰«      S rb   rb  rg  s    €rW   rÑ   z4test_permutation_test_score_pandas.<locals>.<lambda>+  ri  rY   rj  )rG   rk  r_  r`  r  rl  r   rx  ry  rF   r1   )rn  r_  r`  r}  rf   rˆ   ro  rp  rq  rr  rã   rd  rh  s              @@rW   Ú"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  rf   rˆ   rÌ  r0  r1  rZ  Ú
parametersr�  Úscore_paramsrÙ   rÛ   z%Failing classifier failed as requiredr÷   r»  rx   )
r7   ÚFAILING_PARAMETERr±   rÅ  rþ   rá   râ   r¯   r4   rn   )Úfailing_clfrf   r0  r1  Úfit_and_score_argss        rW   Útest_fit_and_score_failingr  0  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Á  rD  )rn  ro  T)r  rf   rˆ   rÌ  r0  r1  rZ  r  r�  r  Úreturn_parametersr  rx   )r   r>   Únextr+   r  rþ   r4   )rf   rˆ   rã   r0  r1  r  Úresults          rW   Útest_fit_and_score_workingr  K  s•   € Ü¨¸!Ô<�D€A€qÜ
�X¨AÔ
.€CÜ”|“~×+Ñ+¨AÓ.Ó/�K€Eˆ4äØØ
Ø
Ü‹vØØØØ #¨CÑ0ØØØôÐô Ñ1Ð0Ñ1€FØ�,ÑÐ#5°lÑ#CÒCÐCÑCrY   c                   ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚDataDependentFailingClassifierNc                 ó   — || _         y rb   ©Úmax_x_value)rV   r!  s     rW   rX   z'DataDependentFailingClassifier.__init__b  s
   € Ø&ˆÕrY   c                 ó`   — || j                   kD  j                  «       }|rt        d|› d�«      ‚y )NzClassifier fit failed with z values too high)r!  r¾  r¯   )rV   rf   rˆ   Únum_values_too_highs       rW   r_   z"DataDependentFailingClassifier.fite  s@   € Ø  4×#3Ñ#3Ñ3×8Ñ8Ó:ÐÙÜØ-Ð.AÐ-BÐBRÐSóð ð rY   c                  ó   — y)Nr»  rx   rl   s      rW   rn   z$DataDependentFailingClassifier.scorel  s   € ØrY   rb   rr   )rt   ru   rv   rX   r_   rn   rx   rY   rW   r  r  a  s   „ ó'óôrY   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   r/   )rÛ   r  rf   rˆ   Úcross_validate_argsÚcross_validate_kwargsÚindividual_fit_error_messager  s           rW   Ú-test_cross_validate_some_failing_fits_warningr/  p  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÷   )r7   r  r±   rÅ  r™  r)  r*  r+  rá   râ   r¯   r/   )rÛ   r  rf   rˆ   r,  r-  r.  r[  s           rW   Ú*test_cross_validate_all_failing_fits_errorr1  Œ  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        |«      ‚rb   )r¯   )r  rf   rˆ   Ú	error_msgs       rW   Ú_failing_scorerr4  ¤  s   € Ü
�YÓ
ÐrY   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É   ©rn  ú"This scorer is supposed to fail!!!©r3  rÙ   r÷   r¨   )rÖ   rú   rÛ   rü   )r   r   r_   r   r4  rá   râ   r¯   r.   r   r  rH   )rÛ   rf   rˆ   rã   r3  Úfailing_scorerÚwarning_msgrå   s           rW   Ú#test_cross_val_score_failing_scorerr;  ¨  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r5  Ú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É   r6  r7  r8  )Úscore_1Úscore_2Úscore_3rÙ   r÷   r¨   )rÖ   rú   r5  rÛ   rü   r5   Ú_score_2)r   r   r_   r   r4  r   r   rá   râ   r¯   r/   r   r  rÐ   rk   rH   )rÛ   r5  r<  rf   rˆ   rã   r3  r9  Únon_failing_scorerrú   r:  r  r‹   rû  s                 rW   Ú"test_cross_validate_failing_scorerrC  Ä  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ÎˆÒ^@rx   )rû  ÚjrB  s      rW   Úthree_params_scorerrF  	  s   € ØrY   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  rf   rˆ   rÌ  r0  r1  rZ  r  r�  r  r5  Úsplit_progressÚcandidate_progressú
rÇ   r—   rx   )r   r>   r  r+   r  rþ   r4   Ú
readouterrr­   r)  rø   )Úcapsysr6  rÌ  rZ  Ú	split_prgÚcdt_prgÚexpectedrf   rˆ   rã   r0  r1  r  r`  rÈ  Úoutliness                   rW   Útest_fit_and_score_verbosityrU  		  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¡+Ô.Ð.Ñ.rY   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 rb   rx   )r  ÚX_tests     rW   Útwo_params_scorerz%test_score.<locals>.two_params_scorerP	  s   € ØrY   r÷   )r  rX  r¡  rÌ  r  rÛ   )rá   râ   r¯   r5   r±   rÿ   )r[  rY  s     rW   r7  r7  M	  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   rG  )r—   r   )r—   r—   ©ÚtnÚfpÚfnÚtp)rg   r   )rã   rf   rˆ   rH  Úcms        rW   rI  zPtest_callable_multimetric_confusion_matrix_cross_validate.<locals>.custom_scorer_	  s:   € Ø—‘˜Q“ˆÜ˜a Ó(ˆØ˜‘h b¨¡h°b¸±hÀbÈÁhÑOÐOrY   é(   rÈ   r�  )r  r²  rö   rõ   rÉ   )rÖ   rú   r\  ztest_{})r   r?   r_   r/   r°   )rI  rf   rˆ   r(  rT  Úscore_namesr  s          rW   Ú9test_callable_multimetric_confusion_matrix_cross_validaterd  ^	  sr   € òPô
 ¨¸ÈÔK�D€A€qÜ
 Ô
$€CØ‡G�GˆAˆq„MÜ  Q¨¨a¸ÔG€Jâ*€KØò 4ˆØ×Ñ Ó%¨Ò3Ð3Ð3ñ4rY   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Ç   )rc  rÖ   N)r   r0   r:   )rf   rˆ   s     rW   Ú*test_learning_curve_partial_fit_regressorsrf  n	  s&   € ô
 ¨Ô+�D€A€qô ”<“> 1 aÀdÈqÖQrY   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  rX  r³  rE   rö   z#10 fits failed out of a total of 25r÷   rÉ   r&  NrÇ   r   )r   r±   r  r>   rá   r   r   r0   rÿ   rÜ   Úisnanr  r\   Úany)
Úglobal_random_seedrf   rˆ   Ú
sorted_idxÚsvcr  rÈ  r6  r7  rÊ  s
             rW   Ú-test_learning_curve_some_failing_fits_warningrm  y	  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  rE   rö   rÇ   F)rÖ   rñ   Úreturn_indicesÚindicesr0  r1  rÁ  r
  N)r   r=   r   r'   r/   r­   r  rK   rÃ  r:  r  )rj  rf   rˆ   r  rÖ   rT  Útrain_indicesÚtest_indicesrp  Ú	split_idxÚexpected_train_idxÚexpected_test_idxs               rW   Ú"test_cross_validate_return_indicesrv  š	  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’  c           
      ó<  — t        j                  t        d¬«      5   | dt        «       t        t
        di dœ|¤Ž ddd«       t        j                  t        d¬«      5   | dt        «       t        t
        i i dœ|¤Ž ddd«       y# 1 sw Y   ŒLxY w# 1 sw Y   yxY w)	z2Check that we warn about deprecating `fit_params`.z`fit_params` is deprecatedr÷   rÇ   )r  rf   rˆ   rÖ   r�  Nz1`params` and `fit_params` cannot both be provided)r  rf   rˆ   r�  r‰   rx   )rá   r   ÚFutureWarningr@   rf   rˆ   râ   r¯   ©rò  Ú
extra_argss     rW   Útest_fit_param_deprecationr|  ¸	  s¤   € ô 
�‰”mÐ+GÔ	Hñ 
Ùð 	
Ü)Ó+¬q´A¸!Èñ	
ØNXò	
÷
ô
 
�‰ÜÐMô
ñ 

ñ 	ð 	
Ü)Ó+ÜÜØØñ	
ð ò	
÷

ð 

÷
ð 
ú÷


ð 

ús   œBÁBÂBÂB)Ú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  rf   rˆ   r¼  Nrx   )rá   râ   r¯   r@   rf   rˆ   rz  s     rW   Ú#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   rW  )r  rf   rˆ   Nrx   )r   r@   )rò  r{  rf   rˆ   s       rW   Útest_cross_validate_params_noner�  î	  s.   € ô" ¨¸ÈÔJ�D€A€qÙÐAÔ&Ó(¨A°ÑA°jÓArY   c           
      óÜ   — t        j                  d«      }t        j                  t        |¬«      5   | dt        «       t        t        t        g ¬«      dœ|¤Ž ddd«       y# 1 sw Y   yxY w)zMCheck that we raise an error when passing metadata that is not
    requested.z8but are not explicitly set as requested or not requestedr÷   )Úmetadata)r  rf   rˆ   r‰   Nrx   )	r)  Úescaperá   râ   r¯   r@   rf   rˆ   rþ   )rò  r{  rß  s      rW   Ú test_passed_unrequested_metadatar…  
  sa   € ô �i‰iÐRÓS€GÜ	�‰”z¨Ô	1ñ 
Ùð 	
Ü)Ó+ÜÜÜ Ô$ñ		
ð
 ò	
÷
÷ 
ñ 
ús   ±(A"Á"A+c                 ó¨  — t        «       }t        |¬«      j                  dd¬«      }t        «       }t        |¬«      j	                  dd¬«      }t        «       }t        |¬«      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t/        |«      sJ ‚|D ]  }t1        |d| j2                  d|
|¬«       Œ t/        |«      sJ ‚|D ]  }t1        |d| j2                  ||¬«       Œ t/        |«      sJ ‚|D ]  }t1        |d| j2                  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Š  )rf   rˆ   rÖ   r‰   rn   ©Úobjr  ÚparentÚsplit_paramsrµ   rƒ  r  )r’  r  r“  r¼  rƒ  r_   N)rC   rA   Úset_score_requestrB   Úset_split_requestr@   Úset_fit_requestrN   rf   r±   r7  r8  r9  Úrandintr/   rþ   r.   r0   r2   r1   r-   Úupdaterˆ   r­   rD   rt   )rò  r{  Úscorer_registryrÌ  Úsplitter_registryÚsplitterÚestimator_registryr  r  r;  r‰  rŠ  rŒ  r�  rŽ  r�  Úscoring_argsr‰   Ú_scorerÚ	_splitterÚ
_estimators                        rW   Ú!test_validation_functions_routingr¢  
  s{  € ô  “k€OÜ oÔ6×HÑHØ%Ð0@ð Ió €Fô "›ÐÜ Ð*;Ô<×NÑNØÐ(8ð Oó €Hô #›ÐÜ#Ð-?Ô@×PÑPØ)°Nð Qó €Iô œ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Ø'Ø#ö	
ð
ô Ð Ô!Ð!Ð!Ø&ò 
ˆ	ÜØØØ—=‘=ØØ#ö	
ð
ô Ð!Ô"Ð"Ð"Ø(ò 
ˆ
ÜØØØ—=‘=Ø6Ø+Ø!ö	
ñ
rY   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�  )rf   rˆ   rÖ   rc  r‰   r�   r0   r‘  N)rN   rf   r±   r7  r8  r9  rC   r@   Úset_partial_fit_requestr0   rˆ   rB   rþ   r­   rD   )r  r;  rŽ  r�  r�  r  r¡  s          rW   Ú8test_learning_curve_exploit_incremental_learning_routingr¥  …
  sÌ   € ô
 œQ“€IÜ
�)‰)×
Ñ
 Ó
"€CØŸ™ Ó+ÐØ—8‘8˜IÓ&€Lä"›ÐÜ#Ø#ôçÑØ)°Nð ó ð ô ØÜ
Ü
ÜÓØ%)ÜÐ&7ÀlÔSõô Ð!Ô"Ð"Ð"Ø(ò 
ˆ
ÜØØ Ø#Ø6Ø+Ø!ö	
ñ
rY   )Úrw   r  r)  r[  r  r§  Ú	functoolsr   Úior   Útimer   Únumpyr±   rá   Úscipy.sparser   Úsklearnr   Úsklearn.baser   r	   r
   Úsklearn.clusterr   Úsklearn.datasetsr   r   r   r   r   r   Úsklearn.ensembler   Úsklearn.exceptionsr   Úsklearn.imputer   Úsklearn.linear_modelr   r   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.   r/   r0   r1   r2   Ú#sklearn.model_selection._validationr3   r4   r5   Ú$sklearn.model_selection.tests.commonr6   Ú)sklearn.model_selection.tests.test_searchr7   Úsklearn.multiclassr8   Úsklearn.neighborsr9   Úsklearn.neural_networkr:   Úsklearn.pipeliner;   Úsklearn.preprocessingr<   r=   Úsklearn.svmr>   r?   Ú%sklearn.tests.metadata_routing_commonr@   rA   rB   rC   rD   Úsklearn.utilsrE   Úsklearn.utils._mockingrF   rG   Úsklearn.utils._testingrH   rI   rJ   rK   Úsklearn.utils.fixesrL   rM   Úsklearn.utils.validationrN   rP   rz   r‘   r›   r¡   r™  rf   r   rˆ   rÝ   r—  r³   ÚmarkÚparametrizeré   ró   r  r  r{  r2  r!  r"  r\  rs  r„  r�  rž  r©  r°  r¸  rÍ  rØ  rà  râ  ró  r  r  r  r   r'  r+  r5  r>  r@  rU  rX  ra  rf  ri  rk  rv  rz  r|  r~  rŠ  rŒ  rŽ  r“  r•  r�  r   r¤  r¬  r´  rÁ  rÌ  rÏ  rÑ  rÓ  r×  rÙ  rÝ  rß  ré  rí  rï  rõ  rü  r  r  r  r  r  rÿ   r/  r1  r4  Úfilterwarningsr;  rC  rF  rU  r7  rd  rf  rm  rv  r|  r  r�  r…  r¢  r¥  rx   rY   rW   ú<module>rÈ     sY  ðÙ  ã 	Û 	Û 
Û Û Ý Ý Ý ã Û Ý !å "ß >Ñ >Ý "÷÷ õ 4Ý /Ý (÷õ ÷
÷ 
õ 
õ 7÷÷ ÷ ÷ ñ ÷"ñ õ
 AÝ GÝ 2Ý 2Ý /Ý %ß 5ß &÷õ õ "ß D÷ó ÷ ?Ý 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1Wòh#ò #ð  ‡�×Ò˜¨.Ó9ñ22ó :ð22òj2ò$Tò,
$ð ‡�×Ò˜¨.Ó9ñ&ó :ð&ò:=òzSò&%ò4Kò Wò4Sò0$òNCò.,ò,Sò(Kò\ò&-ò`Iò6ò,+Dò\#òL=ð ‡�×Ò˜¨.Ó9ñ3ó :ð3ò$
ò*
ò81Eòh:ò>òò>ò>ò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ð< ‡�×ÒØà	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Á(ÈAÈ3Ã-ÑPÐQðóñ
óð
ð( ‡�×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Á(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñ
ó .ó
ð
ð ‡�×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Á(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñBó .ó
ðBð ‡�×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Á(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñ
ó .ó
ð
ð ‡�×ÒØà	˜ÐØ	˜"ÐØ	˜BÐØ	˜ÐØ	 Ð$Ø	¨'À(À"Ç(Á(ÈAÈ3Ã-ÑPÐQðó
ñ ¨Ô-ñY
ó .ó
ðY
ñx ¨Ô-ñ"
ó .ñ"
rY   