
    PiRq                     (
   d dl mZ d dlZd dlZd dl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mZmZmZmZmZ d dlmZmZ d d	lmZmZ d d
l m!Z!m"Z"  G d de          Z# G d de          Z$ej%        &                    d          ej%        &                    d          ej%        &                    d          ej%        '                    deef          ej%        '                    dd          d                                                             Z(ej%        '                    deef          ej%        '                    dddddddg dg dfddddddg d g d!fdd"ddddg dg d#fdd"ddddg dg d#fg          d$                         Z)ej%        '                    deef          ej%        '                    d%d&d'd(dd)d*gfd+d'd(dd+d,gfd&d-ddd)gfd.d'd(d(d/d0gfd.d1d(d(d/d0gfd.d0d(d(d/d0gfd.d2d(d(d3d2gfd.d4d(d(d5d6gfd.d7d(d(d8d7gfd.d*d(d(d)d*gfd.d+ddd)gfd.d)ddd)gfg          d9                         Z*ej%        '                    deef          ej%        '                    d:g d;          d<                         Z+ej%        '                    deef          d=             Z,ej%        '                    d>g d?          d@             Z-ej%        '                    dAdBdd(gid(fdB edd          idCfg          dD             Z.ej%        '                    deef          ej%        '                    dEdFdGidHfdBd8dIdJfd'dKdLdMfdNdOdPdQfdR edS          idTfdR e            idTfg          dU                         Z/ej%        '                    dEd.d.dVdWfg          dX             Z0ej%        '                    dYg dZ          d[             Z1ej%        '                    d\d]          d^             Z2ej%        '                    d_dd d`gfd(d dBd`gfdd g dafdCd g dafdddbgfd(ddcdbgfdCddcdbgfdd(ddgfdCd(g defg	          df             Z3ej%        '                    deef          dg             Z4ej%        '                    deef          dh             Z5ej%        '                    deef          di             Z6ej%        '                    djeeg          dk             Z7ej%        '                    djeeg          dl             Z8dm Z9dS )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                        e Zd ZU dZi ej        d  e ed           ed          dz             D             Zee	d<   	 d fd		Z
d fd	Z xZS )FastClassifierzDummy classifier that accepts parameters a, b, ... z.

    These parameter don't affect the predictions and are useful for fast
    grid searching.c                 .    i | ]}t          |          d S )no_validation)chr).0keys     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sklearn/model_selection/tests/test_successive_halving.py
<dictcomp>zFastClassifier.<dictcomp>*   s     
N
N
N3s88_
N
N
N    az   _parameter_constraints
stratifiedNc                 P    t                                          |||           d S N)strategyrandom_stateconstant)super__init__)selfr+   r,   r-   kwargs	__class__s        r!   r/   zFastClassifier.__init__-   s7     	L8 	 	
 	
 	
 	
 	
r#   Fc                     t                                          |          }t          t          d          t          d          dz             D ]}d|t	          |          <   |S )N)deepr$   r%   r&   whatever)r.   
get_paramsrangeordr   )r0   r4   paramscharr2   s       r!   r6   zFastClassifier.get_params4   s^    ###..#c((CHHqL11 	+ 	+D *F3t99r#   )r(   NN)F)__name__
__module____qualname____doc__r   r'   r7   r8   dict__annotations__r/   r6   __classcell__r2   s   @r!   r   r   !   s          $

0$
N
Ncc#hhC10M0M
N
N
N$D    BF
 
 
 
 
 
         r#   r   c                   B     e Zd Z	 	 	 	 	 	 	 d	 fd	Z fdZ fdZ xZS )
SometimesFailClassifierr(   N
   Fr   c                     || _         || _        || _        || _        t	                                          |||           d S r*   )fail_fitfail_predictn_estimatorsr$   r.   r/   )	r0   r+   r,   r-   rI   rG   rH   r$   r2   s	           r!   r/   z SometimesFailClassifier.__init__<   sU     !((L8 	 	
 	
 	
 	
 	
r#   c                 t    | j         rt          d          t                                          ||          S )Nzfitting failed)rG   	Exceptionr.   fit)r0   Xyr2   s      r!   rL   zSometimesFailClassifier.fitO   s4    = 	.,---ww{{1a   r#   c                 r    | j         rt          d          t                                          |          S )Nzpredict failed)rH   rK   r.   predict)r0   rM   r2   s     r!   rP   zSometimesFailClassifier.predictT   s3     	.,---wwq!!!r#   )r(   NNrE   FFr   )r;   r<   r=   r/   rL   rP   rA   rB   s   @r!   rD   rD   ;   s         

 
 
 
 
 
&! ! ! ! !
" " " " " " " " "r#   rD   z+ignore::sklearn.exceptions.FitFailedWarningz!ignore:Scoring failed:UserWarningz%ignore:One or more of the:UserWarningHalvingSearchfail_at)rL   rP   c           	      *   d}t          |d          \  }} | t                      d| ddgdt          d          id	d
dd          }|                    ||           |j        d|          rJ |j        d         }|j        d         }t          j        |                                          sJ t          j	        |t          j        |                             }|j
        d         dk    sJ |d         |k                                    sJ dS )z\Check the selection of the best scores in presence of failure represented by
    NaN values.  r   	n_samplesr,   fail_FTr$      rI      r&      )resourcemax_resourcesmin_resourcesfactormean_test_scorerank_test_scoreN)r   rD   r7   rL   best_params_cv_results_npisnananyuniqueshapeall)	rQ   rR   rV   rM   rN   searchscoresranksunique_nan_rankss	            r!   test_nan_handlingrm   Z   s=    ICCCDAq]!!			UDM3a9  F JJq! "#47#4#45555 12F01E 8F!!!!!yrx'7'7!89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   rX   r&   )<         rX   )rr   rr   rq      F)rq   rr   rs   )rr   rq   rt   	unlimited)%   o   M    c	                 P   d}	t          |	d          \  }
}dt          t          d                    d}t                      }|dk    rd}n|	} | ||||d	
          }|                    d           | t
          u r|                    dd           |                    |
|           |j        |k    sJ |j        |k    sJ |j	        |k    sJ |j
        |k    sJ |j        |k    sJ |j        |k    sJ t          |j        d         |j        z            |j        k    sJ d S )NrT   r   rU   l1l2   r$   bro   rt   rX   )aggressive_eliminationr\   r^   T)verboserq   exhaustn_candidatesr]   )r   listr7   r   
set_paramsr   rL   n_iterations_n_required_iterations_n_possible_iterations_n_resources_n_candidates_n_remaining_candidates_r   r^   )rn   r   r\   expected_n_iterationsexpected_n_required_iterationsexpected_n_possible_iterationsexpected_n_remaining_candidatesexpected_n_candidatesexpected_n_resourcesrV   rM   rN   
param_gridbase_estimatorshs                  r!   test_aggressive_eliminationr      sw   R ICCCDAq#$uRyy//::J#%%N	!!!	5#
 
 
B MM$M
###
6CCCFF1aLLL44444$(FFFFF$(FFFFF?2222244444%)HHHHH $ry011R5OOOOOOOr#   zfmin_resources,max_resources,expected_n_iterations,expected_n_possible_iterations,expected_n_resources,smallestautorZ   rr   rq   2      r~   r   rx   ry   rT   iX     iW     iU  i,  d   c                    d}t          |d          \  }}ddgg dd}	t                      }
 | |
|	d||	          }| t          u r|                    d
           |                    ||           d}|j        |k    sJ |j        |k    sJ |j        |k    sJ |j        |k    sJ |dk    r-|j        |j        cxk    rt          |j                  k    sn J d S d S )NrT   r   rU   r&   rZ   )r&   rZ   rX   r   rX   )r^   r]   r\   rY   r   r   )
r   r   r   r   rL   r   r   r   r   len)rn   r]   r\   r   r   r   rV   rM   rN   r   r   r   r   s                r!   test_min_max_resourcesr      s?   L ICCCDAq1vIII..J#%%N	##
 
 
B ###
1%%%FF1aLLL%&"44444$(FFFFF$(FFFFF?22222	!!(B,<TTTTBO@T@TTTTTTT "!TTr#   z2max_resources, n_iterations, n_possible_iterations)	)r      	   )   r   r   )i  r      )   r   r   )i  r   rs   )    rp   rp   )   rX   rX   )   rX   rX   )rp   r&   r&   c                 n   d}t          |d          \  }}ddgt          t          d                    d}t                      }d}	 | ||d|	|d          }
| t          u r|
                    d	
           |
                    ||           |
j        dk    sJ |
j        |k    sJ |
j	        |k    sJ d S )Nr   r&   rU   rZ   rE   r   rp   )cvr^   r\   r]   rr   r   r   )
r   r   r7   r   r   r   rL   r   r   r   )rn   r\   n_iterationsn_possible_iterationsrV   rM   rN   r   r   r^   r   s              r!   test_n_iterationsr     s    ( ICCCDAq1vDrOO44J#%%NF	#
 
 
B ###
2&&&FF1aLLL$))))|++++$(=======r#   c                 ^   d}t          |d          \  }}ddgt          t          d                    d}t                      } | ||dddd	
          }|                    ||           t          |j                  t          g d          k    sJ t          |j        d         |j        d         |j        d                   D ]\  }}}	||d         cxk    r|	k    sn J t          j
        t          d          5  t          ||ddd          }|                    ||           d d d            n# 1 swxY w Y   t          j
        t          d          5  ddgddgdd	gd}t          ||ddd          }|                    ||           d d d            d S # 1 swxY w Y   d S )NrT   r   rU   r&   rZ   rE   r   crX   )r   r[   r\   r^   )r&   rX   r   n_resourcesr9   param_cz0Cannot use resource=1234 which is not supported match1234)r   r[   r\   zSCannot use parameter c as the resource since it is part of the searched parameters.)r$   r   r   )r   r   r7   r   rL   setr   ziprb   pytestraises
ValueErrorr   )
rn   rV   rM   rN   r   r   r   r_ir9   r   s
             r!   test_resource_parameterr   5  s    ICCCDAq1vDrOO44J#%%N	^ZA2VW	X	X	XBFF1aLLLr3yyy>>1111 #
}%
x 
y!! ! - -VW
 fSk,,,,W,,,,,,,	L
 
 
   !J1vR
 
 
 	q!               
*
 
 
   q6AaV<<
 J1s"
 
 
 	q!                 s$   +D88D<?D<7F""F&)F&z2max_resources, n_candidates, expected_n_candidates))r   r      )r   r   r   )r   r   r   )r   rs   rs   )r   r   r   c           	          d}t          |d          \  }}t          t          d}t                      }t          |||d| dd          }|                    ||           |j        d         |k    sJ |dk    r|j        d	         | k    sJ d S d S )
Nr   r   rU   r   rZ   rp   )r   r   r\   r^   r]   r   r   )r   r   r   r   rL   r   r   )	r\   r   r   rV   rM   rN   r   r   r   s	            r!   test_random_searchr   ]  s     ICCCDAq$''J#%%N	!#
 
 
B FF1aLLLA"77777y   r"m3333 !  43r#   z*param_distributions, expected_n_candidatesr$   rE   c                     d}t          |d          \  }}t                      }t          || d          }|                    ||           |j        d         |k    sJ d S )Nr   r   rU   rE   r   )r   r   r   rL   r   )param_distributionsr   rV   rM   rN   r   r   s          r!   )test_random_search_discrete_distributionsr     sq    " ICCCDAq#%%N	~/BQS	T	T	TBFF1aLLLA"7777777r#   zparams, expected_error_messager[   not_a_parameterz:Cannot use resource=not_a_parameter which is not supported)r[   r\   z:Cannot use parameter a as the resource since it is part ofr   )r\   r[   z:resource can only be 'n_samples' when max_resources='auto'      )r]   r\   z3min_resources_=15 is greater than max_resources_=14r   )shufflezmust yield consistent foldsc                     t                      }ddgi}t          d          \  }} | ||fi |}t          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S Nr$   r&   r   r   )r   r   r   r   r   rL   )rn   r9   expected_error_messager   r   rM   rN   r   s           r!   test_input_errorsr     s    2 $%%NsJs##DAq	^Z	2	26	2	2B	z)?	@	@	@  
q!                 s   A//A36A3r   zcannot be both set to 'exhaust'c                     t                      }ddgi}t          d          \  }}t          ||fi | }t          j        t
          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S r   )r   r   r   r   r   r   rL   )r9   r   r   r   rM   rN   r   s          r!   test_input_errors_randomizedr     s     $%%NsJs##DAq	~z	D	DV	D	DB	z)?	@	@	@  
q!                 s   A33A7:A7zAfraction, subsample_test, expected_train_size, expected_test_size))      ?T(   rE   )r   Fr   rr   )皙?Tr   rp   )r   Fr   rr   c                    d}t          |          \  }}t          t          d          | |d           }|                    ||          D ]\  }}	|j        d         |k    sJ |	j        d         |k    sJ |r2|j        d         |	j        d         z   t          || z            k    sJ _|	j        d         ||j                                        z  k    sJ d S )Nr   r   base_cvfractionsubsample_testr,   r   )r   r   r   splitrg   intr   get_n_splits)
r   r   expected_train_sizeexpected_test_sizerV   rM   rN   r   traintests
             r!   test_subsample_splitter_shapesr     s    Iy))DAq	a%	
 
 
B xx1~~ K Kt{1~!44444z!} 22222 	K;q>DJqM1SX9M5N5NNNNNN:a=I1H1H1J1J$JJJJJJK Kr#   r   )TFc                 (   d}t          |          \  }}t          t          d          d| d           }t          |                    ||d                     }t          |                    ||d                     }t          ||          D ]\  \  }}\  }	}
t          j        ||	k              rJ | rt          j        ||
k              rJ Bt          j        ||
k              sJ t          j        ||         ||
         k              sJ d S )Nr   r   r   r   groups)r   r   r   r   r   r   rc   rh   )r   rV   rM   rN   r   folds_afolds_btrain_atest_atrain_btest_bs              r!   #test_subsample_splitter_determinismr     s2    Iy))DAq	a3~TX
 
 
B 288Aq8..//G288Aq8..//G03GW0E0E 2 2,&,GV6'W,----- 	2vf.//////6&F*+++++6!F)qy01111112 2r#   zk, itr, expectedr   )dr   r$   r   efi)ghr   c                 v    g dg dg dd}t          || |          }t          j        ||k              sJ d S )N	r   r   r   r   r&   r&   rZ   rZ   rZ   	rp   rX   r   r&      rE   r   rY   r   	r$   r   r   r   r   r   r   r   r   iterr_   r9   )kitr)r   rc   rh   )r   r   expectedresultsgots        r!   
test_top_kr     sa      ,++888??? G
 A3
'
'
'C6#/"""""""r#   c                    t          j        d          }t          j                            d          d}t          |d          \  }}dt          t          d                    d}t                      }fd} | ||d	|
          }| t          u r|
                    dd           |                    ||           t          |j        d         t          j                  sJ t          |j        d         t          j                  sJ |                    |j                  }	t!          |	d                                                   t!          |	          k    sJ |	d                             t&                    |	d<   |	                    ddd          }
|                    |
          }|j        }t          |dz
            D ]}||         }|||dz            z  |k                                    sJ | ||dz            z  }| | z  }|                                |j        |dz            k    sJ |
|                             |                                          }|
|                             |                                          }||k     sJ |	d                                         }|	|	d         |k             d                                         }|	d                                         }|j        |	j        |         d         k    sJ |	j        |         d         |	j        |         d         k     sJ |	j        |         d         |	j        |         d         k    sJ d S )Npandasr   rT   rU   r{   r~   r   c                 ,                                     S )N)rand)estrM   rN   rngs      r!   scorerztest_cv_results.<locals>.scorer:  s    xxzzr#   rZ   )r^   scoringrq   r   r   r   r   r_   r9   
params_str)indexcolumnsvaluesr&   ) r   importorskiprc   randomRandomStater   r   r7   r   r   r   rL   
isinstancerb   ndarray	DataFramer   rf   applystrpivotisnar   rh   sumr   wheremaxminidxmaxra   iloc)rn   pdrV   rM   rN   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CCCDAq#$uRyy//::J#%%N     
^Z6	B	B	BB
###
6CCCFF1aLLL bnV,bj99999bn]3RZ@@@@@LL00M }./668899S=O=OOOOO"/"9"?"?"D"DM,F3D    E& wwu~~HFFQJ 4 4!)"
 #Xb1f%559OO
#%%	 	 
 54xQ7GG++/A.AA	}}""226"::::: $Bioo.@AAEEGGr337799"^33333 f%))++I&}V'<	'IJfhh  ''89@@BB?m01CDXNNNNN-./@A

/
01B
C	D 	D 	D 	D 	-.x801(;	< 	< 	< 	< 	< 	<r#   c                    t          j        d          }g g g  G fddt                    }d}d}t          |d          \  }}dt	          t          d	                    d
} |            } | ||d|dd          }	| t          u r|	                    dd           |	                    ||           t                    t                    k    sJ d t                    D             }
|
d d |         }
d d |         |                    |	j                  }t                    t          |
          cxk    rt          |          k    sn J t          j        |
d          \  }}|	j        |k                                    sJ |	j        |k                                    sJ |d         k                                    sJ |d         |
k                                    sJ d S )Nr   c                   :     e Zd Z fdZ fdZ fdZ xZS )=test_base_estimator_inputs.<locals>.FastClassifierBookKeepingc                                          |j        d                    t                                          ||          S Nr   )appendrg   r.   rL   )r0   rM   rN   r2   passed_n_samples_fits      r!   rL   zAtest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.fit  s5     ''
33377;;q!$$$r#   c                                          |j        d                    t                                          |          S r+  )r,  rg   r.   rP   )r0   rM   r2   passed_n_samples_predicts     r!   rP   zEtest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.predict  s3    $++AGAJ77777??1%%%r#   c                 `                         |            t                      j        di |S )N )r,  r.   r   )r0   r9   r2   passed_paramss     r!   r   zHtest_base_estimator_inputs.<locals>.FastClassifierBookKeeping.set_params  s4      (((%577%/////r#   )r;   r<   r=   rL   rP   r   rA   )r2   r-  r/  r2  s   @r!   FastClassifierBookKeepingr)    sz        	% 	% 	% 	% 	% 	%	& 	& 	& 	& 	& 	&	0 	0 	0 	0 	0 	0 	0 	0 	0 	0r#   r3  r   rZ   r   rU   r{   r~   r   F)r^   r   return_train_scorerefitrq   r   r   c                     g | ]
\  }}||z   S r1  r1  )r   xrN   s      r!   
<listcomp>z.test_base_estimator_inputs.<locals>.<listcomp>  s-       1aA  r#   T)return_countsr9   r   )r   r  r   r   r   r7   r   r   rL   r   r   r  rb   rc   rf   r   rh   r   )rn   r  r3  rV   n_splitsrM   rN   r   r   r   passed_n_samplesr  uniquescountsr-  r/  r2  s                 @@@r!   test_base_estimator_inputsr>    sq    
	X	&	&B!M0 0 0 0 0 0 0 0 0N 0 0 0 IHCCCDAq#$uRyy//::J..00N	 
 
 
B ###
6CCCFF1aLLL#$$,D(E(EEEEE  46NOO   (

(
3!**H*-MLL00M}%5!6!6LLLL#m:L:LLLLLLLi 0EEEOGVOw&++-----&++-----(#}499;;;;;-(,<<AACCCCCCCr#   c                    t           j                            d          }t          ddd          \  }}|                    ddd          }t          d          }ddgi}t                      t          d          t          d	          t          d          g}d
}|D ]r}	 | |||	d          }
t          j        t          |          5  |
                    ||           d d d            n# 1 swxY w Y   |
                    |||           st                      t          d          g}|D ]&}	 | |||	          }
|
                    ||           'd S )Nr   r   rZ   )rV   	n_classesr,   rX   )r,   Cr&   )r:  z*The 'groups' parameter should not be None.)r   r,   r   r   )r   )rc   r	  r
  r   r   r   r   r   r
   r   r   r   r   rL   r   r   )rn   r  rM   rN   r   clfgrid	group_cvs	error_msgr   gsnon_group_cvss               r!   test_groups_supportrH    s   
 )


"
"CqqIIIDAq[[Ar""F

#
#
#C!:D 	Aq)))	I =I $ $Sdr222]:Y777 	 	FF1aLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
q!F####$&&(>A(N(N(NOM  Sdr"""
q! s   C//C3	6C3	SearchCVc                 0   t                      }ddgi}t          j        d                              dd          } | ||d          }d}t	          j        t          |          5  |                    |g            d	d	d	           d	S # 1 swxY w Y   d	S )
zBCheck that we raise an error if the minimum resources is set to 0.r$   r&   r   rX   r   )r]   z;min_resources_=0: you might have passed an empty dataset X.r   N)r   rc   emptyreshaper   r   r   rL   )rI  r   r   rM   ri   err_msgs         r!   test_min_resources_nullrN    s     $%%NsJ
Aq!!AXnj
KKKFKG	z	1	1	1  

1b                 s   'BBBc                     t          j        g d          t          j        g d          t          j        g d          d}|                     dd|          }|dk    sJ dS )z3Check the selection strategy of the halving search.r   r   r   r   Nr   )rc   array_select_best_index)rI  r   
best_indexs      r!   test_select_best_indexrS    sv     444558$A$A$ABB(HHHII G ,,T4AAJ??????r#   c                  6  	 t          ddd          \  } }dgt          d          t          d          d	d
gddgdg}d}d}d}t          t                      d|dd          }|                    | |           t          |j                  }|j        	t          	||||           ddddd}t          ||||           t          	fdt          |          D                       sJ t          	fdt          |          D                       sJ dS )zqCheck the behaviour of the `HalvingRandomSearchCV` with `param_distribution`
    being a list of dictionary.
    r   rp   *   )rV   
n_featuresr,   rbfrE   )scaleg?)kernelrA  gammapolyrZ   rX   )rY  degree)param_Cparam_degreeparam_gammaparam_kernel)r_   mean_train_scorer`   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   r4  r,   r   r   Oc              3      K   | ]P}d          |         dk    d         j         |         o&d         j         |         od         j         |          V  QdS )r`  r[  r]  r_  r^  Nmaskr   r   
cv_resultss     r!   	<genexpr>z;test_halving_random_search_list_of_dicts.<locals>.<genexpr>D  s         n%a(F22 y!&q) 7=).q17~.3A66 3222 r#   c              3      K   | ]Q}d          |         dk    d         j         |          o&d         j         |          od         j         |         V  RdS )r`  rW  r]  r_  r^  Nrp  rr  s     r!   rt  z;test_halving_random_search_list_of_dicts.<locals>.<genexpr>M  s         n%a(E11 9%*1-- 3}-21553>*/2 2111 r#   N)r   r   r   r   rL   r  r   rb   r   r   rh   r7   )
rM   rN   r9   
param_keys
score_keys
extra_keysri   r   expected_cv_results_kindsrs  s
            @r!   (test_halving_random_search_list_of_dictsrz    s    LLLDAq 7R5s;K;K;KLL81v..FJJ" )J"!DWX  F JJq!v+,,L#J*j*lJWWW	! ! !
J(A        |$$             |$$         r#   ):mathr   numpyrc   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   rD   markfilterwarningsparametrizerm   r   r   r   r   r   r   r   r   r   r   r   r&  r>  rH  rN  rS  rz  r1  r#   r!   <module>r     sC	              , , , , , , , , , , 0 0 0 0 0 0 ) ) ) ) ) ) 9 9 9 9 9 9                                      ' & & & & & & &    _   4" " " " "o " " "> IJJ?@@CDD+>@U*VWW$6770 0 87 XW ED A@ KJ
0B !46K LMM	  
y!Q1nnn6G6G6GH 
	1aA{{{MMMB 
{Aq!Q8K8K8KL	Q1a9L9L9LM 6,P ,P7  NM8,P^ !46K LM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 !U7  NM8!UH !68K LMM8   > >  NM >4 !68K LMM$ $ NM$N 8  	 	4 4	 	42 0
1v
wwq!}}	r" 8 8 8$ !46K LMM$ *+H	

 s33H	

 %#66H	

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