
    -iRq                     	   S SK Jr  S SKrS SKrS SKJrJrJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJrJrJrJrJrJrJrJrJr  S SKJrJr  S S	KJrJr  S S
K J!r!J"r"   " S S\5      r# " S S\5      r$\RJ                  RM                  S5      \RJ                  RM                  S5      \RJ                  RM                  S5      \RJ                  RO                  S\\45      \RJ                  RO                  SS5      S 5       5       5       5       5       r(\RJ                  RO                  S\\45      \RJ                  RO                  SSSSSSS/ SQ/ SQ4SSSSSS/ S Q/ S!Q4SS"SSSS/ SQ/ S#Q4SS"SSSS/ SQ/ S#Q4/5      S$ 5       5       r)\RJ                  RO                  S\\45      \RJ                  RO                  S%S&S'S(SS)S*/4S+S'S(SS+S,/4S&S-SSS)/4S.S'S(S(S/S0/4S.S1S(S(S/S0/4S.S0S(S(S/S0/4S.S2S(S(S3S2/4S.S4S(S(S5S6/4S.S7S(S(S8S7/4S.S*S(S(S)S*/4S.S+SSS)/4S.S)SSS)/4/5      S9 5       5       r*\RJ                  RO                  S\\45      \RJ                  RO                  S:/ S;Q5      S< 5       5       r+\RJ                  RO                  S\\45      S= 5       r,\RJ                  RO                  S>/ S?Q5      S@ 5       r-\RJ                  RO                  SASBSS(/0S(4SB\" SS5      0SC4/5      SD 5       r.\RJ                  RO                  S\\45      \RJ                  RO                  SESFSG0SH4SBS8SI.SJ4S'SKSL.SM4SNSOSP.SQ4SR\" SSS90ST4SR\" 5       0ST4/5      SU 5       5       r/\RJ                  RO                  SES.S.SV.SW4/5      SX 5       r0\RJ                  RO                  SY/ SZQ5      S[ 5       r1\RJ                  RO                  S\S]5      S^ 5       r2\RJ                  RO                  S_SS S`/4S(S SBS`/4SS / SaQ4SCS / SaQ4SSSb/4S(SScSb/4SCSScSb/4SS(Sd/4SCS(/ SeQ4/	5      Sf 5       r3\RJ                  RO                  S\\45      Sg 5       r4\RJ                  RO                  S\\45      Sh 5       r5\RJ                  RO                  S\\45      Si 5       r6\RJ                  RO                  Sj\\/5      Sk 5       r7\RJ                  RO                  Sj\\/5      Sl 5       r8Sm r9g)n    )ceilN)exponnormrandint)make_classification)DummyClassifier)enable_halving_search_cv)

GroupKFoldGroupShuffleSplitHalvingGridSearchCVHalvingRandomSearchCVKFoldLeaveOneGroupOutLeavePGroupsOutShuffleSplitStratifiedKFoldStratifiedShuffleSplit)_SubsampleMetaSplitter_top_k)check_cv_results_array_typescheck_cv_results_keys)SVC	LinearSVCc            	          ^ \ rS rSr% Sr0 \R                  E\" \" S5      \" S5      S-   5       V VVs0 s H  n[        U5      S_M     snnn Er\
\S'    SU4S jjrSU4S	 jjrS
rU=r$ s  snnn f )FastClassifier!   zDummy classifier that accepts parameters a, b, ... z.

These parameter don't affect the predictions and are useful for fast
grid searching.az   no_validation_parameter_constraintsc                 "   > [         TU ]  XUS9  g N)strategyrandom_stateconstant)super__init__)selfr$   r%   r&   kwargs	__class__s        h/var/www/html/venv/lib/python3.13/site-packages/sklearn/model_selection/tests/test_successive_halving.pyr(   FastClassifier.__init__-   s     	8 	 	
    c                    > [         TU ]  US9n[        [        S5      [        S5      S-   5       H  nSU[	        U5      '   M     U$ )N)deepr   r   r   whatever)r'   
get_paramsrangeordchr)r)   r0   paramscharr+   s       r,   r2   FastClassifier.get_params4   sE    ##.#c(CHqL1D *F3t9 2r.    )
stratifiedNN)F)__name__
__module____qualname____firstlineno____doc__r   r!   r3   r4   r5   dict__annotations__r(   r2   __static_attributes____classcell__).0keyr5   r+   s   000@r,   r   r   !   sv    $

0
0$05c#hC10M
N0M3s8_$0M
N$D  BF
  Os   A,
r   c                   R   ^  \ rS rSr       SU 4S jjrU 4S jrU 4S jrSrU =r$ )SometimesFailClassifier;   c                 R   > XPl         X`l        X@l        Xpl        [        TU ]  XUS9  g r#   )fail_fitfail_predictn_estimatorsr   r'   r(   )	r)   r$   r%   r&   rL   rJ   rK   r   r+   s	           r,   r(    SometimesFailClassifier.__init__<   s2     !((8 	 	
r.   c                 Z   > U R                   (       a  [        S5      e[        TU ]  X5      $ )Nzfitting failed)rJ   	Exceptionr'   fit)r)   Xyr+   s      r,   rP   SometimesFailClassifier.fitO   s%    ==,--w{1  r.   c                 Z   > U R                   (       a  [        S5      e[        TU ]  U5      $ )Nzpredict failed)rK   rO   r'   predict)r)   rQ   r+   s     r,   rU   SometimesFailClassifier.predictT   s'    ,--wq!!r.   )r   rJ   rK   rL   )r:   NN
   FFr   )	r;   r<   r=   r>   r(   rP   rU   rB   rC   )r+   s   @r,   rG   rG   ;   s.     

&!
" "r.   rG   z+ignore::sklearn.exceptions.FitFailedWarningz!ignore:Scoring failed:UserWarningz%ignore:One or more of the:UserWarningHalvingSearchfail_at)rP   rU   c           	         Sn[        USS9u  p4U " [        5       SU 3SS/S[        S5      0S	S
SSS9nUR                  X45        UR                  SU 3   (       a   eUR
                  S   nUR
                  S   n[        R                  " U5      R                  5       (       d   e[        R                  " U[        R                  " U5         5      nUR                  S   S:X  d   eUS   U:  R                  5       (       d   eg)zXCheck the selection of the best scores in presence of failure represented by
NaN values.  r   	n_samplesr%   fail_FTr      rL      r      )resourcemax_resourcesmin_resourcesfactormean_test_scorerank_test_scoreN)r   rG   r3   rP   best_params_cv_results_npisnananyuniqueshapeall)	rX   rY   r]   rQ   rR   searchscoresranksunique_nan_rankss	            r,   test_nan_handlingrt   Z   s    ICDA!		UDM3a9F JJq ""U7)#4555 12F01E 88F!!!!yyrxx'7!89!!!$)))Q5(--////r.   Estzaggressive_elimination,max_resources,expected_n_iterations,expected_n_required_iterations,expected_n_possible_iterations,expected_n_remaining_candidates,expected_n_candidates,expected_n_resources,Tlimited   r_   r   )<         r_   )ry   ry   rx      F)rx   ry   rz   )ry   rx   r{   	unlimited)%   o   M    c	                 @   Sn	[        U	SS9u  pS[        [        S5      5      S.n[        5       nUS:X  a  SnOU	nU " UUUUS	S
9nUR	                  SS9  U [
        L a  UR	                  SSS9  UR                  X5        UR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   e[        UR                  S   UR                  -  5      UR                  :X  d   eg )Nr[   r   r\   l1l2   r   brv   r{   r_   )aggressive_eliminationrc   re   T)verboserx   exhaustn_candidatesrd   )r   listr3   r   
set_paramsr   rP   n_iterations_n_required_iterations_n_possible_iterations_n_resources_n_candidates_n_remaining_candidates_r   re   )ru   r   rc   expected_n_iterationsexpected_n_required_iterationsexpected_n_possible_iterationsexpected_n_remaining_candidatesexpected_n_candidatesexpected_n_resourcesr]   rQ   rR   
param_gridbase_estimatorshs                  r,   test_aggressive_eliminationr      s:   R ICDA#$uRy/:J#%N	!!	5#
B MM$M
##
6CFF1L4444$$(FFFF$$(FFFF??22224444%%)HHHH  $ryy01R5O5OOOOr.   zfmin_resources,max_resources,expected_n_iterations,expected_n_possible_iterations,expected_n_resources,smallestautora   ry   rx   2      r   r   r   r   r[   iX     iW     iU  i,  d   c                    Sn[        USS9u  pxSS// SQS.n	[        5       n
U " U
U	SUUS	9nU [        L a  UR                  S
S9  UR	                  Xx5        SnUR
                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eUS:X  a:  UR                  UR
                  s=:X  a  [        UR                  5      :X  d   e   eg g )Nr[   r   r\   r   ra   )r   ra   r_   r   r_   )re   rd   rc   r`   r   r   )
r   r   r   r   rP   r   r   r   r   len)ru   rd   rc   r   r   r   r]   rQ   rR   r   r   r   r   s                r,   test_min_max_resourcesr      s    L ICDA1vI.J#%N	##
B ##
1%FF1L%&"4444$$(FFFF$$(FFFF??2222	!((B,<,<TBOO@TTTTTT "r.   z2max_resources, n_iterations, n_possible_iterations)	)r      	   )   r   r   )i  r      )   r   r   )i  r   rz   )    rw   rw   )   r_   r_   )   r_   r_   )rw   r   r   c           	      >   Sn[        USS9u  pVSS/[        [        S5      5      S.n[        5       nSn	U " UUSU	USS9n
U [        L a  U
R                  S	S
9  U
R                  XV5        U
R                  S:X  d   eU
R                  U:X  d   eU
R                  U:X  d   eg )Nr   r   r\   ra   rW   r   rw   )cvre   rc   rd   ry   r   r   )
r   r   r3   r   r   r   rP   r   r   r   )ru   rc   n_iterationsn_possible_iterationsr]   rQ   rR   r   r   re   r   s              r,   test_n_iterationsr     s    ( ICDA1vDrO4J#%NF	#
B ##
2&FF1L$$)))|+++$$(====r.   c           	         Sn[        USS9u  p#SS/[        [        S5      5      S.n[        5       nU " XTSSSS	S
9nUR	                  X#5        [        UR                  5      [        / SQ5      :X  d   e[        UR                  S   UR                  S   UR                  S   5       H  u  pxn	XxS   s=:X  a	  U	:X  a  M   e   e   [        R                  " [        SS9   [        XTSSSS9nUR	                  X#5        S S S 5        [        R                  " [        SS9   SS/SS/SS	/S.n[        XTSSSS9nUR	                  X#5        S S S 5        g ! , (       d  f       NZ= f! , (       d  f       g = f)Nr[   r   r\   r   ra   rW   r   cr_   )r   rb   rc   re   )r   r_   r   n_resourcesr6   param_cz0Cannot use resource=1234 which is not supported match1234)r   rb   rc   zSCannot use parameter c as the resource since it is part of the searched parameters.)r   r   r   )r   r   r3   r   rP   setr   zipri   pytestraises
ValueErrorr   )
ru   r]   rQ   rR   r   r   r   r_ir6   r   s
             r,   test_resource_parameterr   5  sn    ICDA1vDrO4J#%N	^A2VW	XBFF1Lr3y>111 #
}%
x 
y!!W
 Sk,W,,,,,! 
L
 !1vR
 	q
 
*
 q6AaV<
 1s"
 	q
 

 

 
s   E*E!
E!
E/z2max_resources, n_candidates, expected_n_candidates))r   r      )r   r   r   )r   r   r   )r   rz   rz   )r   r   r   c           
          Sn[        USS9u  pE[        [        S.n[        5       n[        UUUSU SSS9nUR	                  XE5        UR
                  S   U:X  d   eUS:X  a  UR                  S	   U :X  d   eg g )
Nr   r   r\   r   ra   rw   )r   r   rc   re   rd   r   r   )r   r   r   r   rP   r   r   )	rc   r   r   r]   rQ   rR   r   r   r   s	            r,   test_random_searchr   ]  s     ICDA$'J#%N	!#
B FF1LA"7777y  r"m333 !r.   z*param_distributions, expected_n_candidatesr   rW   c                     Sn[        USS9u  p4[        5       n[        XPSS9nUR                  X45        UR                  S   U:X  d   eg )Nr   r   r\   rW   r   )r   r   r   rP   r   )param_distributionsr   r]   rQ   rR   r   r   s          r,   )test_random_search_discrete_distributionsr     sQ    " ICDA#%N	~QS	TBFF1LA"7777r.   zparams, expected_error_messagerb   not_a_parameterz:Cannot use resource=not_a_parameter which is not supported)rb   rc   z:Cannot use parameter a as the resource since it is part ofr   )rc   rb   z:resource can only be 'n_samples' when max_resources='auto'      )rd   rc   z3min_resources_=15 is greater than max_resources_=14r   )shufflezmust yield consistent foldsc                     [        5       nSS/0n[        S5      u  pVU " X440 UD6n[        R                  " [        US9   UR                  XV5        S S S 5        g ! , (       d  f       g = fNr   r   r   r   )r   r   r   r   r   rP   )ru   r6   expected_error_messager   r   rQ   rR   r   s           r,   test_input_errorsr     sY    2 $%NsJs#DA	^	26	2B	z)?	@
q 
A	@	@s   A
A(r   zcannot be both set to 'exhaust'c                     [        5       nSS/0n[        S5      u  pE[        X#40 U D6n[        R                  " [
        US9   UR                  XE5        S S S 5        g ! , (       d  f       g = fr   )r   r   r   r   r   r   rP   )r6   r   r   r   rQ   rR   r   s          r,   test_input_errors_randomizedr     sY     $%NsJs#DA	~	DV	DB	z)?	@
q 
A	@	@s   A
A+zAfraction, subsample_test, expected_train_size, expected_test_size))      ?T(   rW   )r   Fr   ry   )皙?Tr   rw   )r   Fr   ry   c                    Sn[        U5      u  pV[        [        S5      U US S9nUR                  XV5       H  u  pUR                  S   U:X  d   eU	R                  S   U:X  d   eU(       a2  UR                  S   U	R                  S   -   [        X@-  5      :X  d   eMh  U	R                  S   XGR                  R                  5       -  :X  a  M   e   g )Nr   r   base_cvfractionsubsample_testr%   r   )r   r   r   splitrn   intr   get_n_splits)
r   r   expected_train_sizeexpected_test_sizer]   rQ   rR   r   traintests
             r,   test_subsample_splitter_shapesr     s     Iy)DA	a%	
B xx~{{1~!4444zz!} 2222;;q>DJJqM1S9M5NNNN::a=I1H1H1J$JJJJ &r.   r   )TFc                    Sn[        U5      u  p#[        [        S5      SU S S9n[        UR	                  X#S S95      n[        UR	                  X#S S95      n[        XV5       H  u  u  pxu  p[        R                  " Xy:H  5      (       a   eU (       a!  [        R                  " X:H  5      (       a   eMQ  [        R                  " X:H  5      (       d   e[        R                  " X(   X*   :H  5      (       a  M   e   g )Nr   r   r   r   groups)r   r   r   r   r   r   rj   ro   )r   r]   rQ   rR   r   folds_afolds_btrain_atest_atrain_btest_bs              r,   #test_subsample_splitter_determinismr     s     Iy)DA	a3~TX
B 288A8./G288A8./G03G0E,,G66',----vvf./////66&*++++66!)qy01111 1Fr.   zk, itr, expectedr   )dr   r   r   efi)ghr   c                 n    / SQ/ SQ/ SQS.n[        X0US9n[        R                  " XB:H  5      (       d   eg )N	r   r   r   r   r   r   ra   ra   ra   	rw   r_   r   r      rW   r   r`   r   	r   r   r   r   r   r   r   r   r   iterrf   r6   )kitr)r   rj   ro   )r   r   expectedresultsgots        r,   
test_top_kr    s9      ,8?G
 3
'C66#/""""r.   c                   ^ [         R                  " S5      n[        R                  R	                  S5      mSn[        USS9u  p4S[        [        S5      5      S.n[        5       nU4S jnU " XeS	US
9nU [        L a  UR                  SSS9  UR                  X45        [        UR                  S   [        R                  5      (       d   e[        UR                  S   [        R                  5      (       d   eUR                  UR                  5      n	[!        U	S   R#                  5       5      [!        U	5      :X  d   eU	S   R%                  [&        5      U	S'   U	R)                  SSSS9n
UR+                  U
5      nUR,                  n[        US-
  5       H  nX   nXUS-      -  U:H  R/                  5       (       d   eU) XS-      -  nU) U) -  nUR1                  5       UR2                  US-      :X  d   eX   R5                  U5      R7                  5       nX   R5                  U5      R9                  5       nUU:  a  M   e   U	S   R7                  5       nXS   U:H     S   R;                  5       nU	S   R;                  5       nUR<                  U	R>                  U   S   :X  d   eU	R>                  U   S   U	R>                  U   S   :  d   eU	R>                  U   S   U	R>                  U   S   :w  d   eg )Npandasr   r[   r\   r   r   r   c                 $   > TR                  5       $ )N)rand)estrQ   rR   rngs      r,   scorertest_cv_results.<locals>.scorer:  s    xxzr.   ra   )re   scoringrx   r   r   r   r   rf   r6   
params_str)indexcolumnsvaluesr   ) r   importorskiprj   randomRandomStater   r   r3   r   r   r   rP   
isinstanceri   ndarray	DataFramer   rm   applystrpivotisnar   ro   sumr   wheremaxminidxmaxrh   iloc)ru   pdr]   rQ   rR   r   r   r	  r   cv_results_dftablenan_maskn_iteritalready_discarded_maskdiscarded_now_mask	kept_maskdiscarded_max_scorekept_min_score	last_iteridx_best_last_iteridx_best_all_itersr  s                         @r,   test_cv_resultsr.  *  s   
 
		X	&B
))


"CICDA#$uRy/:J#%N 
^6	BB
##
6CFF1L bnnV,bjj9999bnn]3RZZ@@@@LL0M }./6689S=OOOO"/"9"?"?"DM,F3D   E& wwu~HFFQJ!)
 #b1f%559OO
#% 	 
 54xQ7GG++/A.AA	}}""2"226":::: $ioo.@AEEG3779"^333%  4 f%))+I&V'<	'IJfh  ''89@@B??m001CDXNNNN-./@A


/
01B
C	D	D 	-.x801(;	<	<r.   c           	        ^^^ [         R                  " S5      n/ m/ m/ m " UUU4S jS[        5      nSnSn[        USS9u  pVS[	        [        S	5      5      S
.nU" 5       nU " UUSUSSS9n	U [        L a  U	R                  SSS9  U	R                  XV5        [        T5      [        T5      :X  d   e[        TT5       V
Vs/ s H	  u  pX-   PM     nn
nUS S U2   nTS S U2   mUR                  U	R                  5      n[        T5      [        U5      s=:X  a  [        U5      :X  d   e   e[        R                  " USS9u  pU	R                  U:H  R!                  5       (       d   eU	R"                  U:H  R!                  5       (       d   eUS   T:H  R!                  5       (       d   eUS   U:H  R!                  5       (       d   eg s  snn
f )Nr  c                   H   >^  \ rS rSrU U4S jrU U4S jrU U4S jrSrU =r$ )=test_base_estimator_inputs.<locals>.FastClassifierBookKeepingi  c                 ^   > TR                  UR                  S   5        [        TU ]  X5      $ Nr   )appendrn   r'   rP   )r)   rQ   rR   r+   passed_n_samples_fits      r,   rP   Atest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.fit  s(     ''
37;q$$r.   c                 ^   > TR                  UR                  S   5        [        TU ]  U5      $ r3  )r4  rn   r'   rU   )r)   rQ   r+   passed_n_samples_predicts     r,   rU   Etest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.predict  s(    $++AGGAJ77?1%%r.   c                 F   > TR                  U5        [        TU ]  " S0 UD6$ )Nr9   )r4  r'   r   )r)   r6   r+   passed_paramss     r,   r   Htest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.set_params  s$      (7%///r.   r9   )	r;   r<   r=   r>   rP   rU   r   rB   rC   )r+   r5  r8  r;  s   @r,   FastClassifierBookKeepingr1    s    	%	&	0 	0r.   r=  r   ra   r   r\   r   r   r   F)re   r   return_train_scorerefitrx   r   r   T)return_countsr6   r   )r   r  r   r   r   r3   r   r   rP   r   r   r  ri   rj   rm   r   ro   r   )ru   r   r=  r]   n_splitsrQ   rR   r   r   r   xpassed_n_samplesr!  uniquescountsr5  r8  r;  s                  @@@r,   test_base_estimator_inputsrF    s    
		X	&B!M0 0N 0 IHCDA#$uRy/:J.0N	 
B ##
6CFF1L#$,D(EEEE 46NOO&1O   (
(
3!*H*-MLL0M}%5!6L#m:LLLLLLii 0EOGOOw&++----&++----(#}499;;;;-(,<<AACCCC)s    Gc                    [         R                  R                  S5      n[        SSSS9u  p#UR	                  SSS5      n[        SS9nSS/0n[        5       [        S5      [        SS	9[        SS9/nS
nU HN  n	U " XVU	SS9n
[        R                  " [        US9   U
R                  X#5        S S S 5        U
R                  X#US9  MP     [        5       [        SS9/nU H  n	U " XVU	S9n
U
R                  X#5        M     g ! , (       d  f       NW= f)Nr   r   ra   )r]   	n_classesr%   r_   )r%   Cr   )rA  z*The 'groups' parameter should not be None.)r   r%   r   r   )r   )rj   r  r  r   r   r   r   r   r
   r   r   r   r   rP   r   r   )ru   r  rQ   rR   r   clfgrid	group_cvs	error_msgr   gsnon_group_cvss               r,   test_groups_supportrP    s   
 ))


"CqqIDA[[Ar"F

#C!:D 	Aq)	I =Ir2]]:Y7FF1L 8
qF#	  %&(>A(NOMr"
q  87s   C>>
D	SearchCVc                 
   [        5       nSS/0n[        R                  " S5      R                  SS5      nU " XSS9nSn[        R
                  " [        US9   UR                  U/ 5        S	S	S	5        g	! , (       d  f       g	= f)
zBCheck that we raise an error if the minimum resources is set to 0.r   r   r   r_   r   )rd   z;min_resources_=0: you might have passed an empty dataset X.r   N)r   rj   emptyreshaper   r   r   rP   )rQ  r   r   rQ   rp   err_msgs         r,   test_min_resources_nullrV    sj     $%NsJ
Aq!An
KFKG	z	1

1b 
2	1	1s   A44
Bc                     [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      S.nU R                  SSU5      nUS:X  d   eg)z3Check the selection strategy of the halving search.r   r   r   r   Nr   )rj   array_select_best_index)rQ  r   
best_indexs      r,   test_select_best_indexr[    sT     4588$AB((HIG ,,T4AJ??r.   c                    ^	 [        SSSS9u  pS/[        SS9[        SS9S	.S
/SS/S./nSnSnSn[        [        5       SUSSS9nUR	                  X5        [        UR                  5      nUR                  m	[        T	X4Xu5        SSSSS.n[        XcXH5        [        U	4S j[        U5       5       5      (       d   e[        U	4S j[        U5       5       5      (       d   eg)ziCheck the behaviour of the `HalvingRandomSearchCV` with `param_distribution`
being a list of dictionary.
r   rw   *   )r]   
n_featuresr%   rbfrW   )scaleg?)kernelrI  gammapolyra   r_   )ra  degree)param_Cparam_degreeparam_gammaparam_kernel)rf   mean_train_scorerg   split0_test_scoresplit1_test_scoresplit2_test_scoresplit0_train_scoresplit1_train_scoresplit2_train_scorestd_test_scorestd_train_scoremean_fit_timestd_fit_timemean_score_timestd_score_time)r   r   Tr   )r   r   r>  r%   r   r   Oc              3      >#    U  H\  nTS    U   S:X  d  M  TS   R                   U   =(       a0    TS   R                   U   =(       a    TS   R                   U   (       + v   M^     g7f)rh  rc  re  rg  rf  NmaskrD   r   
cv_resultss     r,   	<genexpr>;test_halving_random_search_list_of_dicts.<locals>.<genexpr>D  sx       %An%a(F27Jy!&&q) 7=)..q17~.33A667 %s   A'AA'c              3      >#    U  Ha  nTS    U   S:X  d  M  TS   R                   U   (       + =(       a0    TS   R                   U   (       + =(       a    TS   R                   U   v   Mc     g7f)rh  r_  re  rg  rf  Nrx  rz  s     r,   r|  r}  M  s{       %An%a(E13
9%**1-- 3}-221553>*//23 %s   A,AA,N)r   r   r   r   rP   r  r   ri   r   r   ro   r3   )
rQ   rR   r6   
param_keys
score_keys
extra_keysrp   r   expected_cv_results_kindsr{  s
            @r,   (test_halving_random_search_list_of_dictsr    s     LDA 7R5s;KL81v.FJJ" )J"!DWXF JJqv++,L##J*jlW	! !J   |$       |$    r.   ):mathr   numpyrj   r   scipy.statsr   r   r   sklearn.datasetsr   sklearn.dummyr   sklearn.experimentalr	   sklearn.model_selectionr
   r   r   r   r   r   r   r   r   r   2sklearn.model_selection._search_successive_halvingr   r   )sklearn.model_selection.tests.test_searchr   r   sklearn.svmr   r   r   rG   markfilterwarningsparametrizert   r   r   r   r   r   r   r   r   r   r   r  r.  rF  rP  rV  r[  r  r9   r.   r,   <module>r     sv      , , 0 ) 9   '_ 4"o "> IJ?@CD+>@U*VW$670 8 X E A K
0B !46K LM	  
y!Q1n6GH 
	1aA{MB 
{Aq!Q8KL	Q1a9LM6,P7 N8,P^ !46K LM	  
VQB8,	VQB9%	RAt$	FAq3*-	D!Qc
+	CASz*	CASz*	CASz*	CASz*	B1r2h'	B1rd#	B1rd#!6!U7 N8!UH !68K LM8> N >4 !68K LM$ N$N 8	4	42 0
1v
wq!}	r"88$ !46K LM$ *+H	

 s3H	

 %#6H	

 !26A	
 d#	$&CD
	!>?%./ N0 $ 'C-	


 GKK0 )=92 :2< 	
Au	
ASz	
A#$	Q$%	
Au	
ASz	Qc
	
Au	Q 
## !68K LMa NaH !46K LM?D N?DD !46K LM N@ &;=P%QR
 S
 &9;P%QR
 S
Fr.   