
    h$,f]                     f   d 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	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 ddlmZ ddlm Z  ddl!m"Z" ddl#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.  ej^                         Z0e0jb                  ddddf   e0jd                  cZ3Z4 e$       jk                  e3      Z6 ejn                  d      \  Z8Z9ejt                  jw                  ddg idfd e       fgddgddfg      d        Z<d Z=d Z>d  Z?d! Z@d" ZAd# ZBd$ ZCd% ZDejt                  jw                  d&g d'      d(        ZEd) ZFd* ZGd+ ZHd, ZId- ZJd. ZKd/ ZLd0 ZMejt                  jw                  d1e3e4 ed e       fd2 ed34      fg      fe8e9 ed e       fd2 ed34      fg      fg      d5        ZNejt                  jw                  d6 ed e       fd7 e)d8      fg9       ed ed8      fd7 e(d8      fg9      gd:d;g<      d=        ZOejt                  jw                  d> ed e       fd2 ed?8      fgd@       ed ed?8      fd2 ed?8      fgd@      g      dA        ZPdB ZQejt                  jw                  dCdDddEg dFfdGdHidIdJgfg      dK        ZRdL ZSy)Mz4Testing for the VotingClassifier and VotingRegressor    N)datasets)BaseEstimatorClassifierMixinclone)make_multilabel_classification)DummyRegressor)RandomForestClassifierRandomForestRegressorVotingClassifierVotingRegressor)NotFittedError)LinearRegressionLogisticRegression)GridSearchCVcross_val_scoretrain_test_split)OneVsRestClassifier)
GaussianNB)KNeighborsClassifier)StandardScaler)SVC)DecisionTreeClassifierDecisionTreeRegressor)_convert_containerassert_almost_equalassert_array_almost_equalassert_array_equal      T)
return_X_yzparams, err_msg
estimatorszGInvalid 'estimators' attribute, 'estimators' should be a non-empty listlr   )r!   weightsz0Number of `estimators` and weights must be equalc                     t        di | }t        j                  t        |      5  |j	                  t
        t               d d d        y # 1 sw Y   y xY w)Nmatch )r   pytestraises
ValueErrorfitXy)paramserr_msgensembles      Blib/python3.12/site-packages/sklearn/ensemble/tests/test_voting.py%test_voting_classifier_estimator_initr3   +   sB      )&)H	z	1 Q  s   AAc                     t        dt               fdt               fgd      } d}d}t        j                  t        |      5 }| j
                   d d d        t        j                  j                  t              sJ |t        |j                  j                        v sJ t        | d      rJ | j                  t        t               t        | d      rJ y # 1 sw Y   xY w)	Nlr1lr2hardr!   voting1predict_proba is not available when voting='hard'3'VotingClassifier' has no attribute 'predict_proba'r&   predict_proba)r   r   r)   r*   AttributeErrorr<   
isinstancevalue	__cause__strhasattrr,   X_scaledr.   )eclf	inner_msg	outer_msg	exec_infos       r2   test_predictproba_hardvotingrH   >   s    .01E;M;O3PQD
 DIEI	~Y	7 9ioo//@@@IOO556666t_---HHXqt_---- s   CC!c                  J   t        dt               fdt               fgd      } t        dt               fg      }d}t	        j
                  t        |dz        5  | j                  t               d d d        t	        j
                  t        |dz        5  | j                  t               d d d        t	        j
                  t        |dz        5  | j                  t               d d d        t	        j
                  t        |d	z        5  |j                  t               d d d        t	        j
                  t        |d	z        5  |j                  t               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   jxY w# 1 sw Y   y xY w)
Nr5   r6   softr8   drzfThis %s instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.r   r&   r   )r   r   r   r   r)   r*   r   predictr-   r<   	transformX_r)rD   eregmsgs      r2   test_notfittedrQ   P   s\   .01E;M;O3PQD T>#3456D	C  
~S3E-E	F Q	~S3E-E	F 1	~S3E-E	F q	~S3D-D	E S	~S3D-D	E s      s<   E)E5FF
F)E25E>F
FF"c                     t        d|       }t        d|       }t               }t        d|fd|fd|fgd	      }t	        |t
        t        d
      }|j                         dk\  sJ y)z7Check classification by majority label on dataset iris.	liblinear)solverrandom_state
   n_estimatorsrU   r"   rfgnbr7   r8   accuracyscoring?N)r   r	   r   r   r   r-   r.   meanglobal_random_seedclf1clf2clf3rD   scoress         r2   test_majority_label_irisrf   f   sk    [?QRD!r@RSD<D4L4,>vD T1a<F;;=C    c                     t        dd      } t        d      }t        d| fd|fgd      }| j                  t        t
              j                  t              d	   d
k(  sJ |j                  t        t
              j                  t              d	   dk(  sJ |j                  t        t
              j                  t              d	   dk(  sJ y)zECheck voting classifier selects smaller class label in tie situation.{   rS   )rU   rT   rU   r"   rY   r7   r8   I   r#   r   N)r   r	   r   r,   r-   r.   rL   )rb   rc   rD   s      r2   test_tie_situationrl   s   s    3{CD!s3DttTl'CFSD88Aq>!!!$R(A---88Aq>!!!$R(A---88Aq>!!!$R(A---rg   c                     t        |       }t        d|       }t               }t        d|fd|fd|fgdg d	      }t	        |t
        t        d
      }|j                         dk\  sJ y)z>Check classification by average probabilities on dataset iris.rj   rV   rW   r"   rY   rZ   rJ   r   r#   rV   r!   r9   r$   r[   r\   r^   N)r   r	   r   r   r   rC   r.   r_   r`   s         r2   test_weights_irisrp   }   sm    +=>D!r@RSD<D4L4,>D
 T8Q
CF;;=Crg   c                  <   t        d      } t        d      }t        dd      }t        d| fd|fd|fgg d      }t        t        t        d	
      \  }}}}| j                  ||      j                  |      }|j                  ||      j                  |      }	|j                  ||      j                  |      }
|j                  ||      j                  |      }t        j                  t        j                  ||	|
g      dg d      }t        ||d       t        d| fd|fd|fgd      }t        d| fd|fd|fgg d      }|j                  ||       |j                  ||       |j                  |      }|j                  |      }t        ||d       y)zACheck weighted average regression prediction on diabetes dataset.r_   )strategymedianquantile皙?)rr   rt   rn   )r$   g      ?)	test_sizer   )axisr$   r#   decimalNr   r   r   )r   r   r   rN   y_rr,   rL   npaverageasarrayr   )reg1reg2reg3rO   	X_r_trainX_r_test	y_r_trainy_r_test	reg1_pred	reg2_pred	reg3_pred	ereg_predavgereg_weights_noneereg_weights_equalereg_none_predereg_equal_preds                    r2   test_weights_regressorr      s   6*D8,D:<D
$(D)J+=>
D 0@SD0,IxH I.66x@II.66x@II.66x@II.66x@I
**


Iy)45AzC 	32'
$(D)J+=> )
$(D)J+=>	 )Y/9i0&..x8N(00:OCrg   c           	         t        |       }t        d|       }t               }t        j                  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                  ||      j                  |      g d       t        |j                  ||      j                  |      g d       t        |j                  ||      j                  |      g d       t        d|fd|fd|fgdg d      }t        |j                  ||      j                  |      g d       t        d|fd|fd|fgdg d      }t        |j                  ||      j                  |      g d       y)z6Manually check predicted class labels for toy dataset.rj   rV   rW   皙      333333ffffff333333皙皙?333333?g @gffffff?g@gffffff@)r   r   r   r#   r#   r#   r"   rY   rZ   r7   rz   ro   rJ   N)	r   r	   r   r|   arrayr   r,   rL   r   )ra   rb   rc   rd   r-   r.   rD   s          r2   test_predict_on_toy_problemr      sY   +=>D!r@RSD<D

d|dD\C:SzCQT:V	A 	#$Atxx1~--a02DEtxx1~--a02DEtxx1~--a02DE4L4,>D
 txx1~--a02DE4L4,>D
 txx1~--a02DErg   c                     t        d      } t        d      }t               }t        j                  ddgddgddgd	d
gg      }t        j                  g d      }t        j                  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g      }t        j                  ddgddgddgddgg      }d|d   d   z  |d   d   z   |d   d   z   d z  }d|d!   d!   z  |d!   d!   z   |d!   d!   z   d z  }	d|d   d!   z  |d   d!   z   |d   d!   z   d z  }
d|d"   d!   z  |d"   d!   z   |d"   d!   z   d z  }t        d#| fd$|fd%|fgd&g d'(      }|j                  ||      j                  |      }t        ||d   d   d!)       t        |	|d!   d!   d!)       t        |
|d   d!   d!)       t        ||d"   d!   d!)       d*}d+}t        j                  t        |,      5 }t        d#| fd$|fd%|fgd-.      }|j                  ||      j                  |       d/d/d/       t        j                  j                  t              sJ |t        |j                  j                        v sJ y/# 1 sw Y   SxY w)0z1Calculate predicted probabilities on toy dataset.ri   rj   r   r   r   r   r   r   r   r   r   r   r#   r#   g7sa"?g=?gRhp?gℶZ/?gl^Ԭ;?g(1BW?gU(V6?g&d?g?ru   333333?ffffff?g5w?g9=qX?g_?g$/AY?              ?r#   r      r   r   r"   rY   rZ   rJ   )r#   r   r   ro   rx   r:   r;   r&   r7   r8   N)r   r	   r   r|   r   r   r,   r<   r   r)   r*   r=   r>   r?   r@   rA   )rb   rc   rd   r-   r.   clf1_resclf2_resclf3_rest00t11t21t31rD   eclf_resrE   rF   rG   s                    r2   !test_predict_proba_on_toy_problemr      s   3/D!s3D<D
4,ttTlS#JGHA
Axx$$$$		
H xx#sc3Z#sc3ZHIHxx
Y	*j!9C:SzRH x{1~A.!Q?1
DCx{1~A.!Q?1
DCx{1~A.!Q?1
DCx{1~A.!Q?1
DC4L4,>D
 xx1~++A.HXa[^Q7Xa[^Q7Xa[^Q7Xa[^Q7CIEI	~Y	7 (9ttTlUDMB6
 	A$$Q'	( ioo//@@@IOO556666( (s   '8I11I:container_type)listr   	dataframec                    t        dddd      \  }}t        ||       }t        t        d            }t	        d|fgd	
      }d}t        j                  t        |      5  |j                  ||       ddd       y# 1 sw Y   yxY w)z7Check if error is raised for multilabel classification.r#   r   Fri   )	n_classesn_labelsallow_unlabeledrU   linear)kernelovrr7   r8   z1only supports binary or multiclass classificationr&   N)	r   r   r   r   r   r)   r*   NotImplementedErrorr,   )r   r-   r.   clfrD   r0   s         r2   test_multilabelr     s     *aSDAq 	1n-A
c2
3C~fEDAG	*'	: A  s   !A==Bc                      t        d      } t        dd      }t               }t        d| fd|fd|fgd	      }d
dgddgg dg dgd}t	        ||d      }|j                  t        t               y)zCheck GridSearch support.r   rj   r   )rU   rX   r"   rY   rZ   rJ   r8   r   g      Y@r7   )      ?r   r   )r   r   r   )lr__Cr9   r$   r#   )	estimator
param_gridcvN)r   r	   r   r   r   r,   rC   r.   )rb   rc   rd   rD   r/   grids         r2   test_gridsearchr     s    1-D!qqAD<D4L4,>vD
 u6"#_5F $6a@DHHXqrg   c                    t        |       }t        d|       }t               }t        j                  ddgddgdd	gd
dgg      }t        j                  g d      }t        d|fd|fd|fgdd      j                  ||      }t        d|fd|fd|fgdd      j                  ||      }t        |j                  |      |j                  |             t        |j                  |      |j                  |             y)z:Check parallel backend of VotingClassifier on toy dataset.rj   rV   rW   r   r   r   r   r   r   r   r   r   r"   rY   rZ   rJ   r   )r!   r9   n_jobsr#   N)r   r	   r   r|   r   r   r,   r   rL   r   r<   )ra   rb   rc   rd   r-   r.   eclf1eclf2s           r2   test_parallel_fitr   $  s    +=>D!r@RSD<D
4,ttTlS#JGHA
A4L4,>vVW	c!Qi 
 4L4,>vVW	c!Qi 
 u}}Q'q)9:e11!4e6I6I!6LMrg   c           	         t        |       }t        d|       }t        d|       }t        d|fd|fd|fgd	
      j	                  t
        t        t        j                  t        t              f            }t        d|fd|fd|fgd	
      j	                  t
        t              }t        |j                  t
              |j                  t
                     t        |j                  t
              |j                  t
                     t        j                  j                  |       j!                  t        t              f      }t        d|fgd	
      }|j	                  t
        t        |       |j	                  t
        t        |       t        |j                  t
              |j                  t
                     t        |j                  t
              |j                  t
                     t#               }t        d|fd|fd|fgd	
      }d}	t%        j&                  t(        |	      5  |j	                  t
        t        |       ddd        G d dt*        t,              }
 |
       }t%        j&                  t(        d      5  |j	                  t
        t        |       ddd       y# 1 sw Y   exY w# 1 sw Y   yxY w)z1Tests sample_weight parameter of VotingClassifierrj   rV   rW   T)probabilityrU   r"   rY   svcrJ   r8   sample_weight)sizeknnzJUnderlying estimator KNeighborsClassifier does not support sample weights.r&   Nc                       e Zd Zd Zy).test_sample_weight.<locals>.ClassifierErrorFitc                     t        d      )Nz!Error unrelated to sample_weight.)	TypeError)selfrC   r.   r   s       r2   r,   z2test_sample_weight.<locals>.ClassifierErrorFit.fit\  s    ?@@rg   N)__name__
__module____qualname__r,   r(   rg   r2   ClassifierErrorFitr   [  s    	Arg   r   z Error unrelated to sample_weight)r   r	   r   r   r,   rC   r.   r|   oneslenr   rL   r   r<   randomRandomStateuniformr   r)   r*   r   r   r   )ra   rb   rc   rd   r   r   r   eclf3clf4rP   r   r   s               r2   test_sample_weightr   7  s8   +=>D!r@RSD4.@AD4L4,>v	c(ARWWc!fY%7c8 
 4L4,>v	c(A 
 u}}X.h0GHH%u':':8'D II))*<=EECPQF9EUM$vFE	IIh=)HHXq-(u}}X.X0FGH%t'9'9('C  !D4L5$-%?E WC	y	, .		(A}-.
A_m A 
C	y(J	K :!=9: :. .: :s   .J.J:.J7:Kc            	           G d dt         t              }  |        }t        d|fgd      }|j                  t        t
        t        j                  t        t
              f             y)z:Check that VotingClassifier passes sample_weight as kwargsc                       e Zd ZdZd Zy)1test_sample_weight_kwargs.<locals>.MockClassifierzAMock Classifier to check that sample_weight is received as kwargsc                     d|v sJ y )Nr   r(   )r   r-   r.   argsr   s        r2   r,   z5test_sample_weight_kwargs.<locals>.MockClassifier.fitj  s    "m333rg   N)r   r   r   __doc__r,   r(   rg   r2   MockClassifierr   g  s
    O	4rg   r   mockrJ   r8   r   N)	r   r   r   r,   r-   r.   r|   r   r   )r   r   rD   s      r2   test_sample_weight_kwargsr   d  sO    4- 4 
CvFD 	HHQ#a&!3H4rg   c                    t        |       }t        d| d       }t               }t        d|fd|fgdddg	      j	                  t
        t              }t        d|fd
|fgdddg	      }|j                  |      j	                  t
        t               t        |j                  t
              |j                  t
                     t        |j                  t
              |j                  t
                     |j                  d   d   j                         |j                         k(  sJ |j                  d   d   j                         |j                         k(  sJ y )Nrj   rV   )rX   rU   	max_depthr"   rY   rJ   r   r#   )r9   r$   nb)r   r   )r   r	   r   r   r,   rC   r.   
set_paramsr   rL   r   r<   r!   
get_params)ra   rb   rc   rd   r   r   s         r2   !test_voting_classifier_set_paramsr   t  s:   +=>D!&8DD <D
d|$VaV	c(A 
 
d|$VaVE 
!!(A.u}}X.h0GHH%u':':8'D Aq!,,.$//2CCCCAq!,,.$//2CCCCrg   c            	         t        d      } t        dd      }t               }t        d| fd|fd|fgdg d	
      j	                  t
        t              }t        d| fd|fd|fgdg d
      }|j                  d      j	                  t
        t               t        |j                  t
              |j                  t
                     t        |j                        d   dk(  sJ t        |j                        dk(  sJ t        d |j                  D              sJ |j                         d   dk(  sJ |j                  d      j	                  t
        t               |j                  d      j	                  t
        t               t        |j                  t
              |j                  t
                     t!        |j#                  t
              |j#                  t
                     d}t%        j&                  t(        |      5  |j                  ddd      j	                  t
        t               d d d        t+        j,                  dgdgg      }t+        j,                  ddg      }t        d|fd|fgdddgd      j	                  ||      }t        d|fd|fgdddgd      }|j                  d      j	                  ||       t!        |j/                  |      t+        j,                  ddgddggddgddggg             t!        |j/                  |      t+        j,                  ddgddggg             |j                  d       |j                  d       t        |j/                  |      t+        j,                  ddgddgg             t        |j/                  |      t+        j,                  dgdgg             y # 1 sw Y   xY w)Nri   rj   rV   rW   r"   rY   r   r7   )r   r   r   ro   )r   r   r   drop)rY   r#   c              3   H   K   | ]  }t        |t        t        f        y w)N)r>   r   r   ).0ests     r2   	<genexpr>z*test_set_estimator_drop.<locals>.<genexpr>  s"      >A
3+Z89s    "rJ   )r9   z4All estimators are dropped. At least one is requiredr&   )r"   rY   r   r   r   r   F)r!   r9   r$   flatten_transformr   r   r   r   )r   r	   r   r   r,   r-   r.   r   r   rL   dictr!   r   estimators_allr   r   r<   r)   r*   r+   r|   r   rM   )rb   rc   rd   r   r   rP   X1y1s           r2   test_set_estimator_dropr     s    3/D!rDD<D4L4,t= 
c!Qi	 
 4L4,t=E
 
##Aq)u}}Q'q)9:  !$'6111u  !Q&&& EJEVEV    d#v---	F#''1-	F#''1-u}}Q'q)9:e11!4e6I6I!6LM
@C	z	- DFv&9==aCD 
A3*	B	1a&	B4L4,/C	
 
c"bk 
 4L4,/C	E 
##B+
C:Sz*c3Z#s,DEF eoob1288sCj3PS*=U<V3WX	F#	F#ur*BHHq!fq!f5E,FGur*BHHqcA3Z,@A9D Ds   -OOc                 |   t        |       }t        d|       }t        d|fd|fgddgd	      }t        d|fd|fgt        j                  d
      d	      }|j                  t        t               |j                  t        t               t        |j                  t              |j                  t                     y )Nrj   rV   rW   r"   rY   r   r#   rJ   )r!   r$   r9   )r   r#   )
r   r	   r   r|   r   r,   rC   r.   r   r<   )ra   rb   rc   r   r   s        r2   test_estimator_weights_formatr     s    +=>D!r@RSD4L4,/!QE 4L4,/&9IRXE 
IIh	IIhH%u':':8'Drg   c                 f   t        |       }t        d|       }t               }t        j                  ddgddgdd	gd
dgg      }t        j                  g d      }t        d|fd|fd|fgd      j                  ||      }t        d|fd|fd|fgdd      j                  ||      }t        d|fd|fd|fgdd      j                  ||      }t        |j                  |      j                  d       t        |j                  |      j                  d       t        |j                  |      j                  d       t        |j                  |      |j                  |             t        |j                  |      j                  dd      j                  d      |j                  |             y)z:Check transform method of VotingClassifier on toy dataset.rj   rV   rW   r   r   r   r   r   r   r   r   r   r"   rY   rZ   rJ   r8   Tr!   r9   r   F)r      )r   r   r#   r   r   N)r   r	   r   r|   r   r   r,   r   rM   shaper   swapaxesreshape)	ra   rb   rc   rd   r-   r.   r   r   r   s	            r2   test_transformr    s   +=>D!r@RSD<D
4,ttTlS#JGHA
A4L4,>v	c!Qi 
 4L4,> 
c!Qi	 

 4L4,> 
c!Qi	 
 uq)//8uq)//8uq)//;eooa0%//!2DE##Aq)11&95??1;Mrg   zX, y, voterrY      )rX   c                    t        |      }t               j                  |       }|j                  ||t	        j
                  |j                               |j                  d       |j                  ||t	        j
                  |j                               |j                  |      }|j                  |j                  k(  sJ y )Nr   r   )r"   )	r   r   fit_transformr,   r|   r   r   r   rL   )r-   r.   voterrC   y_preds        r2    test_none_estimator_with_weightsr    s    : %LE--a0H	IIh)9I:		IIh)9I:]]8$F<<177"""rg   r   treerj   r!   r   r   )idsc                     ddgddgddgg}g d}t        | d      rJ | j                  ||       | j                  dk(  sJ y )	Nr   r#   r   r   r  r   r   r   r#   n_features_in_)rB   r,   r  )r   r-   r.   s      r2   test_n_features_inr  $  sS    & Q!Q!Q AAs,---GGAqM"""rg   r   ri   )r!   verbosec                     t        j                  ddgddgddgddgg      }t        j                  g d	      }d
}| j                  ||       t        j                  ||j                         d         sJ y )Nr   r   r   r   r   r   r   r   r   za\[Voting\].*\(1 of 2\) Processing lr, total=.*\n\[Voting\].*\(2 of 2\) Processing rf, total=.*\n$r   )r|   r   r,   rer'   
readouterr)r   capsysr-   r.   patterns        r2   test_voting_verboser  ?  su    ( 	4,ttTlS#JGHA
A	= 
 MM!Q88GV..03444rg   c                      ddgddgddgg} g d}t        dt               fd	t        d
      fdg      }|j                  | |       |j	                         }ddg}t        ||       y)z1Check get_feature_names_out output for regressor.r   r#   r   r   r  r   r  r"   r  r   rj   )ignorer   r	  votingregressor_lrvotingregressor_treeN)r   r   r   r,   get_feature_names_outr   )r-   r.   r9   	names_outexpected_namess        r2   %test_get_features_names_out_regressorr  _  s     Q!Q!Q AA#%&*:;
F JJq!,,.I*,BCNy.1rg   zkwargs, expected_namesrJ   )r9   r   )votingclassifier_lr0votingclassifier_lr1votingclassifier_lr2votingclassifier_tree0votingclassifier_tree1votingclassifier_tree2r9   r7   votingclassifier_lrvotingclassifier_treec           	      .   ddgddgddgddgg}g d}t        dd	d
t        d      fdt        d      fgi| }|j                  ||       |j	                  |      }|j                         }|j                  d   t        |      k(  sJ t        ||       y)zBCheck get_feature_names_out for classifier for different settings.r   r#   r   r   r  r   r   )r   r   r#   r   r!   r"   r   rj   r  Nr(   )	r   r   r   r,   rM   r  r   r   r   )kwargsr  r-   r.   r9   X_transr  s          r2   &test_get_features_names_out_classifierr)  s  s    & Q!Q!Q!S*AA %156+;<

 F JJq!q!G,,.I==s>2222y.1rg   c                     ddgddgddgg} g d}t        dt        d	
      fdt        d	
      fgdd      }|j                  | |       d}t	        j
                  t        |      5  |j                          ddd       y# 1 sw Y   yxY w)zJCheck that error is raised when voting="soft" and flatten_transform=False.r   r#   r   r   r  r   r  r"   r   rj   r  rJ   Fr   zYget_feature_names_out is not supported when `voting='soft'` and `flatten_transform=False`r&   N)r   r   r   r,   r)   r*   r+   r  )r-   r.   r9   rP   s       r2   ,test_get_features_names_out_classifier_errorr+    s    
Q!Q!Q AA%156+;<
 F JJq!	$  
z	- '$$&' ' 's   'BB
)Tr   r  numpyr|   r)   sklearnr   sklearn.baser   r   r   sklearn.datasetsr   sklearn.dummyr   sklearn.ensembler	   r
   r   r   sklearn.exceptionsr   sklearn.linear_modelr   r   sklearn.model_selectionr   r   r   sklearn.multiclassr   sklearn.naive_bayesr   sklearn.neighborsr   sklearn.preprocessingr   sklearn.svmr   sklearn.treer   r   sklearn.utils._testingr   r   r   r   	load_irisirisdatatargetr-   r.   r  rC   load_diabetesrN   r{   markparametrizer3   rH   rQ   rf   rl   rp   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r)  r+  r(   rg   r2   <module>rC     s   : 	    > > ; (  . E S S 2 * 2 0  F  xyyAaC$++1))!,!8!!T2S  2U	

 "#5#789q!fM>	
	.$,
 . !DHF>17h )+IJ K&N&*:Z5 D0>BB">  -/01qAB		
 +-.0a@A		
2#32# 	')*.A>?	
 	)q9:/Q?@	
 
./!  $#%$# ')*,#>? 	
 	)s;<-3?@ 	
&
5'&
52(  D9
	
 F	35LMN"2#"2('rg   