Ë
    ÷Q(h„{  ã                   ó†  — U 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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 d dlmZ d d	lmZmZ d d
lmZmZmZmZ d dlm Z  d dl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZAmBZB d dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZN d dlOmPZP ej¢                  j¥                  d«      ZSd\  ZTZUeSj­                  eTeU«      ZWeSj±                  d deT¬«      ZYeYdk\  jµ                  e[«      Z\ ejº                  eY«      Z^eSj±                  d deTdf¬«      Z_ e`e_jÂ                  d   «      D � cg c]  }  ejº                  e_dd…| f   «      ‘Œ c} ZbeSj±                  d deT¬«      ZceSj­                  eT«      ZdeSj±                  d d eeeY«      ¬«      Zfg eAddeWe_ddgdœ‘e@dd eWe_ddgdd!ebiid"œ‘edd eWeYdgd#d$œ‘e?d%d eWe_dgdœ‘eBd%deWe_dgdœ‘e&eWeYd&dd'gd(dgd)œ‘e3dd d*d+d,d-giieWeYdgd#d&dd'gd(dgd.œ‘e7dd d/d+d,d-giieWeYdgd#d&dd'gd(dgd.œ‘e5dd d*d+d,d-giieWeYdgd#d&dd'gd(dgd.œ‘e6dd d/d+d,d-giieWeYdgd#d&dd'gd(dgd.œ‘e2dd eWe\dgd#d$œ‘e8dd eWe\dgd#d$œ‘e<dd eWeYddgdd!e^iid"œ‘e;dd eWeYddgd#dd!e^iid0œ‘e=dd d1dieWeYdgd2œ‘edd eWeYddgdd!e^iid"œ‘e)eWeYd(dgd3œ‘e"eWeYd(dgd3œ‘e$eWeYd(dgd3œ‘e'eWe_d(dgd3œ‘e(eWe_d(dgd3œ‘e#eWeYd(dgd3œ‘e%eWeYd(dgd3œ‘e*ddd4d5ieWeYd#g d6¢ddd'gid7œ	‘e ddd8d9ieWeYdgd2œ‘edd eWeYd9dgd:œ‘eddeWeYd9dgd:œ‘e,eWeYd&dgd;œ‘e+eWeYd&dgd;œ‘e,eWeYd&dgd(dgd)œ‘e+eWeYd&dgd(dgd)œ‘eeWeYd(dgd3œ‘eddeWeYdd<gd=œ‘eDdd eWeYd>g d?¢ddd'gid@œ‘edd eWeYdgd&dgd(dgdAœ
‘ed deWeYg d6¢d=œ‘ed ddgd(dgd&dd'geWeYdBœ
‘ZgeheidC<   	 egD �cg c]  } ej|dD   jÖ                  «      ‘Œ c}Zl e«        e«       gZmdE„ Znd>dFœdG„Zoejà                  jã                  dem«       ed>¬H«      dI„ «       «       Zrejà                  jã                  dem«       ed>¬H«      dJ„ «       «       Zs ed>¬H«      dK„ «       Ztejà                  jã                  dDegel¬L«       ed>¬H«      dM„ «       «       Zuejà                  jã                  dDegel¬L«       ed>¬H«      dN„ «       «       Zvejà                  jã                  dDegel¬L«       ed>¬H«      dO„ «       «       Zwejà                  jã                  dDegel¬L«       ed>¬H«      dP„ «       «       Zxejà                  jã                  dDegel¬L«       ed>¬H«      dQ„ «       «       Zyejà                  jã                  dDegel¬L«       ed>¬H«      dR„ «       «       Zzejà                  jã                  dDegel¬L«       ed>¬H«      dS„ «       «       Z{yc c} w c c}w )Té    N)Úconfig_context)ÚBaseEstimatorÚis_classifier)ÚCalibratedClassifierCV)ÚTransformedTargetRegressor)ÚGraphicalLassoCV)ÚAdaBoostClassifierÚAdaBoostRegressorÚBaggingClassifierÚBaggingRegressor)ÚUnsetMetadataPassedError)Úenable_halving_search_cvÚenable_iterative_imputer)ÚRFEÚRFECVÚSelectFromModelÚSequentialFeatureSelector)ÚIterativeImputer)ÚElasticNetCVÚLarsCVÚLassoCVÚLassoLarsCVÚLogisticRegressionCVÚMultiTaskElasticNetCVÚMultiTaskLassoCVÚOrthogonalMatchingPursuitCVÚRANSACRegressorÚRidgeClassifierCVÚRidgeCV)Úmean_squared_error)Úmake_scorer)ÚFixedThresholdClassifierÚGridSearchCVÚ
GroupKFoldÚHalvingGridSearchCVÚHalvingRandomSearchCVÚRandomizedSearchCVÚTunedThresholdClassifierCVÚcross_validate)ÚOneVsOneClassifierÚOneVsRestClassifierÚOutputCodeClassifier)ÚClassifierChainÚMultiOutputClassifierÚMultiOutputRegressorÚRegressorChain)ÚSelfTrainingClassifier)	ÚConsumingClassifierÚConsumingRegressorÚConsumingScorerÚConsumingSplitterÚNonConsumingClassifierÚNonConsumingRegressorÚ	_RegistryÚassert_request_is_emptyÚcheck_recorded_metadata)ÚMetadataRouteré*   )éd   é   é   )Úsizeé   é
   Ú	estimatorÚ	regressorÚfitÚpartial_fit)ÚmetaestimatorÚestimator_namerC   ÚXÚyÚestimator_routing_methodsÚ
classifierÚclasses)rG   rH   rC   rI   rJ   rK   Úmethod_argsÚsubset)rG   rH   rC   rI   rJ   rK   Úpreserves_metadataÚbase_estimatorÚscoringÚscoreÚcv)rG   rI   rJ   Úscorer_nameÚscorer_routing_methodsÚcv_nameÚcv_routing_methodsÚ
param_gridÚalphagš™™™™™¹?gš™™™™™É?)rG   rH   rC   Ú	init_argsrI   rJ   rK   rP   rU   rV   rW   rX   Úparam_distributions)rG   rH   rC   rI   rJ   rK   rP   rN   Úrandom_state)rG   rH   rC   r[   rI   rJ   rK   )rG   rI   rJ   rW   rX   Úmin_samplesg      à?)rE   ÚpredictrS   )	rG   rH   rC   r[   rI   rJ   rP   rK   Úmethod_mappingÚskip_completeF)rG   rH   rC   rI   rJ   rP   rK   )rG   rI   rJ   rU   rV   r_   )rG   rC   rH   rI   rJ   rK   T)rE   r_   Úpredict_probaÚpredict_log_probaÚdecision_functionrS   )rG   rH   rC   rI   rJ   rP   rK   r`   )
rG   rH   rC   rI   rJ   rK   rU   rV   rW   rX   )
rG   rC   rH   rK   rW   rX   rU   rV   rI   rJ   ÚMETAESTIMATORSrG   c                 óÚ  — | j                  di «      }d\  }}d\  }}d\  }}d| v rs| d   }	t        «       }| d   }
|r-|
dk(  rt        |«      }nG|
dk(  rt        |«      }n6t	        d«      ‚|
dk(  rt        «       }n|
dk(  rt        «       }nt	        d«      ‚|||	<   d| v r | d   }t        «       }t        |¬	«      }|||<   d
| v r | d
   }t        «       }t        |¬	«      }|||<   |||f||f||ffS )a=  Get the init args for a metaestimator

    This is a helper function to get the init args for a metaestimator from
    the METAESTIMATORS list. It returns an empty dict if no init args are
    required.

    Parameters
    ----------
    metaestimator_info : dict
        The metaestimator info from METAESTIMATORS

    sub_estimator_consumes : bool
        Whether the sub-estimator consumes metadata or not.

    Returns
    -------
    kwargs : dict
        The init args for the metaestimator.

    (estimator, estimator_registry) : (estimator, registry)
        The sub-estimator and the corresponding registry.

    (scorer, scorer_registry) : (scorer, registry)
        The scorer and the corresponding registry.

    (cv, cv_registry) : (CV splitter, registry)
        The CV splitter and the corresponding registry.
    r[   )NNrC   rH   rD   rL   z!Unpermitted `sub_estimator_type`.rU   )ÚregistryrW   )	Úgetr8   r3   r2   Ú
ValueErrorr7   r6   r4   r5   )Úmetaestimator_infoÚsub_estimator_consumesÚkwargsrC   Úestimator_registryÚscorerÚscorer_registryrT   Úcv_registryrH   Úsub_estimator_typerU   rW   s                úp/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/tests/test_metaestimators_metadata_routing.pyÚget_init_argsrs   ã  sI  € ð:  ×#Ñ# K°Ó4€FØ$.Ñ!€IÐ!Ø(Ñ€FˆOØ �O€BˆØÐ(Ñ(Ø+Ð,<Ñ=ˆÜ&›[ÐØ/°Ñ<ÐÙ!Ø! [Ò0Ü.Ð/AÓB‘	Ø# |Ò3Ü/Ð0BÓC‘	ä Ð!DÓEÐEà! [Ò0Ü1Ó3‘	Ø# |Ò3Ü2Ó4‘	ä Ð!DÓEÐEØ!*ˆˆ~ÑØÐ*Ñ*Ø(¨Ñ7ˆÜ#›+ˆÜ ¨/Ô:ˆØ$ˆˆ{ÑØÐ&Ñ&Ø$ YÑ/ˆÜ“kˆÜ¨Ô4ˆØˆˆw‰ð 	Ø	Ð&Ð'Ø	�Ð!Ø	ˆ[Ðð	ð ó    )Úvaluec                óÎ   — |D ]`  }|j                  ||g«      D ]H  }t        | d|› d�«      } |di ||i¤Ž t        | t        «      sŒ.t	        | «      sŒ:|dk(  sŒ@ |d¬«       ŒJ Œb y)aû  Call `set_{method}_request` on a list of methods from the sub-estimator.

    Parameters
    ----------
    obj : BaseEstimator
        The object for which `set_{method}_request` methods are called.

    method_mapping : dict
        The method mapping in the form of `{caller: [callee, ...]}`.
        If a "caller" is not present in the method mapping, a one-to-one mapping is
        assumed.

    methods : list of str
        The list of methods as "caller"s for which the request for the child should
        be set.

    metadata_name : str
        The name of the metadata to be routed, usually either `"metadata"` or
        `"sample_weight"` in our tests.

    value : None, bool, or str
        The request value to be set, by default it's `True`
    Úset_Ú_requestrF   T©rM   N© )rh   ÚgetattrÚ
isinstancer   r   )Úobjr`   ÚmethodsÚmetadata_nameru   ÚcallerÚcalleeÚset_request_for_methods           rr   Úset_requestsrƒ   *  sy   € ð0 ò 	5ˆØ$×(Ñ(¨°&°Ó:ò 	5ˆFÜ%,¨S°D¸¸ÀÐ2IÓ%JÐ"Ù"Ñ< m°UÐ%;Ò<ä˜3¤Õ.Ü! #Õ&Ø˜mÓ+á&¨tÖ4ñ	5ñ	5rt   )Úenable_metadata_routingc                 ó€   — t        j                  t        «      5  | j                  «        ddd«       y# 1 sw Y   yxY w)zvTest that get_metadata_routing is not implemented on meta-estimators for
    which we haven't implemented routing yet.N)ÚpytestÚraisesÚNotImplementedErrorÚget_metadata_routing©rC   s    rr   Ú0test_unsupported_estimators_get_metadata_routingr‹   N  s2   € ô
 
�‰Ô*Ó	+ñ )Ø×&Ñ&Ô(÷)÷ )ñ )ús   š4´=c                 óº   — t        j                  t        «      5  	 | j                  dggdgdg¬«       	 ddd«       y# t        $ r t        ‚w xY w# 1 sw Y   yxY w)z«Test that fit raises NotImplementedError when metadata routing is
    enabled and a metadata is passed on meta-estimators for which we haven't
    implemented routing yet.rA   ©Úsample_weightN)r†   r‡   rˆ   rE   Ú	TypeErrorrŠ   s    rr   Ú-test_unsupported_estimators_fit_with_metadatar�   W  sc   € ô 
�‰Ô*Ó	+ñ &ð	&Ø�M‰M˜A˜3˜% ! °Q°CˆMÕ8÷&ð &øô ò 	&ô &Ð%ð	&ú÷&ð &ús   šAœ>¾AÁAÁAc                  óœ   — t        «       } t        «       }| |usJ ‚| t        j                  | «      u sJ ‚| t        j                  | «      u sJ ‚y )N)r8   ÚcopyÚdeepcopy)ÚaÚbs     rr   Útest_registry_copyr–   f  sK   € ô 	‹€AÜ‹€AØ�A‰:Ðˆ:Ø”—	‘	˜!“ÑÐÐØ”—‘˜aÓ Ñ Ð Ñ rt   )Úidsc                 óÊ   — | d   }t        | d¬«      ^}} |di |¤Ž}d| v rddgi}nd }t        |j                  «       |¬«       t        |j                  «       t        «      sJ ‚y )	NrG   T©rk   rW   ÚsplitterÚsplit)Úexcluderz   )rs   r9   r‰   r|   r;   )rG   Úmetaestimator_classrl   Ú_Úinstancerœ   s         rr   Útest_default_requestr    p  ss   € ð (¨Ñ8ÐÜ˜}ÀTÔJ€J€FˆQÙ"Ñ, VÑ,€HØ�MÑ!ð  ˜yÐ)‰àˆÜ˜H×9Ñ9Ó;ÀWÕMÜ�h×3Ñ3Ó5´~ÔFÐFÑFrt   c           
      óÂ  — d| vry | d   }| d   }| d   }| d   }|D �]  }dD �]  }t        | d¬«      ^}\  }}	\  }
}	}	|
r |
j                  di |di¤Ž t        t        dœ|   }||i} |di |¤Ž}d	|› d
|j                  j
                  › d|› �}t        j                  t        t        j                  |«      ¬«      5  t        ||«      }d|vr4t        || j                  di «      dg|¬«        |j                  ||fi |¤Ž t        || j                  di «      dg|d ¬«       	  |||fi |¤Ž d d d «       �Œ �Œ y # t        $ r  ||fi |¤Ž Y Œ#w xY w# 1 sw Y   �Œ<xY w)NrC   rG   rI   rJ   rK   ©rŽ   ÚmetadataTr™   ú[zJ] are passed but are not explicitly set as requested or not requested for ú.)ÚmatchrE   r`   ©r`   r~   r   )r`   r~   r   ru   rz   )rs   Úset_score_requestrŽ   r£   Ú	__class__Ú__name__r†   r‡   r   ÚreÚescaper{   rƒ   rh   rE   r�   )rG   r�   rI   rJ   Úrouting_methodsÚmethod_nameÚkeyrl   rC   rž   rn   ÚvalÚmethod_kwargsrŸ   ÚmsgÚmethods                   rr   Ú0test_error_on_missing_requests_for_sub_estimatorr´   �  sÇ  € ð
 ˜-Ñ'ð 	à'¨Ñ8ÐØ�cÑ€AØ�cÑ€AØ#Ð$?Ñ@€Oà&ó )/ˆØ0ó (	/ˆCÜ6CØ°dô7Ð3ˆF‘N�Y ¡K V¨Q°!ñ Ø(�×(Ñ(Ñ7¨C°¨;Ò7Ü$1¼xÑHÈÑMˆCØ  #˜JˆMÙ*Ñ4¨VÑ4ˆHà�C�5ð "Ø"+×"5Ñ"5×">Ñ">Ð!?¸qÀÀðOð ô —‘Ô7¼r¿y¹yÈ»~ÔNñ /Ü  ¨;Ó7�Ø Ñ+ä Ø!Ø'4×'8Ñ'8Ð9IÈ2Ó'NØ!& Ø&)õ	ð !�H—L‘L  AÑ7¨Ò7ô ØØ#0×#4Ñ#4Ð5EÀrÓ#JØ"˜GØ"%Øõð/á˜1˜aÑ1 =Ò1÷3/ñ /ò(	/ñ)/øôP !ò /Ù˜1Ñ. Ô.ð/ú÷5/ñ /ús+   Â<A&EÄ#
D<Ä<E	ÅEÅE	ÅEÅEc           
      ó°  — d| vry | d   }| d   }| d   }| d   }| j                  di «      }| j                  dd«      }|D ]ú  }d	D ]ó  }t        t        d	œ|   }	||	i}
t        | d¬
«      \  }\  }}\  }}\  }}|rt	        |i dg|¬«       |r|j                  dd¬«       t	        |||g|¬«        |di |¤Ž}t        ||«      }| j                  di «      j                  |i «      }d|vr|j                  ||«       	  |||fi |
¤|¤Ž |sJ ‚|dk(  r|
j                  «       nd}|D ]  }t        |f|||dœ|
¤Ž Œ Œõ Œü y # t        $ r  ||fi |
¤|¤Ž Y ŒMw xY w)NrC   rG   rI   rJ   rK   r`   rP   Tr¢   r™   rS   r§   ©Úgroupsr£   rN   rE   rO   rz   )r³   ÚparentÚsplit_params)rh   rŽ   r£   rs   rƒ   Úset_split_requestr{   rE   r�   Úkeysr:   )rG   r�   rI   rJ   r­   r`   rP   r®   r¯   r°   r±   rl   rC   rg   rn   rž   rT   rŸ   r³   Úextra_method_argsr¹   s                        rr   Ú3test_setting_request_on_sub_estimator_removes_errorr½   ¼  s÷  € ð
 ˜-Ñ'ð 	à'¨Ñ8ÐØ�cÑ€AØ�cÑ€AØ#Ð$?Ñ@€OØ"×&Ñ&Ð'7¸Ó<€NØ&×*Ñ*Ð+?ÀÓFÐà&ò 2ˆØ0ò 1	ˆCÜ$1¼xÑHÈÑMˆCØ  #˜JˆMäBOØ°dôCÑ?ˆFÑ)�Y ©;¨F°A¹¸¸Qñ ÜØ¨2¸°yÐPSõñ Ø×$Ñ$¨D¸4Ð$Ô@ô ØØ-Ø$˜Ø!õ	ñ +Ñ4¨VÑ4ˆHÜ˜X {Ó3ˆFØ -× 1Ñ 1°-ÀÓ D× HÑ HØ˜Ró!Ðð ˜KÑ'à—‘˜Q Ô"ð@á�q˜!ÑB˜}ÐBÐ0AÒBñ ˆO�8à(:¸hÒ(F�×"Ñ"Ô$ÈBð ð &ò �	Ü'Øðà&Ø&Ø!-ñ	ð
 $óññU1	ñ2øôD ò @Ù�qÑ?˜MÐ?Ð->Ô?ð@ús   Ã;D>Ä>EÅEc                 ót  — d| vry d„ }| d   }| d   }| d   }| d   }|D ]  }t        | d¬«      \  }\  }}	\  }	}	\  }	}	 |di |¤Ž}
 |||«       t        |
|«      }| j                  d	i «      j                  |i «      }d
|vr |
j                  ||fi |¤Ž 	  |||fi |¤Ž Œ� y # t        $ r  ||fi |¤Ž Y Œ—w xY w)NrC   c                 óL   — t        | «      r|dk(  r| j                  d¬«       y y y )NrF   Try   )r   Úset_partial_fit_request)rC   r®   s     rr   Úset_requestz7test_non_consuming_estimator_works.<locals>.set_request  s+   € ä˜Ô#¨°}Ò(DØ×-Ñ-°dÐ-Õ;ð )EÐ#rt   rG   rI   rJ   rK   Fr™   rN   rE   rz   )rs   r{   rh   rE   r�   )rG   rÁ   r�   rI   rJ   r­   r®   rl   rC   rž   rŸ   r³   r¼   s                rr   Ú"test_non_consuming_estimator_worksrÂ     s  € ð ˜-Ñ'ð 	ò<ð
 (¨Ñ8ÐØ�cÑ€AØ�cÑ€AØ#Ð$?Ñ@€Oà&ò +ˆÜ1>Ø°%ô2
Ñ.ˆ‘�˜A¡  A©¨¨Añ 'Ñ0¨Ñ0ˆÙ�I˜{Ô+Ü˜ ;Ó/ˆØ)×-Ñ-¨m¸RÓ@×DÑDÀ[ÐRTÓUÐØ˜Ñ#ØˆH�L‰L˜˜AÑ3Ð!2Ò3ð	+á�1�aÑ-Ð,Ó-ñ+øô ò 	+Ù�1Ñ*Ð)Ô*ð	+ús   Â
B"Â"B7Â6B7c           
      óÊ  — d| vry| d   }| d   }| j                  di «      }|D ]½  }t        | d¬«      \  }\  }}\  }}	\  }
}|j                  d¬«       |
r|
j                  dd¬	«       |�t	        |||gd
¬«        |di |¤Ž}t        ||«      }d
t        i}d|vr|j                  t        t        «        |t        t        fi |¤Ž |	sJ ‚|	D ]  }t        d|d|ddœ|¤Ž Œ Œ¿ y)ziTest that any requested metadata is correctly routed to the underlying
    scorers in CV estimators.
    rU   NrG   rV   r`   Tr™   r�   r¶   rŽ   r§   rE   rS   )r}   r³   r¸   r¹   rz   )rh   rs   r¨   rº   rƒ   r{   rŽ   rE   rI   rJ   r:   )rG   r�   r­   r`   r®   rl   rC   rž   rn   rg   rT   rŸ   r³   r±   Ú_scorers                  rr   Ú+test_metadata_is_routed_correctly_to_scorerrÅ   )  s4  € ð ˜MÑ)àà'¨Ñ8ÐØ#Ð$<Ñ=€OØ"×&Ñ&Ð'7¸Ó<€Nà&ò ˆÜ>KØ°$ô?
Ñ;ˆ‘�˜AÑ 2 ¨±G°R¸ð 	× Ñ ¨tÐ Ô4ÙØ× Ñ ¨°tÐ Ô<ØÐ ÜØØ-Ø$˜Ø-õ	ñ 'Ñ0¨Ñ0ˆÜ˜ ;Ó/ˆØ(¬-Ð8ˆØ˜Ñ#Ø�L‰LœœAÔÙŒq”!Ñ%�}Ò%áˆˆxØò 	ˆGÜ#ð ØØØ"Ø/ñ	ð
  óñ	ñ-rt   c           	      ó~  — d| vry| d   }| d   }| d   }| d   }|D ]Ÿ  }t        | d¬«      \  }\  }}\  }	}\  }
}|r|j                  dd¬	«       |	r|	j                  dd¬	«       |
j                  dd¬
«        |di |¤Ž}t        t
        d
œ}t        ||«      } |||fi |¤Ž |sJ ‚|D ]  }t        d|d|dœ|¤Ž Œ Œ¡ y)zkTest that any requested metadata is correctly routed to the underlying
    splitters in CV estimators.
    rX   NrG   rI   rJ   Tr™   Fr¢   r¶   r›   )r}   r³   r¸   rz   )rs   Úset_fit_requestr¨   rº   r·   r£   r{   r:   )rG   r�   r­   ÚX_Úy_r®   rl   rC   rž   rn   rT   rg   rŸ   r±   r³   Ú	_splitters                   rr   Ú-test_metadata_is_routed_correctly_to_splitterrË   W  s  € ð  =Ñ0àà'¨Ñ8ÐØ#Ð$8Ñ9€OØ	�sÑ	€BØ	�sÑ	€Bà&ò ˆÜ>KØ°$ô?
Ñ;ˆ‘�˜A¡ ¨©^¨b°(ñ Ø×%Ñ%°EÀEÐ%ÔJÙØ×$Ñ$°5À5Ð$ÔIØ
×Ñ D°4ÐÔ8Ù&Ñ0¨Ñ0ˆÜ#)´xÑ@ˆÜ˜ ;Ó/ˆÙˆr�2Ñ'˜Ò'ÙˆˆxØ!ò 	ˆIÜ#ð Ø g°kñØERóñ	ñrt   c                 óö   — d| vry| d   }| d   }| d   }t        | d¬«      ^}}|j                  dd«        |ddt        d	¬
«      i|¤Ž}t        |||dt        it        d	¬
«      t        t        d¬«      ¬«       y)zôTest that groups are routed correctly if group splitter of CV estimator is used
    within cross_validate. Regression test for issue described in PR #29634 to test that
    `ValueError: The 'groups' parameter should not be None.` is not raised.rX   NrG   rI   rJ   Tr™   rT   é   )Ún_splitsr·   r_   )Úresponse_method)ÚparamsrT   rR   rz   )rs   Úpopr$   r)   r·   r!   r    )rG   r�   rÈ   rÉ   rl   rž   rŸ   s          rr   Ú&test_metadata_routed_to_group_splitterrÒ   z  s�   € ð  =Ñ0àà'¨Ñ8ÐØ	�sÑ	€BØ	�sÑ	€Bä˜}ÀTÔJ€J€FˆQà
‡J�Jˆt�TÔÙ"ÑG¤j¸!Ô&<ÐGÀÑG€HÜØØ
Ø
Øœ&Ð!Ü˜qÔ!ÜÔ.À	ÔJört   )|r’   r«   ÚnumpyÚnpr†   Úsklearnr   Úsklearn.baser   r   Úsklearn.calibrationr   Úsklearn.composer   Úsklearn.covariancer   Úsklearn.ensembler	   r
   r   r   Úsklearn.exceptionsr   Úsklearn.experimentalr   r   Úsklearn.feature_selectionr   r   r   r   Úsklearn.imputer   Úsklearn.linear_modelr   r   r   r   r   r   r   r   r   r   r   Úsklearn.metrics._regressionr    Úsklearn.metrics._scorerr!   Úsklearn.model_selectionr"   r#   r$   r%   r&   r'   r(   r)   Úsklearn.multiclassr*   r+   r,   Úsklearn.multioutputr-   r.   r/   r0   Úsklearn.semi_supervisedr1   Ú%sklearn.tests.metadata_routing_commonr2   r3   r4   r5   r6   r7   r8   r9   r:   Úsklearn.utils.metadata_routingr;   ÚrandomÚRandomStateÚrngÚNÚMÚrandrI   ÚrandintrJ   ÚastypeÚintÚy_binaryÚuniquerM   Úy_multiÚrangeÚshapeÚclasses_multir£   rŽ   Úlenr·   re   ÚlistÚ__annotations__Ústrrª   ÚMETAESTIMATOR_IDSÚUNSUPPORTED_ESTIMATORSrs   rƒ   ÚmarkÚparametrizer‹   r�   r–   r    r´   r½   rÂ   rÅ   rË   rÒ   )ÚiÚrows   00rr   ú<module>r     sO
  ðÜ Û 	ã Û å "ß 5Ý 6Ý 6Ý /÷ó õ 8÷÷ó õ ,÷÷ ÷ ñ õ ;Ý /÷	÷ 	ó 	÷ñ ÷
ó õ ;÷
÷ 
õ 
õ :à‡i�i×Ñ˜BÓ€Ø�€€1Ø‡H�HˆQ�ƒN€Ø‡K�K��1˜1€KÓ€Ø�‰F�?‰?˜3Ó€Ø
ˆ"�)‰)�A‹,€Ø
�+‰+�a˜ ! Q ˆ+Ó
(€Ù38¸¿¹ÀqÑ9IÓ3JÖK¨a��—‘˜7¢1 a 4™=Õ)ÒK€Ø�;‰;�q˜" 1ˆ;Ó%€Ø—‘˜“€Ø	�‰�Q˜¡ Q£ˆÓ	(€ðZà-Ø%Ø ØØØ&+¨]Ð%;ñðZð /Ø%Ø!ØØØ&+¨]Ð%;Ø%¨	°=Ð'AÐBñðZð& 0Ø%Ø!ØØØ&+ WØ&ñð%Zð8 )Ø*Ø!ØØØ&+ Wñð7ZðH (Ø*Ø ØØØ&+ WñðGZðX .ØØØ Ø#(¨'Ð"2ØØ$˜gñðWZðj &Ø%Ø!Ø" W¨s°C¨jÐ$9Ð:ØØØ&+ WØ&Ø Ø#(¨'Ð"2ØØ$˜gñðiZðF ,Ø%Ø!Ø+¨g¸¸S°zÐ-BÐCØØØ&+ WØ&Ø Ø#(¨'Ð"2ØØ$˜gñðEZðb -Ø%Ø!Ø" W¨s°C¨jÐ$9Ð:ØØØ&+ WØ&Ø Ø#(¨'Ð"2ØØ$˜gñðaZð~ /Ø%Ø!Ø+¨g¸¸S°zÐ-BÐCØØØ&+ WØ&Ø Ø#(¨'Ð"2ØØ$˜gñð}ZðZ 2Ø%Ø!ØØØ&+ WØ&ñðYZðl 4Ø%Ø!ØØØ&+ WØ&ñðkZð~ -Ø%Ø!ØØØ&+¨]Ð%;Ø%¨	°7Ð';Ð<ñð}ZðP ,Ø%Ø!ØØØ&+¨]Ð%;Ø&Ø%¨	°7Ð';Ð<ñ	ðOZðd .Ø%Ø!Ø$ bÐ)ØØØ&+ WñðcZðv )Ø%Ø!ØØØ&+¨]Ð%;Ø%¨	°7Ð';Ð<ñðuZðH 5ØØØØ$˜gñðGZðV &ØØØØ$˜gñðUZðd !ØØØØ$˜gñðcZðr /ØØØØ$˜gñðqZð@ *ØØØØ$˜gñðZðN  ØØØØ$˜gñðMZð\ %ØØØØ$˜gñð[Zðj )Ø%Ø Ø# SÐ)ØØØ&Ú%@Ø  5¨'Ð"2Ð3ñ
ðiZð@ *Ø%Ø Ø% uÐ-ØØØ&+ WñðZðR +Ø%Ø!ØØØ#Ø&+ WñðQZðd *Ø%Ø ØØØ#Ø&+ WñðcZðv !ØØØ Ø#( 'ñðuZðD +ØØØ Ø#( 'ñðCZðR !ØØØ Ø#( 'ØØ$˜gñðQZðd +ØØØ Ø#( 'ØØ$˜gñðcZðv *ØØØØ$˜gñðuZðD	 4Ø Ø%ØØØ&+¨YÐ%7ñðC	ZðT	 0Ø%Ø!ØØØ"ò&
ð ! 5¨'Ð"2Ð3ñðS	Zðv	 3Ø%Ø!ØØØ&+ WØ Ø#( 'ØØ$˜gñðu	ZðN
 Ø!Ø%ØØÚ%@ñðM
Zð^
 Ø!Ø%Ø&+ WØØ$˜gØ Ø#(¨'Ð"2ØØñð]
Z€�ó Zðv
 ðF DRÖR¸C‘S˜˜_Ñ-×6Ñ6Õ7ÒRÐ ñ ÓÙÓðÐ òDðN HLô !5ðH ‡�×Ñ˜Ð&<Ó=Ù¨Ô-ñ)ó .ó >ð)ð ‡�×Ñ˜Ð&<Ó=Ù¨Ô-ñ
&ó .ó >ð
&ñ ¨Ô-ñ!ó .ð!ð ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñGó .ó QðGð ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñ6/ó .ó Qð6/ðr ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñAó .ó QðAðH ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñ"+ó .ó Qð"+ðJ ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñ)ó .ó Qð)ðX ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñó .ó QððB ‡�×Ñ˜¨.Ð>OÐÓPÙ¨Ô-ñó .ó QñùòK LùòH Ss   Å) V9ÏV>