
    sgZ              
       >   d dl Z d dlZd dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d dl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mZ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+m,Z,  G d de
      Z- G d de
      Z. G d de      Z/ ej`                         Z1e1jd                  e1jf                  cZ2Z4ejj                  jm                  d       Z7d Z8d Z9ejt                  jw                  de2jx                  d   dz   e=dfd e>dfd e=dfd e=dfg      d        Z?ejt                  jw                  dd d e2jx                  d   dg      d!        Z@ejt                  jw                  dd" d# d$ g      d%        ZAejt                  jw                  dd& d g      d'        ZBejt                  jw                  dd( d) d* g      d+        ZC G d, d-e
      ZDd. ZEd/ ZFd0 ZGe,d1        ZHd2 ZIejt                  jw                  d3 ed4d56       ed57       edd58       edgd58      g      d9        ZJe,d:        ZKd; ZLd< ZMd= ZNd> ZOd? ZPd@ ZQdA ZRdB ZSdC ZTdD ZUdE ZVejt                  jw                  dF e$ ed 7       e              dGf ed 7      eVfg      dH        ZWejt                  jw                  dIeeeg      dJ        ZXdK ZYejt                  jw                  dLe=dMdNge=dOdP gf      dQ        ZZejt                  jw                  dRdSdTg      dU        Z[dV Z\y)W    N)Mock)datasets)BaseEstimator)CCAPLSCanonicalPLSRegression)make_friedman1)PCA)HistGradientBoostingClassifierRandomForestClassifier)NotFittedError)SelectFromModel)
ElasticNetElasticNetCVLassoLassoCVLinearRegressionLogisticRegressionPassiveAggressiveClassifierSGDClassifier)make_pipeline)	LinearSVC)MinimalClassifierassert_allcloseassert_array_almost_equalassert_array_equalskip_if_32bitc                        e Zd Z fdZ xZS )NaNTagc                 F    t         |          }d|j                  _        |S NTsuper__sklearn_tags__
input_tags	allow_nanselftags	__class__s     b/var/www/html/venv/lib/python3.12/site-packages/sklearn/feature_selection/tests/test_from_model.pyr$   zNaNTag.__sklearn_tags__&   !    w')$(!    __name__
__module____qualname__r$   __classcell__r*   s   @r+   r   r   %        r-   r   c                        e Zd Z fdZ xZS )NoNaNTagc                 F    t         |          }d|j                  _        |S )NFr"   r'   s     r+   r$   zNoNaNTag.__sklearn_tags__-   s!    w')$)!r-   r.   r3   s   @r+   r6   r6   ,   r4   r-   r6   c                        e Zd Z fdZ xZS )NaNTagRandomForestc                 F    t         |          }d|j                  _        |S r!   r"   r'   s     r+   r$   z#NaNTagRandomForest.__sklearn_tags__4   r,   r-   r.   r3   s   @r+   r9   r9   3   r4   r-   r9   c                     t        dddd d       } dD ]`  }t        | |      }|j                  t        t               t        j                  t              5  |j                  t               d d d        b y # 1 sw Y   mxY w)N皙?
   Talphamax_itershufflerandom_statetol)gobbledigookz.5 * gobbledigook	threshold)	r   r   fitdataypytestraises
ValueError	transform)clfrF   models      r+   test_invalid_inputrP   ?   st    
B4TC ; "	y9		$]]:& 	"OOD!	" 	""	" 	"s   A77B 	c                      t               } t        |       }|j                  t        t               |j
                  | u sJ y )N	estimator)r   r   rG   rH   rI   rS   esttransformers     r+   test_input_estimator_unchangedrW   J   s6    
 
"C!C0KOOD!  C'''r-   zmax_features, err_type, err_msg   zmax_features ==c                      y)Ng      ? Xs    r+   <lambda>r]   [       r-   z3max_features must be an instance of int, not float.c                 .    t         j                  d   dz   S NrX   )rH   shaper[   s    r+   r]   r]   `   s    djjma' r-   c                      y)NrZ   r[   s    r+   r]   r]   e   r^   r-   c                    t        j                  |      }t        dd      }t        || t        j
                         }t        j                  ||      5  |j                  t        t               d d d        y # 1 sw Y   y xY w)N   r   n_estimatorsrB   rS   max_featuresrF   match)reescaper   r   npinfrJ   rK   rG   rH   rI   )ri   err_typeerr_msgrN   rV   s        r+   test_max_features_errorrr   R   sh    4 ii G
 aa
@C!LRVVGK 
xw	/ !a ! ! !s   A;;Bri      c                 V   t        dd      }t        || t        j                         }|j	                  t
        t              }| 0|j                  | k(  sJ |j                  d   |j                  k(  sJ yt        |d      rJ |j                  d   t
        j                  d   k(  sJ y)z>Check max_features_ and output shape for integer max_features.re   r   rf   rh   NrX   max_features_)
r   r   rn   ro   fit_transformrH   rI   ru   ra   hasattrri   rN   rV   X_transs       r+   "test_inferred_max_features_integerrz   v   s     !aa
@C!LRVVGK ''a0G((L888}}Q;#<#<<<<;888}}Q4::a=000r-   c                      yr`   rZ   r[   s    r+   r]   r]      r^   r-   c                      | j                   d   S r`   ra   r[   s    r+   r]   r]      s    AGGAJ r-   c                 4    t        | j                  d   d      S NrX   i'  minra   r[   s    r+   r]   r]      s    #aggaj%2H r-   c                     t        dd      }t        || t        j                         }|j	                  t
        t              }|j                   | t
              k(  sJ |j                  d   |j                  k(  sJ y)z?Check max_features_ and output shape for callable max_features.re   r   rf   rh   rX   N)	r   r   rn   ro   rv   rH   rI   ru   ra   rx   s       r+   #test_inferred_max_features_callabler      sq     !aa
@C!LRVVGK ''a0G$$T(::::=={88888r-   c                 6    t        t        | d         dz        S )Nr   rs   )roundlenr[   s    r+   r]   r]      s    E#ad)a-4H r-   c                     g dg dg dg dg}g d}t        dd      }t        || t        j                   	      }|j	                  ||      }|j
                  d
   |j                  k(  sJ y )N)gףp=
?q=
ףpgףp=
?)gRQg{Gzg333333)r   gQ޿gffffff)gQ?gGz?g?)r   rX   r   rX   re   r   rf   rh   rX   )r   r   rn   ro   rv   ra   ru   )ri   r\   rI   rN   rV   ry   s         r+   test_max_features_array_liker      sr     			A 	A
 aa
@C!LRVVGK ''1-G=={88888r-   c                 4    t        | j                  d   d      S r   r   r[   s    r+   r]   r]      s    s1771:u% r-   c                      | j                   d   S r`   r}   r[   s    r+   r]   r]      s     r-   c                      yr`   rZ   r[   s    r+   r]   r]      r^   r-   c                     t        dd      }t        |       }t        ||t        j                         }|j                  t        t               |j                  t               y)z7Tests that the callable passed to `fit` is called on X.2   r   rf   )side_effectrh   N)	r   r   r   rn   ro   rv   rH   rI   assert_called_with)ri   rN   mrV   s       r+   test_max_features_callable_datar      sL     !bq
AC&A!CaBFF7SKdA&r-   c                       e Zd Zd ZddZy)FixedImportanceEstimatorc                     || _         y N)importances)r(   r   s     r+   __init__z!FixedImportanceEstimator.__init__   s
    &r-   Nc                 L    t        j                  | j                        | _        y r   )rn   arrayr   feature_importances_)r(   r\   rI   s      r+   rG   zFixedImportanceEstimator.fit   s    $&HHT-=-=$>!r-   r   )r/   r0   r1   r   rG   rZ   r-   r+   r   r      s    '?r-   r   c            	          t        j                  ddddddd      \  } }| j                  d   }t        dd	      }t	        |t
        j                   
      }t	        ||t
        j                         }|j                  | |      }|j                  | |      }t        ||       t	        t        dd            }|j                  | |      }t        j                  |j                  j                        }t        j                  | d      }	t        d|j                  d   dz         D ]  }
t	        t        dd      |
t
        j                         }|j                  | |      }t        j                  |j                  j                        }t        j                  | d      }t        | d d |	d |
 f   | d d |d |
 f           t        |j                  j                  |j                  j                         y )N  r=      r   F	n_samples
n_featuresn_informativen_redundant
n_repeatedrA   rB   rX   r   rf   rS   rF   rh   g?*   r?   rB   rR   	mergesort)kind)r   make_classificationra   r   r   rn   ro   rv   r   r   abs
estimator_coef_argsortrange)r\   rI   ri   rU   transformer1transformer2X_new1X_new2scores1candidate_indices1r   scores2candidate_indices2s                r+   test_max_featuresr      s   ''DAq 771:L
 bq
AC"SRVVGDL"LRVVGL ''1-F''1-FFF# #UR-PQL''1-Fff\,,223GWH;?Av||A23 

&%b9#vvg

 ++Aq1&&00667ZZ{Ca#KZ0011Q8J;J8W5W3X	

 L++11<3J3J3P3PQr-   c            	         t        j                  ddddddd      \  } }| j                  d   }t        j                  g d      }t        d|dz         D ]  }t        t        |      |t        j                   	      }|j                  | |      }t        j                  |j                               d   }t        |t        j                  |             |j                  d   |k(  rJ  y )
Nr   r=   r   r   Fr   rX   )
   r   r   r   r   r   r   rs   rs   rX   )ri   rF   )r   r   ra   rn   r   r   r   r   ro   rv   where_get_support_maskr   arange)r\   rI   ri   feature_importancesr   rV   X_newselected_feature_indicess           r+   test_max_features_tiebreakr      s    ''DAq 771:L((#ABA|a/0 	,
%$%89#vvg

 ))!Q/#%88K,I,I,K#LQ#O 3RYYz5JK{{1~+++	,r-   c            	      `   t        j                  ddddddd      \  } }t        dd      }t        |dt        j
                   	      }|j                  | |      }t        |d
      }|j                  | |      }t        |dd
	      }|j                  | |      }|j                  d   t        |j                  d   |j                  d         k(  sJ |j                  t	        j                  | j                  d         t        j                  d d f         }	t        || d d |	d   f          y )Nr   r=   r   r   Fr   r   rf   rh   g{Gz?r   rX   )r   r   r   r   rn   ro   rv   ra   r   rM   r   newaxisr   )
r\   rI   rU   r   r   r   r   transformer3X_new3selected_indicess
             r+   test_threshold_and_max_featuresr     s   ''DAq !bq
AC"SqRVVGTL''1-F"SDAL''1-F"SqDQL''1-F<<?c&,,q/6<<?CCCC#--bii
.CBJJPQM.RSFAa!1!!4456r-   c            	      $   t        j                  ddddddd      \  } }t        dd      }t        d	d
gt        j
                  t        j                  g      D ]  \  }}t        ||      }|j                  | |       t        |j                  d      sJ |j                  |       }|j                  d   | j                  d   k  sJ |j                  j                  }t	        j                  |       ||      kD  }t        || d d |f           y )Nr   r=   r   r   Fr   r   rf   meanmedianr   r   rX   )r   r   r   ziprn   r   r   r   rG   rw   r   rM   ra   r   r   r   )	r\   rI   rU   rF   funcrV   r   r   feature_masks	            r+   test_feature_importancesr     s    ''DAq !bq
AC1BGGRYY3GH 
=	4%yI1{--/EFFF%%a({{1~
***!,,AAvvk*T+->>!%1l?);<
=r-   c            	         t        j                  ddddddd      \  } }t        j                  |j                        }||dk(  xx   dz  cc<   t        dd      }t        |	      }|j                  | |d 
       |j                         }|j                  | ||
       |j                         }t        j                  ||k(        rJ |j                  | |d|z  
       |j                         }t        j                  ||k(        sJ y )Nd   r=   r   r   Fr   rX   )rB   fit_interceptrR   )sample_weight)
r   r   rn   onesra   r   r   rG   r   all)r\   rI   r   rU   rV   maskweighted_maskreweighted_masks           r+   test_sample_weightr   4  s    ''DAq GGAGG$M!q&S 
!5
AC!C0KOOAqO-((*DOOAqO6113Mvvmt+,,,OOAqM(9O:!335O66-?2333r-   rS   r<   r   r   rB   )l1_ratiorB   c           	         t        j                  ddddddd      \  }}t        |       }|j                  ||       |j	                  |      }t        j                  |j                  j                        dkD  }t        ||d d |f          y )	Nr   r=   r   r   Fr   rR   gh㈵>)
r   r   r   rG   rM   rn   r   r   r   r   )rS   r\   rI   rV   r   r   s         r+   test_coef_default_thresholdr   P  s     ''DAq "I6KOOAq!!!$E66+((../$6DeQq$wZ0r-   c            
         t        j                  dddddddd      \  } }t               }t        dd	gt        j
                  t        j                  g      D ]  \  }}d
dt        j                  fD ]  }t        t               ||      }|j                  | |       t        |j                  d      sJ |j                  |       }|j                  d
   | j                  d
   k  sJ |j                  | |       t        j                  j                  |j                   d|      }| ||      kD  }	t#        || d d |	f            y )Nr   r=   r   r   Fr   )r   r   r   r   r   rA   rB   	n_classesr   r   rX   rs   )rS   rF   
norm_orderr   )axisord)r   r   r   r   rn   r   r   ro   r   rG   rw   r   rM   ra   linalgnormr   r   )
r\   rI   rU   rF   r   orderrV   r   r   r   s
             r+   test_2d_coefr   l  s7   ''	DAq 
C1BGGRYY3GH A	4BFF^ 	AE),.)PUK OOAq!;117;;;))!,E;;q>AGGAJ... GGAqM))...FK&k)::L%eQq,-?@	AAr-   c                     t        dddd       } t        |       }|j                  t        t        t        j                  t                     |j                  }|j                  t        t        t        j                  t                     |j                  }||u sJ |j                  t              }|j                  t        j                  t        t        f      t        j                  t        t        f             t        ||j                  t                     t        t                     }t        |d      rJ y )Nr   Fre   )rB   rA   r@   rC   rR   classespartial_fit)r   r   r   rH   rI   rn   uniquer   rM   rG   vstackconcatenater   r   rw   )rU   rV   	old_model	new_modelX_transforms        r+   test_partial_fitr     s    
%tC "C0KD!RYYq\:&&ID!RYYq\:&&I	!!!''-KOOBIItTl+R^^QF-CDk;+@+@+FG ",B,DEK{M2222r-   c                      t        d      } t        |       }|j                  t        t               |j                  d       |j                  t        t               |j                  j                  dk(  sJ y )Nr   r   rR   r   )estimator__C)r   r   rG   rH   rI   
set_paramsr   CrT   s     r+   test_calling_fit_reinitializesr     s]    

#C!C0KOOD!,OOD!!!##s***r-   c                  p   t        ddddd       } t        |       }|j                  t        t               |j                  t              }| j                  t        t               t        | d      }t        |j                  t              |       |j                  t        t               |j                  | usJ t        | d      }|j                  t        t               t        |j                  t              |       t        ddddd       } t        | d      }d}t        j                  t        |	      5  |j                  t        t               d d d        t        j                  t        |	      5  |j                  t        t               d d d        t        j                  t        |	      5  |j                  t               d d d        t        dddd 
      j                  t        t              } t        | d      }|j                  t        t               t        |j                  j                  | j                         |j                  t        t               t        |j                  j                  | j                         y # 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr<   r=   Tr   r>   )prefitFzEWhen `prefit=True`, `estimator` is expected to be a fitted estimator.rj   )r?   r@   rA   rC   )r   r   rG   rH   rI   rM   r   r   rJ   rK   r   r   r   r   )rN   rO   r   rq   s       r+   test_prefitr     s   
 cB1RV
WCC E	IIdA//$'KGGD!C-Eeood3[A	IIdA3&&& C.E	IIdAeood3[A cB1RV
WCC-EUG	~W	5 		$	~W	5 #$"#	~W	5 
 cB$
G
K
KDRS
TCC-E	IIdAE$$**CII6	dAE$$**CII6 # # s$   ;J9J7J,JJ),J5c                     t        dd      } | j                  t        t               t	        | dd       }d}t        j                  t        |      5  |j                  t               d	d	d	       d
}|j                  |       t        j                  t        d      5  |j                  t               d	d	d	       y	# 1 sw Y   WxY w# 1 sw Y   y	xY w)z:Check the interaction between `prefit` and `max_features`.re   r   rf   Tc                      | j                   d   S r`   r}   r[   s    r+   r]   z*test_prefit_max_features.<locals>.<lambda>  s    177ST: r-   r   ri   z[When `prefit=True` and `max_features` is a callable, call `fit` before calling `transform`.rj   Ng      @)ri   z!`max_features` must be an integer)r   rG   rH   rI   r   rJ   rK   r   rM   r   rL   )rS   rO   rq   ri   s       r+   test_prefit_max_featuresr     s     'AAFIMM$IdAUVE	&  
~W	5  L	,/	z)L	M    s   C !C C	Cc                     t        dd      } | j                  t        t               t	        | dd      }t        |      j                  }d| d}t        j                  t        |	      5  |j                          d
d
d
       |j                  t        t               |j                         }|dgk(  sJ y
# 1 sw Y   <xY w)z;Check the interaction between prefit and the feature names.rs   r   rf   TrX   r   zThis z_ instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.rj   Nx3)r   rG   rH   rI   r   typer/   rJ   rK   r   get_feature_names_out)rN   rO   namerq   feature_namess        r+   !test_prefit_get_feature_names_outr    s    
 aa
@CGGD!C1=E;D
v = 	=  
~W	5 &##%& 
IIdA//1MTF"""& &s   ,B88Cc                  Z   t        dd      } t        | d      }|j                  t        t               |j                  t              }| j                  t        t               dt        j                  | j                        z  }| j                  |kD  }t        |t        d d |f          y )Nr   r   rf   z0.5*meanrE         ?)
r   r   rG   rH   rI   rM   rn   r   r   r   )rU   rO   r   rF   r   s        r+   test_threshold_stringr     s    
 bq
ACC:6E	IIdA//$'K GGD!bggc6677I##i/Dk44=9r-   c                     t        ddddd       } t        | d      }|j                  t        t               |j                  t              }d|_        |j                  d	   |j                  t              j                  d	   kD  sJ y )
Nr<   r=   Tr   r>   z
0.1 * meanrE   z
1.0 * meanrX   )r   r   rG   rH   rI   rM   rF   ra   )rN   rO   r   s      r+    test_threshold_without_refittingr    ss    
cB1RV
WCC<8E	IIdA//$'K #EOQ%//$"7"="=a"@@@@r-   c                      t        d      } t        |       }t        j                         }t        j
                  |d<   t        j                  |d<   |j                  t        t               y )Nr   r   rR   rX   )	r   r   rH   copyrn   nanro   rG   rI   )rN   rO   nan_datas      r+   test_fit_accepts_nan_infr    sI    
(a
8Cc*Eyy{H&&HQK&&HQK	IIdAr-   c                      t        dd      } t        j                         }t        |       }|j	                  |t
               t        j                  |d<   t        j                  |d<   |j                  |       y )Nr   r   rf   rR   rX   )
r9   rH   r
  r   rG   rI   rn   r  ro   rM   )rN   r  rO   s      r+   test_transform_accepts_nan_infr  &  sW    
#A
>Cyy{Hc*E	IIh&&HQK&&HQK	OOHr-   c                      t               } t        |       }|j                         j                  j                  du sJ t               }t        |      }|j                         j                  j                  du sJ y )NrR   TF)r   r   r$   r%   r&   r6   )allow_nan_estrO   
no_nan_ests      r+   'test_allow_nan_tag_comes_from_estimatorr  4  sj    HMm4E!!#..88D@@@Jj1E!!#..88EAAAr-   c                 @    t        j                  | j                        S r   )rn   r   explained_variance_)pca_estimators    r+   _pca_importancesr  >  s    66-3344r-   zestimator, importance_getterz$named_steps.logisticregression.coef_c                     t        | d|      }|j                  t        t               |j	                  t              j
                  d   dk(  sJ y )Nr   )rF   importance_getterrX   )r   rG   rH   rI   rM   ra   )rS   r  selectors      r+   test_importance_getterr  B  sJ     V7HH LLqd#))!,111r-   PLSEstimatorc                     t        ddd      \  }} | d      }t        t        |      |      j                  ||      }|j	                  ||      dkD  sJ y)	zCheck the behaviour of SelectFromModel with PLS estimators.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/12410
    r   r=   r   r   r   rB   rX   )n_componentsr  N)r	   r   r   rG   score)r  r\   rI   rS   rO   s        r+   test_select_from_model_plsr!  T  sW     B2AFDAq!,I/)4i@DDQJE;;q!s"""r-   c                  $   t        j                  d       t        j                  dd      \  } t	        j
                        }fd}t        t               |      j                  |       }t        |j                  j
                         t	        |j                               }||k  sJ t        j                         5  t        j                  dt               |j!                  j"                  dd        d	d	d	       y	# 1 sw Y   y	xY w)
zvSelectFromModel works with estimators that do not support feature_names_in_.

    Non-regression test for #21949.
    pandasTas_frame
return_X_yc                 H    t        j                  j                  d         S r`   )rn   r   ra   )rS   r\   s    r+   r  zHtest_estimator_does_not_support_feature_names.<locals>.importance_getterj  s    yy$$r-   )r  errorrX   r   N)rJ   importorskipr   	load_irissetcolumnsr   r   rG   r   feature_names_in_r   warningscatch_warningssimplefilterUserWarningrM   iloc)rI   all_feature_namesr  r  feature_names_outr\   s        @r+   -test_estimator_does_not_support_feature_namesr5  a  s    
 !t=DAqAII% /@	c!Qi 
 x11199=H::<=0000		 	 	" (g{3166!A;'( ( (s   9DDzerror, err_msg, max_featuresz max_features == 10, must be <= 4r=   zmax_features == 5, must be <= 4c                 &    | j                   d   dz   S r`   r}   )xs    r+   r]   r]     s    !''!*q. r-   c                     t        j                  ddd      \  }}t        j                  | |      5  t	        t               |      j                  ||ddg       d	d	d	       y	# 1 sw Y   y	xY w)
zDTest that partial_fit from SelectFromModel validates `max_features`.r   r   r   r  rj   rS   ri   rX   r   N)r   r   rJ   rK   r   r   r   )r(  rq   ri   r\   rI   s        r+   &test_partial_fit_validate_max_featuresr:  }  si     ''DAq 
uG	, ,#oL	

+aQF+
+, , ,s   *A&&A/r%  TFc                    t        j                  d       t        j                  | d      \  }}t	        t               d      j                  ||g d      }| r!t        |j                  |j                         y	t        |d      rJ y	)
zITest that partial_fit from SelectFromModel validates `feature_names_in_`.r#  Tr$  r   r9  )r   rX   rs   r   r-  N)rJ   r)  r   r*  r   r   r   r   r-  r,  rw   )r%  r\   rI   r  s       r+   'test_partial_fit_validate_feature_namesr<    s{     !xDADAqqIUU	1i V H 855qyyA8%89999r-   c                     t        t                     } d}d}t        j                  t        |      5 }| j                  t        t              j                  t               ddd       t        j                  j                  t              sJ |t        |j                  j                        v sJ y# 1 sw Y   SxY w)zCheck that we raise the proper AttributeError when the estimator
    does not implement the `partial_fit` method, which is decorated with
    `available_if`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28108
    rR   z5This 'SelectFromModel' has no attribute 'partial_fit'z8'LinearRegression' object has no attribute 'partial_fit'rj   N)r   r   rJ   rK   AttributeErrorrG   rH   rI   r   
isinstancevalue	__cause__str)
from_model	outer_msg	inner_msg	exec_infos       r+   )test_from_model_estimator_attribute_errorrG    s     !+;+=>JGIJI	~Y	7 29tQ++D12ioo//@@@IOO5566662 2s   .B44B=)]rl   r.  unittest.mockr   numpyrn   rJ   sklearnr   sklearn.baser   sklearn.cross_decompositionr   r   r   sklearn.datasetsr	   sklearn.decompositionr
   sklearn.ensembler   r   sklearn.exceptionsr   sklearn.feature_selectionr   sklearn.linear_modelr   r   r   r   r   r   r   r   sklearn.pipeliner   sklearn.svmr   sklearn.utils._testingr   r   r   r   r   r   r6   r9   r*  irisrH   targetrI   randomRandomStaterngrP   rW   markparametrizera   rL   	TypeErrorrr   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r!  r5  r:  r<  rG  rZ   r-   r+   <module>r^     s   	      & H H + % S - 5	 	 	 + ! ] } /  x
))T[[aiiA"( % JJqMA	
 A	
 (	
 	
!2!32! !Q

1t)DE1 F1 &(HI9	9 *H!)LM9 N9" %';[I	?} ?(RV,472 = =248 Cb)R AB/qc3	11& A A>3(+(7V2#&
:	A
B5 " #1-/A/CD2	
 
!	./	2	2 #|])KL	# M	#(8 "	7<	68PQ,, dE]3: 4:7r-   