
    Mpj$                    D   S SK r S SKrS SKJr  S SKrS SKrS SKrS SKJ	r
  S SKJr  S SKJrJrJr  S SKJrJr  S SKJr  S SK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!  S SK"J#r#  S SK$J%r%J&r&J'r'J(r(  S SK)J*r*  S SK+J,r,  S SK-J.r.  S SK/J0r0J1r1J2r2J3r3  S SK4J5r5  S r6 " S S\Rn                  5      r8 " S S\Rr                  5      r: " S S\Rv                  5      r<S r7S r9S r;S r=S r>S r?\R                  " S S!/S!S!/S!S /S"S"/S"S#/S#S"//5      rA/ S$QrB\R                  " S!S!/S#S#/S%S#//5      rC/ S&QrD\R                  " S!S"/S'S(/S)S*/S"S"/S+S(/S*S*/S!S!/S S,/S"S!//	5      rES-/S%-  S./S%-  -   S//S%-  -   rF\R                  " S)S(/S"S#/S S //5      rG/ S0QrH\R                  " / S1Q/ S1Q/ S2Q/ S2Q/ S3Q/ S3Q/ S4Q/ S4Q/5      rI\R                  " / S5Q5      rJ\R                  " / S6Q/ S7Q/ S8Q/ S9Q/ S:Q/ S;Q/ S<Q/ S=Q/5      rK\R                  " / S5Q5      rL\R                  " 5       rN\R                  " S S!/S!S!/S!S /S"S"/S"S#/S#S"//5      rO/ S$QrP/ S>QrQSS? jrRS@ rS\R                  R                  SA\7\=\9\>/5      \R                  R                  SB/ SCQ5      SD 5       5       rV\R                  R                  SA\7\=\9\>/5      SE 5       rW\R                  R                  SBSFSG/5      \R                  R                  SHSI/\7SJ4\9SK4/5      SL 5       5       rX\R                  R                  SA\7\=\9\>/5      SM 5       rY\R                  R                  SA\7\=\9\>\;\?/5      SN 5       rZ\R                  R                  SA\7\=\9\>\;\?/5      SO 5       r[\R                  R                  SA\7\=\9\>/5      SP 5       r\\R                  R                  SA\7\=\9\>/5      SQ 5       r]\R                  R                  SA\7\=\9\>/5      SR 5       r^\R                  R                  SA\7\=\9\>/5      SS 5       r_\R                  R                  SA\7\=\9\>/5      ST 5       r`\R                  R                  SA\7\=\9\>/5      SU 5       ra\R                  R                  SV\7\9/5      \R                  R                  SW/ SXQ5      SY 5       5       rb\R                  R                  SV\7\=\9\>/5      SZ 5       rc\R                  R                  SA\7\=\9\>\;\?/5      S[ 5       rd\R                  R                  SA\7\=/5      S\ 5       re\R                  R                  SA\7\=\;\?/5      S] 5       rf\R                  R                  S^\7S_\R                  " S`5      04\=S_\R                  " S`5      04\;Sa\R                  " S`5      04\?Sa\R                  " S`5      04/5      Sb 5       rh\R                  R                  SA\7\=\9\>/5      Sc 5       ri\R                  R                  S^\7S_S 04\=S_S 04\;SaS 04\?SaS 04/5      Sd 5       rj\R                  R                  SA\7\=/5      Se 5       rk\R                  R                  SA\7\=/5      Sf 5       rl\R                  R                  SA\7\=/5      Sg 5       rm\R                  R                  SA\7\=/5      Sh 5       rn\R                  R                  SA\7\=/5      Si 5       ro\R                  R                  SA\7\=/5      Sj 5       rp\R                  R                  SA\7\=/5      Sk 5       rq\R                  R                  SA\7\=/5      Sl 5       rr\R                  R                  SA\7\=/5      Sm 5       rs\R                  R                  SA\7\=/5      Sn 5       rt\R                  R                  SA\7\=/5      So 5       ru\R                  R                  \R                  R                  SA\7\=/5      Sp 5       5       rw\R                  R                  SA\7\=/5      Sq 5       rx\R                  R                  SA\7\=/5      Sr 5       ry\R                  R                  SA\7\=/5      Ss 5       rz\R                  R                  SA\7\=/5      St 5       r{\R                  R                  SA\7\=/5      Su 5       r|\R                  R                  SA\7\=/5      Sv 5       r}\R                  R                  SA\7\=\;\?/5      Sw 5       r~\R                  R                  SA\7\=/5      Sx 5       r\R                  R                  SA\7\=/5      Sy 5       r\R                  R                  SA\7\=/5      Sz 5       r\R                  R                  SA\7\=/5      S{ 5       r\R                  R                  SA\7\=/5      S| 5       r\R                  R                  SA\7\=/5      \R                  R                  SB/ SCQ5      S} 5       5       r\R                  R                  SA\7\=/5      S~ 5       r\R                  R                  SA\7\=/5      S 5       r\R                  R                  SA\7\=/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      S 5       r\R                  R                  SA\9\>/5      \R                  R                  SB/ SCQ5      S 5       5       r\R                  R                  SA\9\>/5      S 5       rSS jr\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      \R                  R                  SB/ SCQ5      S 5       5       r\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      \R                  R                  SB/ SCQ5      S 5       5       r\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      S 5       r\R                  R                  SA\;\?/5      S 5       rS rS r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/5      S 5       rS rS rS r\R                  R                  S/ SQ5      S 5       rS rS rS rS rS rS rS rS rS r\R                  R                  S/ SQ5      S 5       r\R                  R                  SV\Rn                  \Rr                  /5      S 5       rS rS r\R                  R                  SV\7\9/5      S 5       r\R                  R                  S\7\=\9\>\;\?/5      \R                  R                  S\GRf                  \GRh                  45      S 5       5       r\R                  R                  S\7\=\9\>\;\?/5      S 5       rS rS rg)    N)Mock)minimize)datasetslinear_modelmetrics)cloneis_classifier)
make_blobs)ConvergenceWarning)Nystroem)	_sgd_fast)_stochastic_gradient)RandomizedSearchCVShuffleSplitStratifiedShuffleSplit)make_pipeline)LabelEncoderMinMaxScalerStandardScalerscale)OneClassSVM)get_tags)_align_api_if_sparse)assert_allcloseassert_almost_equalassert_array_almost_equalassert_array_equal)_sparse_random_arrayc                 H    SU ;  a  SU S'   SU ;  a  S U S'   SU ;  a  SU S'   g g )Nrandom_state*   tolmax_iter    kwargss    _/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/sklearn/linear_model/tests/test_sgd.py_update_kwargsr)   %   s<    V#!#~Fuz      c                   L   ^  \ rS rSrU 4S jrU 4S jrU 4S jrU 4S jrSrU =r	$ )_SparseSGDClassifier/   c                 j   > [        [        R                  " U5      5      n[        TU ]  " X/UQ70 UD6$ N)r   sp	csr_arraysuperfitselfXyargskw	__class__s        r(   r3   _SparseSGDClassifier.fit0   s.     a1w{1-$-"--r*   c                 j   > [        [        R                  " U5      5      n[        TU ]  " X/UQ70 UD6$ r/   )r   r0   r1   r2   partial_fitr4   s        r(   r=    _SparseSGDClassifier.partial_fit4   s/     a1w"15$5"55r*   c                 `   > [        [        R                  " U5      5      n[        TU ]  U5      $ r/   )r   r0   r1   r2   decision_functionr5   r6   r:   s     r(   r@   &_SparseSGDClassifier.decision_function8   s%     a1w(++r*   c                 `   > [        [        R                  " U5      5      n[        TU ]  U5      $ r/   )r   r0   r1   r2   predict_probarA   s     r(   rD   "_SparseSGDClassifier.predict_proba<   s%     a1w$Q''r*   r%   )
__name__
__module____qualname____firstlineno__r3   r=   r@   rD   __static_attributes____classcell__)r:   s   @r(   r,   r,   /   s    .6,( (r*   r,   c                   &    \ rS rSrS rS rS rSrg)_SparseSGDRegressorA   c                     [        [        R                  " U5      5      n[        R                  R
                  " XU/UQ70 UD6$ r/   )r   r0   r1   r   SGDRegressorr3   r5   r6   r7   r8   r9   s        r(   r3   _SparseSGDRegressor.fitB   s7     a1((,,TaE$E"EEr*   c                     [        [        R                  " U5      5      n[        R                  R
                  " XU/UQ70 UD6$ r/   )r   r0   r1   r   rP   r=   rQ   s        r(   r=   _SparseSGDRegressor.partial_fitF   s7     a1((44TaM$M"MMr*   c                 ^    [         R                  R                  " U [        U5      /UQ70 UD6$ r/   )r   rP   r@   r   r5   r6   r8   r9   s       r(   r@   %_SparseSGDRegressor.decision_functionJ   s6    ((::&q)
,0
46
 	
r*   r%   NrF   rG   rH   rI   r3   r=   r@   rJ   r%   r*   r(   rM   rM   A   s    FN
r*   rM   c                   &    \ rS rSrS rS rS rSrg)_SparseSGDOneClassSVMQ   c                     [        [        R                  " U5      5      n[        R                  R
                  " X/UQ70 UD6$ r/   )r   r0   r1   r   SGDOneClassSVMr3   rV   s       r(   r3   _SparseSGDOneClassSVM.fitR   s5     a1**..tDDDDr*   c                     [        [        R                  " U5      5      n[        R                  R
                  " X/UQ70 UD6$ r/   )r   r0   r1   r   r]   r=   rV   s       r(   r=   !_SparseSGDOneClassSVM.partial_fitV   s5     a1**66tLLLLr*   c                     [        [        R                  " U5      5      n[        R                  R
                  " X/UQ70 UD6$ r/   )r   r0   r1   r   r]   r@   rV   s       r(   r@   '_SparseSGDOneClassSVM.decision_functionZ   s5     a1**<<TRtRrRRr*   r%   NrX   r%   r*   r(   rZ   rZ   Q   s    EMSr*   rZ   c                  D    [        U 5        [        R                  " S0 U D6$ Nr%   )r)   r   SGDClassifierr&   s    r(   re   re   _   s    6%%///r*   c                  D    [        U 5        [        R                  " S0 U D6$ rd   )r)   r   rP   r&   s    r(   rP   rP   d   s    6$$.v..r*   c                  D    [        U 5        [        R                  " S0 U D6$ rd   )r)   r   r]   r&   s    r(   r]   r]   i   s    6&&000r*   c                  .    [        U 5        [        S0 U D6$ rd   )r)   r,   r&   s    r(   SparseSGDClassifierri   n   s    6)&))r*   c                  .    [        U 5        [        S0 U D6$ rd   )r)   rM   r&   s    r(   SparseSGDRegressorrk   s   s    6(((r*   c                  .    [        U 5        [        S0 U D6$ rd   )r)   rZ   r&   s    r(   SparseSGDOneClassSVMrm   x   s    6 *6**r*         )rp   rp   rp   rq   rq   rq      )rp   rq   rq   g            ?g      g      ?g      ?      onetwothree)ru   rv   rw   )rp   rp   r   r   r   r   )r   r   rp   r   r   r   )r   r   r   r   rp   rp   )r   r   r   rp   r   r   )rp   rp   rp   rp   rq   rq   rq   rq   )rp   ?皙?r   r   r   )rp   zG?g\(\?r   r   r   )rp   Q?g)\(?r   r   r   )rp   Q?Gz?r   r   r   )r   r   r   g{Gz?r|   rp   )r   r   r   gHzG?rz   rp   )r   r   r   r|   ffffff?rp   )r   r   r   g(\?rp   rp   )r   rp   rp   c                    Uc$  [         R                  " UR                  S   5      nOUn[         R                  " UR                  S   5      nUn	Sn
SnU [        [        4;   a  Sn[        U5       Hd  u  p[         R                  " X5      nX-  nXU   -
  nUSX4-  -
  -  nXsU-  U-  * -  nXU-  * U-  -  n	X-  nX-  nXS-   -  nX-  n
X-  n
XS-   -  n
Mf     X4$ )Nrp                 ?{Gz?)npzerosshaperi   rk   	enumeratedot)klassr6   r7   etaalphaweight_initintercept_initweightsaverage_weights	interceptaverage_interceptdecayientrypgradients                   r(   asgdr      s   ((1771:&hhqwwqz*OIE $&899aLFF5"	t83#+&&8^e+,,X~&..	"s7"&W$ !  --r*   c                 2   U " SSSUS9nUR                  X5        U " SSSUS9nUR                  XUR                  R                  5       UR                  R                  5       S9  U " SSSSUS9nUR                  X5        UR                  UR                  :X  d   e[        UR                  UR                  5        UR                  SS9  UR                  X5        UR                  UR                  :X  d   e[        UR                  UR                  5        g )	Nr   F)r   eta0shufflelearning_rateMbP?	coef_initr   T)r   r   r   
warm_startr   r   )r3   coef_copy
intercept_t_r   
set_params)r   r6   Ylrclfclf2clf3s          r(   _test_warm_startr      s    
duB
GCGGAMu4bIDHHQSYY^^-cnn>Q>Q>SHT uRD 	HHQN77cffdjj#))4OO%O HHQN77dggdjj$**5r*   r   r   )constantoptimal
invscalingadaptivec                 0    [        U [        [        U5        g r/   )r   r6   r   r   r   s     r(   test_warm_startr      s    
 UAq"%r*   c                 `   U " SSS9nUR                  [        [        5        [        R                  " [        5      S S 2[        R
                  4   n[        R                  X"4   n[        R                  " [        5         UR                  [        U5        S S S 5        g ! , (       d  f       g = f)Nr   Fr   r   )
r3   r6   r   r   arraynewaxisc_pytestraises
ValueError)r   r   Y_s      r(   test_input_formatr     sk    
 dE
*CGGAqM	!Q

]	#B	rvB	z	"2 
#	"	"s   ?B
B-pa1pa2estlosssquared_hingesquared_errorc                     U" X S9n[         R                  " [        5         UR                  [        [
        5        SSS5        g! , (       d  f       g= f)zETest that SGD raises with forbidden loss for passive-aggressive algo.)r   r   Nr   r   r   r3   r6   r   )r   r   r   s      r(   test_learning_rate_PA_raisesr     s3     4
*C	z	"1 
#	"	"   A
Ac                     U " SSS9n[        U5      nUR                  SS9  UR                  [        [        5        U " SSS9nUR                  [        [        5        [        UR                  UR                  5        g )Nr   l1)r   penaltyl2)r   )r   r   r3   r6   r   r   r   r   r   r   s      r(   
test_cloner     s_    
 dD
)C
*CNN4N GGAqMtT*DHHQNsyy$**-r*   c                    U " SSS9nUR                  [        [        5        [        US5      (       d   e[        US5      (       d   e[        US5      (       d   e[        US5      (       d   eU " 5       nUR                  [        [        5        [        US5      (       a   e[        US5      (       a   e[        US5      (       a   e[        US5      (       a   eg )NTr   )averager   _average_coef_average_intercept_standard_intercept_standard_coef)r3   r6   r   hasattrr   r   s     r(   test_plain_has_no_average_attrr   .  s     4
(CGGAqM3((((3,----3-....3())))
'CGGAqMsO,,,,s01111s12222s,-----r*   c                    U " SS9nU " 5       n[        S5       H  n[        U5      (       ad  UR                  [        [        [
        R                  " [        5      S9  UR                  [        [        [
        R                  " [        5      S9  Mw  UR                  [        [        5        UR                  [        [        5        M     [        UR                  UR                  SS9  U [        [        [        [        4;   a   [        UR                  UR                  SS9  g U [        [         4;   a!  [#        UR$                  UR$                  5        g g )NiX  r   d   classes   decimal)ranger	   r=   r6   r   r   uniquer   r   re   ri   rP   rk   r   r   r]   rm   r   offset_)r   clf1r   _s       r(   %test_late_onset_averaging_not_reachedr   K  s     D7D3ZQ299Q<8Q299Q<8Q"Q"  djj$**bA 3\CUVVDOOT__bI	>#78	8dll3 
9r*   c           
         SnSn[         R                  " [        5      nSX3S:H  '   SX3S:H  '   U " SSS	UUSS
S9nU " S
SS	UUSS
S9nUR                  [        U5        UR                  [        U5        [        U [        UUUUR                  R                  5       UR                  S9u  pg[        UR                  R                  5       UR                  5       SS9  [        UR                  USS9  g )Nr   -C6?      rp   r   rq      r   r   F)r   r   r   r   r   r#   r   )r   r   r   r   )r   r   r   r3   r6   r   r   ravelr   r   r   )r   r   r   Y_encoder   r   r   r   s           r(   !test_late_onset_averaging_reachedr   h  s     DExx{H"H]!H] D  D 	HHQHHQ)-	JJ$$&*&O djj..0/2G2G2ISUV):BGr*   c                     [         R                  [         R                  S:     n[         R                  [         R                  S:     nS H.  nSnU " USUS9R                  X5      nUR                  U:  a  M.   e   g )Nr   TF  r   )early_stoppingr"   r#   )irisdatatargetr3   n_iter_)r   r6   r   r   r#   r   s         r(   test_early_stoppingr     so     			$++/"ADKK!O$A'>thOSS
 {{X%%% (r*   c                    U " SSSSS9nUR                  [        R                  [        R                  5        U " SSSSS9nUR                  [        R                  [        R                  5        UR                  UR                  :  d   eg )Nr   r   r   r   )r   r   r"   r#   r   )r3   r   r   r   r   )r   r   r   s      r(   "test_adaptive_longer_than_constantr     sf     z$MDHHTYY$z$MDHHTYY$<<$,,&&&r*   c                 x   [         R                  [         R                  p!SnSnSnSnU " S[        R                  R                  U5      USSS UUS9nUR                  X5        UR                  U:X  d   eU " S[        R                  R                  U5      SSS UUS	9n[        U5      (       a
  [        X4S
9n	O	[        X4S
9n	[        U	R                  X5      5      u  p[        R                  " U
5      n
UR                  X   X*   5        UR                  U:X  d   e[        UR                  UR                  5        g )N皙?r!   F
   Tr   r   )r   r    validation_fractionr   r   r"   r#   r   )r   r    r   r   r"   r#   r   )	test_sizer    )r   r   r   r   randomRandomStater3   r   r	   r   r   nextsplitsortr   r   )r   r6   r   r   seedr   r#   r   r   cv	idx_trainidx_vals               r(   )test_validation_set_not_used_for_trainingr    s"    99dkkqDGHYY**40/ 	D 	HHQN<<8###YY**40 D T#.AU$7Kbhhqn-I	"IHHQ\1<(<<8###tzz4::.r*   c                     [         R                  [         R                  p!S HJ  nS Vs/ s H%  nU " UUSSS9R                  X5      R                  PM'     nn[        U[        U5      5        ML     g s  snf )Nr   )rq   rr   r   r   r   )r   n_iter_no_changer"   r#   )r   r   r   r3   r   r   sorted)r   r6   r   r   r  n_iter_lists         r(   test_n_iter_no_changer    s     99dkkq' %/

 %/  -!1	 SYW %/ 	 

 	;{(;< (

s   ,A1c                     U " SSS9n[         R                  " [        5         UR                  [        [
        5        S S S 5        g ! , (       d  f       g = f)NTr}   )r   r   )r   r   r   r3   X3Y3r   s     r(   )test_not_enough_sample_for_early_stoppingr    s5    
 t
>C	z	"B 
#	"	"s   A
A	Estimatorl1_ratio)r   gffffff?rp   c                     U " SSSS9R                  [        [        5      nU " SUSS9R                  [        [        5      n[        UR                  UR                  5        g)z@Check that l1_ratio is not used when penalty is not 'elasticnet'r   Nr   )r   r  r    )r3   r6   r   r   r   )r  r  r   r   s       r(   test_sgd_l1_ratio_not_usedr    sL     TDqAEEaKDTH1EII!QODDJJ

+r*   c                     U " SS S9n[         R                  " [        SS9   UR                  [        [
        5        S S S 5        g ! , (       d  f       g = f)N
elasticnet)r   r  z1l1_ratio must be set when penalty is 'elasticnet'matchr   )r  r   s     r(   #test_sgd_failing_penalty_validationr    sA     L4
8C	M
 	1
 
 
r   c                 h   U " SS9n[         R                  " [        SS9   UR                  [        [
        5        SSS5        [        R                  " SS9 nU " SS9nUR                  [        [
        5        SSS5        [        W5      S	:X  d   eg! , (       d  f       N]= f! , (       d  f       N1= f)
z:Check that a warning is raised when `power_t` is negative.r   )power_tz,Negative values for `power_t` are deprecatedr  NT)recordrs   r   )	r   warnsFutureWarningr3   r6   r   warningscatch_warningslen)r   r   ws      r(   test_power_t_limitsr    s     
C	K
 	1
 
	 	 	-C 1 
. q6Q;;
 
 
.	-s   B!B#
B #
B1c           
          S HK  nU " SSSUSSS9nUR                  [        [        5        [        UR	                  [
        5      [        5        MM     g )N)hinger   log_lossmodified_huberr   r   Tr   )r   r   fit_interceptr   r#   r   )r3   r6   r   r   predictTtrue_result)r   r   r   s      r(   test_sgd_clfr(  0  sM     I
 	13;;q>;7 Ir*   c                     [         R                  " [        SS9   U " 5       R                  [        [
        [        R                  " S5      S9  SSS5        g! , (       d  f       g= f)z1Check that the shape of `coef_init` is validated.z)Provided coef_init does not match datasetr  rr   r   N)r   r   r   r3   r6   r   r   r   r   s    r(   test_provide_coefr-  B  s<    
 
z)T	UAqBHHTN3 
V	U	Us   3A
A$zklass, fit_paramsr   r*  offset_initc                     U " 5       n[         R                  " [        SS9   UR                  " [        [
        40 UD6  SSS5        g! , (       d  f       g= f)z:Check that `intercept_init` or `offset_init` is validated.zdoes not match datasetr  Nr   )r   
fit_paramssgd_estimators      r(   test_set_intercept_offsetr2  K  s<     GM	z)A	B!Q-*- 
C	B	Bs   A
Ac                     Sn[         R                  " [        US9   U " SS9R                  [        [
        5        SSS5        g! , (       d  f       g= f)zKCheck that we raise an error for `early_stopping` used with
`partial_fit`.
z/early_stopping should be False with partial_fitr  T)r   N)r   r   r   r=   r6   r   )r   err_msgs     r(   (test_sgd_early_stopping_with_partial_fitr5  [  s9     @G	z	1T"..q!4 
2	1	1s   A
Ac                 F    U " 5       R                   " [        [        40 UD6  g)z`Check that we can pass a scaler with binary classification to
`intercept_init` or `offset_init`.N)r3   X5Y5)r   r0  s     r(    test_set_intercept_offset_binaryr9  g  s     
GKKB%*%r*   c                    SnSnSnSn[         R                  R                  S5      nUR                  X44S9nUR                  US9nU " SSUUS	S
S	SS9n[         R                  " Xg5      n	[         R
                  " U	5      n	UR                  Xi5        [        XXU5      u  pU
R                  S
S5      n
[        UR                  U
SS9  [        UR                  USS9  g )N皙?       @   r   r   sizer   r   Trp   Fr   r   r   r   r$  r#   r   r   ro      r   )r   r   r   normalr   signr3   r   reshaper   r   r   r   )r   r   r   	n_samples
n_featuresrngr6   r  r   r7   r   r   s               r(   &test_average_binary_computed_correctlyrH  v  s     CEIJ
))


"C

/
0A



#A
 	C 	qA

AGGAM)-e)F&O%--a4Ocii"E(92Fr*   c                     U " 5       R                  [        [        5      nU " 5       R                  [        [        UR                  S9  U " 5       R                  [        [
        5      nU " 5       R                  [        [
        UR                  S9  g )Nr   )r3   r7  r8  r   r6   r   r   s     r(   test_set_intercept_to_interceptrK    sX     '++b"
C	GKKBs~~K6
'++a
C	GKK1S^^K4r*   c                     U " SSS9n[         R                  " [        5         UR                  [        [
        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)Nr   r=  r   r#   	   )r   r   r   r3   X2r   onesr   s     r(   test_sgd_at_least_two_labelsrQ    s>     dR
(C	z	"BGGAJ 
#	"	"s   +A
A$c                     Sn[         R                  " [        US9   U " SS9R                  [        [
        [        R                  " [
        5      S9  S S S 5        g ! , (       d  f       g = f)Na`  class_weight 'balanced' is not supported for partial_fit\. In order to use 'balanced' weights, use compute_class_weight\('balanced', classes=classes, y=y\). In place of y you can use a large enough sample of the full training set target to properly estimate the class frequency distributions\. Pass the resulting weights as the class_weight parameter\.r  balanced)class_weightr   )r   r   r   r=   r6   r   r   r   )r   regexs     r(   &test_partial_fit_weight_class_balancedrV    sJ    	 
 
z	/:&221a12N 
0	/	/s   6A
A)c                 D   U " SSS9R                  [        [        5      nUR                  R                  S:X  d   eUR
                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   eUR                  [        5      n[        U[        5        g )Nr   r=  rM  rr   rq   r*  r   rp   rr   r3   rO  Y2r   r   r   r@   r%  T2r   true_result2r   r   preds      r(   test_sgd_multiclassr`    s     dR
(
,
,R
4C99??f$$$>>4'''  1a&*00F:::;;r?Dt\*r*   c                    SnSnU " SSUUSSSSS9n[         R                  " [        5      nUR                  [        U5        [         R
                  " U5      n[        U5       Hq  u  pg[         R                  " UR                  S	   5      nS
XU:g  '   [        U [        XU5      u  p[        XR                  U   SS9  [        XR                  U   SS9  Ms     g )Nr   r   r   r   Trp   Fr@  r   ro   r   r   )r   r   r[  r3   rO  r   r   rP  r   r   r   r   r   r   )r   r   r   r   np_Y2r   r   cly_iaverage_coefr   s              r(   test_sgd_multiclass_averagerf    s    
CE
 	C HHRLEGGBiiG7#ggekk!n%RK*.ub#E*J'!,		!bI-~~a/@"M $r*   c                 \   U " SSS9nUR                  [        [        [        R                  " S5      [        R                  " S5      S9  UR
                  R                  S:X  d   eUR                  R                  (       d   S5       eUR                  [        5      n[        U[        5        g )Nr   r=  rM  rX  rr   r   r*  )r3   rO  r[  r   r   r   r   r   r%  r\  r   r]  r^  s      r(   "test_sgd_multiclass_with_init_coefrh    sz     dR
(CGGBbhhv.rxx{GK99??f$$$>>%%;;r?Dt\*r*   c                 F   U " SSSS9R                  [        [        5      nUR                  R                  S:X  d   eUR
                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   eUR                  [        5      n[        U[        5        g )	Nr   r=  rq   )r   r#   n_jobsrX  r*  r   rY  rZ  r^  s      r(   test_sgd_multiclass_njobsrk    s     dR
2
6
6r2
>C99??f$$$>>4'''  1a&*00F:::;;r?Dt\*r*   c                 l   U " 5       n[         R                  " [        5         UR                  [        [
        [        R                  " S5      S9  S S S 5        U " 5       R                  [        [
        [        R                  " S5      S9nU " 5       n[         R                  " [        5         UR                  [        [
        [        R                  " S5      S9  S S S 5        U " 5       R                  [        [
        [        R                  " S5      S9ng ! , (       d  f       N= f! , (       d  f       NR= f)N)rq   rq   r+  rX  rp   rJ  r*  )r   r   r   r3   rO  r[  r   r   r   s     r(   test_set_coef_multiclassrn    s    
 'C	z	"B"((6"23 
# '++b"(8+
9C 'C	z	"Brxx~6 
# '++b"RXXd^+
<C 
#	" 
#	"s   .D+.D%
D"%
D3c                 b   [         R                  R                   GHn  n[        US9nUS;   a(  [        US5      (       d   e[        US5      (       d   eM;  SR	                  U5      n[        US5      (       a   e[        US5      (       a   e[
        R                  " [        SS9 nUR                    S S S 5        [        WR                  R                  [        5      (       d   eU[        UR                  R                  5      ;   d   e[
        R                  " [        SS9 nUR                    S S S 5        [        UR                  R                  [        5      (       d   eU[        UR                  R                  5      ;   a  GMo   e   g ! , (       d  f       N= f! , (       d  f       Nu= f)	N)r   r"  r#  rD   predict_log_probaz5probability estimates are not available for loss={!r}z has no attribute 'predict_proba'r  z$has no attribute 'predict_log_proba')r   re   loss_functionsr   formatr   r   AttributeErrorrD   
isinstancevalue	__cause__strrq  )r   r   r   	inner_msg	exec_infos        r(   $test_sgd_predict_proba_method_accessr{    sd    **99&11300003 34444OVVI sO4444s$78888&H!!
 ioo77HHHHIOO$=$= >>>>&L%% ioo77HHHHIOO$=$= >>>>1 :  s   &F$F 
F	 
F.	c                    [        SSSS S9R                  [        [        5      n[	        US5      (       a   e[	        US5      (       a   eS H  nU " USSS9nUR                  [        [        5        UR                  S	S
//5      nUS   S:  d   eUR                  SS//5      nUS   S:  d   e[        R                  " SS9   UR                  S	S
//5      nUS   US   :  d   eUR                  SS//5      nUS   US   :  d   e S S S 5        M     U " SSSS9R                  [        [        5      nUR                  SS/SS//5      nUR                  SS/SS//5      n[        [        R                  " USS9[        R                  " USS95        [        US   R                  5       S5        [        R                   " US   S:  5      (       d   eUR                  SS//5      nUR                  SS//5      n[        [        R"                  " US   5      [        R"                  " US   5      5        UR                  S	S
//5      nUR                  S	S
//5      n[%        [        R&                  " U5      U5        UR                  SS//5      nUR                  SS//5      n[%        [        R&                  " U5      U5        U " SSSS9nUR                  [        [        5        UR                  S	S
//5      nUR                  S	S
//5      nU [(        :w  a/  [        R                  " USS9[        R                  " USS9:X  d   eO.[        R*                  " USS9[        R*                  " USS9:X  d   e[        R-                  SS9nUR                  U/5      n[        R                   " US:  5      (       a&  UR                  U/5      n[%        US   S/S	-  5        g g ! , (       d  f       GM  = f)Nr!  r   r   )r   r   r#   r"   rD   rq  rp  )r   r   r#   rr   rq   r   rp   rs   ro   ignore)divide)r   r   r"  r;  皙333333?皙?rp   )axisr   r#  gUUUUUU?)re   r3   r6   r   r   rD   r   errstaterq  rO  r[  r@   r   argmaxr   sumallargsortr   logri   argminmean)r   r   r   r   dlpxs          r(   test_sgd_probar  /  s    WD24
H
L
LQPQ
RCsO,,,,s/0000 /TB711vh'w}}Bxj)w}} [[)%%1vh/AT7QtW$$$%%Bxj1AT7QtW$$$	 *) /" Ztb
9
=
=b"
ECT{S#J78AC;c
34Aryy+RYYqq-AB!
A&66!A$!)B8*%ABxj)Arzz!A$'AaD)9:			Ax	(BAq6(#AbffQi,			Rz	*BB8*%AbffQi,
 %TB
?CGGBO1vh'AAq6(#A##yy#ryy';;;;yy#ryy';;;;
 	
AAqc"A	vva"f~~qc"!!A$	A6 Y *)s   AO##
O3	c           	      ,   [        [        5      n[        R                  R	                  S5      n[        R
                  " U5      nUR                  U5        [        US S 24   n[        U   nU " SSSSS SS9nUR                  XE5        [        UR                  SSS	24   [        R                  " S
5      5        UR                  U5      n[        Xu5        UR                  5         [        R                  " UR                  5      (       d   eUR                  U5      n[        Xu5        [         R"                  " [         R$                  " U5      5      n[        R                  " UR                  5      (       d   eUR                  U5      n[        Xu5        g )N   r   r  F  )r   r   r$  r#   r"   r   r   rp   ro   )   )r  X4r   r   r   aranger   Y4r3   r   r   r   r%  sparsifyr0   issparsepickleloadsdumps)r   nrG  idxr6   r   r   r_  s           r(   test_sgd_l1r  w  s1    	BA
))


#C
))A,CKK
36
A
3A
C GGAMsyyAbD)288D>:;;q>Dt LLN;;syy!!!!;;q>Dt ,,v||C(
)C;;syy!!!!;;q>Dtr*   c                    [         R                  " SS/SS/SS/SS/SS//5      n/ SQnU " SSS	S S
9nUR                  X5        [        UR	                  SS//5      [         R                  " S/5      5        U " SSS	SS0S
9nUR                  X5        [        UR	                  SS//5      [         R                  " S/5      5        g )Nr   r   皙r   r   rp   rp   rp   ro   ro   r;  r   F)r   r#   r$  rT  r  rp   r   ro   r   r   r3   r   r%  r   r6   r7   r   s       r(   test_class_weightsr    s     	4,q	D$<#sc3ZPQAA
cDD
QCGGAMs{{S$K=1288QC=A cDQPUJ
WCGGAM s{{S$K=1288RD>Br*   c                     SS/SS/SS/SS//n/ SQnU " SSS S9nUR                  X5        SS/SS//nSS/nU " SSSSS.S9nUR                  X5        [        UR                  UR                  S	S
9  g )Nrp   r   )r   r   rp   rp   r;  r   r   r#   rT  rs   r}  rq   r   )r3   r   r   )r   r6   r7   r   clf_weighteds        r(   test_equal_class_weightr    s     Q!Q!Q!Q(AA
cDt
<CGGAM
Q!QA	
AAsTCC@PQLQ 		<#5#5qAr*   c                     U " SSSS0S9n[         R                  " [        5         UR                  [        [
        5        S S S 5        g ! , (       d  f       g = f)Nr;  r   r   rs   r  r   r   s     r(   test_wrong_class_weight_labelr    s;     cD3x
@C	z	"1 
#	"	"s   A		
Ac                    SSS.n[         R                  R                  S5      nUR                  [        R
                  S   5      n[         R                  " U5      nU[        S:H  ==   US   -  ss'   U[        S:H  ==   US   -  ss'   U " SSUS	9nU " SSS
9nUR                  [        [        US9  UR                  [        [        US9  [        UR                  UR                  5        g )Ng333333?r  )rp   rq   r   rp   rq   r;  r=  r  rM  sample_weight)r   r   r   random_sampler  r   r   r3   r  r   r   )r   class_weightsrG  sample_weightsmultiplied_togetherr   r   s          r(   test_weights_multipliedr    s     $M
))


"C&&rxx{3N''.1a M!$44 a M!$44 sRmDDsR(DHHR>H2HHR#6H7

DJJ/r*   c                    [         R                  [         R                  p![        U5      n[        R
                  " UR                  S   5      n[        R                  R                  S5      nUR                  U5        X   nX#   nU " SSS SS9R                  X5      n[        R                  " X%R                  U5      SS9n[        US	S
S9  U " SSSSS9R                  X5      n[        R                  " X'R                  U5      SS9n[        US	S
S9  [        UR                   UR                   S5        XS:H  S S 24   nX"S:H     n	[        R"                  " U/U/S-  -   5      n
[        R$                  " U/U	/S-  -   5      nU " SS SS9nUR                  X5        UR                  U5      n[        R                  " X,SS9S	:  d   eU " SSSS9nUR                  X5        UR                  U5      n[        R                  " X,SS9S	:  d   eg )Nr      r   r   F)r   r#   rT  r   weightedr   r{   rp   r   rS  r   )r#   rT  r   )r   r   r   r   r   r  r   r   r   r   r3   r   f1_scorer%  r   r   r   vstackconcatenate)r   r6   r7   r  rG  r   f1clf_balancedX_0y_0X_imbalancedy_imbalancedy_preds                r(   test_balanced_weightr    s   
 99dkkqaA
))AGGAJ
C
))


"CKK	A	A
ft$
N
R
RST
XC			![[^Z	@BD!, t*e	c!i  
		!11!4j	IBD!, cii););Q? FAI,C
F)C99aSC52:-.L>>1#
"23L D%
@CGGL'[[^FAz:TAAA J
FCGGL'[[^FAz:TAAAr*   c                    [         R                  " SS/SS/SS/SS/SS//5      n/ SQnU " SSS	S
9nUR                  X5        [        UR	                  SS//5      [         R                  " S/5      5        UR                  XS/S-  S/S-  -   S9  [        UR	                  SS//5      [         R                  " S/5      5        g )Nr   r   r  r   r   r  r;  r   Fr   r#   r$  r  rp   r   rr   rq   r  ro   r  r  s       r(   test_sample_weightsr    s     	4,q	D$<#sc3ZPQAA
cD
>CGGAMs{{S$K=1288QC=A GGA!qcAg 5G6 s{{S$K=1288RD>Br*   c                 (   U [         [        4;   a	  U " SSSS9nOU [        [        4;   a  U " SSSS9n[        R
                  " [        5         WR                  [        [        [        R                  " S5      S9  S S S 5        g ! , (       d  f       g = f)Nr;  r   Fr  )nur#   r$  r   r  )re   ri   r]   rm   r   r   r   r3   r6   r   r   r  r   s     r(   test_wrong_sample_weightsr    sn    
  344#EB	>#78	8sT?	z	"1BIIaL1 
#	"	"s   .B
Bc                     U " SS9n[         R                  " [        5         UR                  [        [
        5        S S S 5        g ! , (       d  f       g = f)Nr   r   )r   r   r   r=   r
  r  r   s     r(   test_partial_fit_exceptionr  +  s2    
d
C	z	"B 
#	"	"r   c                    [         R                  S   S-  nU " SS9n[        R                  " [        5      nUR                  [         S U [        S U US9  UR                  R                  S[         R                  S   4:X  d   eUR                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   e[        UR                  R                  5      nUR                  [         US  [        US  5        [        UR                  R                  5      nU(       d   U5       eUR                  [        5      n[        U[        5        g )Nr   rr   r   r   r   rp   rm  )r6   r   r   r   r   r=   r   r   r@   idr   r%  r&  r   r'  )r   thirdr   r   id1id2r  s          r(   test_partial_fit_binaryr  3  s   GGAJ!OE
d
CiilGOOAfuIq%y'O:99??q!''!*o--->>4'''  1a&*00D888
SYY^^
COOAefIqy)
SYY^^
COO3[[^Fv{+r*   c                 d   [         R                  S   S-  nU " SS9n[        R                  " [        5      nUR                  [         S U [        S U US9  UR                  R                  S[         R                  S   4:X  d   eUR                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   e[        UR                  R                  5      nUR                  [         US  [        US  5        [        UR                  R                  5      nU(       d   U5       eg )	Nr   rr   r   r   r   rp   r*  rY  )rO  r   r   r   r[  r=   r   r   r@   r  r   )r   r  r   r   r  r  s         r(   test_partial_fit_multiclassr  H  s    HHQK1E
d
CiimGOOBvJ6E
GO<99??q"((1+....>>4'''  1a&*00F:::
SYY^^
COOBuvJ56
+
SYY^^
COO3r*   c                 >   [         R                  S   S-  nU " S[         R                  S   S9n[        R                  " [        5      nUR                  [         S U [        S U US9  UR                  R                  S[         R                  S   4:X  d   eUR                  R                  S:X  d   eUR                  [         US  [        US  5        UR                  R                  S[         R                  S   4:X  d   eUR                  R                  S:X  d   eg )Nr   rr   r   )r   r   r   rp   r*  )rO  r   r   r   r[  r=   r   r   )r   r  r   r   s       r(   #test_partial_fit_multiclass_averager  Z  s    HHQK1E
dBHHQK
0CiimGOOBvJ6E
GO<99??q"((1+....>>4'''OOBuvJ56
+99??q"((1+....>>4'''r*   c                 z    U " 5       nUR                  [        [        5        UR                  [        [        5        g r/   )r3   rO  r[  r=   r   s     r(   test_fit_then_partial_fitr  i  s&    
 'CGGBOOOBr*   c           	         [         [        [        4[        [        [
        44 H  u  p#nU " SSSUSS9nUR                  X#5        UR                  U5      nUR                  n[        R                  " U5      nU " SSUSS9n[        S5       H  n	UR                  X#US9  M     UR                  U5      n
UR                  U:X  d   e[        XjSS9  M     g )Nr   rq   F)r   r   r#   r   r   r   r   r   r   r   r   )r6   r   r&  rO  r[  r\  r3   r@   r   r   r   r   r=   r   )r   r   X_r   T_r   r  tr   r   y_pred2s              r(   "test_partial_fit_equal_fit_classifr  s  s     1ay2r2,/
$TARQVW&&r*FF))B-$TUKqAOOBGO4 ''+vv{{!&1= 0r*   c                    [         R                  R                  S5      nU " SSSSUS9nUR                  [        [
        5        S[         R                  " UR                  [        5      [
        :H  5      :X  d   eU " SSSSUS9nUR                  [        [
        5        S[         R                  " UR                  [        5      [
        :H  5      :X  d   eU " SS	US
9nUR                  [        [
        5        S[         R                  " UR                  [        5      [
        :H  5      :X  d   eU " SSSSUS9nUR                  [        [
        5        S[         R                  " UR                  [        5      [
        :H  5      :X  d   eg )Nrp   r   r   r;  epsilon_insensitive)r   r   r   r   r    r   squared_epsilon_insensitivehuber)r   r   r    r   )r   r   r   r3   r6   r   r  r%  )r   r    r   s      r(   test_regression_lossesr    s9   99((+L
 "!C GGAqM"''#++a.A-....
 *!C GGAqM"''#++a.A-....
d|
DCGGAqM"''#++a.A-....
 !C GGAqM"''#++a.A-....r*   c                 0    [        U [        [        S5        g )Nr   )r   rO  r[  r,  s    r(   test_warm_start_multiclassr    s    UBI.r*   c                    U " SSS9nUR                  [        [        5        [        US5      (       d   e[	        5       R                  [        5       Vs/ s H
  nSS/U   PM     nnUR                  [        S S 2S S24   U5        g s  snf )Nr   Fr   r   hamspamro   )r3   r6   r   r   r   fit_transform)r   r   r   r7   s       r(   test_multiple_fitr    s~     dE
*CGGAqM3     &2^%A%A!%DE%D%	%DAEGGAa"fIq 	Fs   Bc                     U " SSSS9nUR                  SS/SS/SS/// SQ5        UR                  S   UR                  S   :X  d   eg )Nr;  rq   Fr  r   rp   )r   rp   rq   )r3   r   r   s     r(   test_sgd_regr    sQ     cAU
;CGGaVaVaV$i099Q<399Q<'''r*   c                 j   SnSnSnSn[         R                  R                  S5      nUR                  X44S9nUR                  US9n[         R                  " Xg5      nU " SSUUS	S
S	SS9n	U	R                  Xh5        [        XXU5      u  p[        U	R                  U
SS9  [        U	R                  USS9  g )Nr   r   r=  r   r   r>  r   r   Trp   Fr@  r   r   )r   r   r   rB  r   r3   r   r   r   r   r   r   r   r   rE  rF  rG  r6   r  r7   r   r   r   s               r(   $test_sgd_averaged_computed_correctlyr    s     CEIJ
))


"C

/
0A



#A 	qA
 	C GGAM)-e)F&Ocii"E(92Fr*   c                    SnSnSnSn[         R                  R                  S5      nUR                  X44S9nUR                  US9n[         R                  " Xg5      nU " SSUUS	S
S	SS9n	U	R                  US [        US-  5       S S  US [        US-  5       5        U	R                  U[        US-  5      S  S S  U[        US-  5      S  5        [        XXU5      u  p[        U	R                  U
SS9  [        U	R                  S   USS9  g )Nr   r   r=  r   r   r>  r   r   Trp   Fr@  rq   r   r   )r   r   r   rB  r   r=   intr   r   r   r   r   r  s               r(   test_sgd_averaged_partial_fitr    s#    CEIJ
))


"C

/
0A



#A 	qA
 	C OOA*IM*+A.2FC	A4F0GHOOAc)a-(*+A.#i!m2D2F0GH)-e)F&Ocii"Eq)+<bIr*   c                    SnSnU " SSUUSSSSS9n[         R                  S	   nUR                  [        S [	        US
-  5       S S  [         S [	        US
-  5       5        UR                  [        [	        US
-  5      S  S S  [         [	        US
-  5      S  5        [        U [        [         X5      u  pV[        UR                  USS9  [        UR                  USS9  g )Nr   r   r   r   Trp   Fr@  r   rq   r   r   )
r  r   r=   r
  r  r   r   r   r   r   )r   r   r   r   rE  r   r   s          r(   test_average_sparser    s     CE
 	C IOOB+Y]+,Q/4Hc)a-6H1IJOOBs9q=)+,Q/C	A4F4H1IJ)-eRS)H&Ocii"E(92Fr*   c                    Su  pSn[         R                  R                  S5      n[         R                  " XU5      R	                  US5      nSUR                  5       -  nU " SSSS	S
9nUR                  XV5        UR                  XV5      nUS:  d   eSUR                  5       -  UR                  US5      R                  5       -   nU " SSSS	S
9nUR                  XV5        UR                  XV5      nUS:  d   eg )Nr$   r   r   rp   rs   r   r;  r=  F)r   r   r#   r$  r}   	r   r   r   linspacerD  r   r3   scorerandn	r   xminxmaxrE  rG  r6   r7   r   r  s	            r(   test_sgd_least_squares_fitr  &  s    JDI
))


"C
D	*229a@A 	aggiA
_C"E
RCGGAMIIaOE4<< 	aggi#))Iq17799A
_C"E
RCGGAMIIaOE3;;r*   c                    Su  pSn[         R                  R                  S5      n[         R                  " XU5      R	                  US5      nSUR                  5       -  nU " SSSS	S
S9nUR                  XV5        UR                  XV5      nUS:  d   eSUR                  5       -  UR                  US5      R                  5       -   nU " SSSS	S
S9nUR                  XV5        UR                  XV5      nUS:  d   eg )Nr  r   r   rp   rs   r  r   r;  r=  Fr   epsilonr   r#   r$  r}   r  r  s	            r(   test_sgd_epsilon_insensitiver   >  s    JDI
))


"C
D	*229a@A 	aggiA
"C GGAMIIaOE4<< 	aggi#))Iq17799A
"C GGAMIIaOE3;;r*   c                    Su  pSn[         R                  R                  S5      n[         R                  " XU5      R	                  US5      nSUR                  5       -  nU " SSSSS	S
9nUR                  XV5        UR                  XV5      nUS:  d   eSUR                  5       -  UR                  US5      R                  5       -   nU " SSSSS	S
9nUR                  XV5        UR                  XV5      nUS:  d   eg )Nr  r   r   rp   rs   r  r;  r=  Fr  r}   r  r  s	            r(   test_sgd_huber_fitr  b  s    JDI
))


"C
D	*229a@A 	aggiA
WcrQV
WCGGAMIIaOE4<< 	aggi#))Iq17799A
WcrQV
WCGGAMIIaOE3;;r*   c           
         Su  p[         R                  R                  S5      nUR                  X5      nUR                  U5      n[         R                  " XE5      nS Hs  nS Hj  n[
        R                  " XxSS9n	U	R                  XF5        U " SSUUSS	9n
U
R                  XF5        S
Xx4-  n[        U	R                  U
R                  SUS9  Ml     Mu     g )N)r   r$   r   )r   r   )rs   ry   r   F)r   r  r$  r  2   )r   r#   r   r  r$  zNcd and sgd did not converge to comparable results for alpha=%f and l1_ratio=%frq   )r   r4  )
r   r   r   r  r   r   
ElasticNetr3   r   r   )r   rE  rF  rG  r6   ground_truth_coefr7   r   r  cdsgdr4  s               r(   test_elasticnet_convergencer	  z  s     $I
))


"C		)(A 		*-
q$A 'H((eB FF1L$!#C GGAM7:?9JK   #))QP# ( r*   c                 0   [         R                  S   S-  nU " SS9nUR                  [         S U [        S U 5        UR                  R                  [         R                  S   4:X  d   eUR
                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   e[        UR                  R                  5      nUR                  [         US  [        US  5        [        UR                  R                  5      nU(       d   U5       eg )Nr   rr   r   r   rp   rm  )	r6   r   r=   r   r   r   r%  r  r   )r   r  r   r  r  s        r(   test_partial_fitr    s    GGAJ!OE
d
COOAfuIq%y)99??qwwqzm+++>>4''';;Ax &&$...
SYY^^
COOAefIqy)
SYY^^
COO3r*   c                 Z   U " SSSUSS9nUR                  [        [        5        UR                  [        5      nUR
                  nU " SSUSS9n[        S5       H  nUR                  [        [        5        M     UR                  [        5      nUR
                  U:X  d   e[        X6SS9  g )Nr   rq   F)r   r#   r   r   r   r  r   )	r3   r6   r   r%  r&  r   r   r=   r   )r   r   r   r  r  r   r  s          r(   test_partial_fit_equal_fitr    s     dQTU
SCGGAqM[[^FA
dR
GC1X1 kk!nG66Q;;fq9r*   c                 ^    U " SS9nUR                  SS9  UR                  S   S   S:X  d   eg )Nrx   )r  r;  r  rp   )r   rr  r   s     r(   test_loss_function_epsilonr    s8    

CNN3Ng&q)S000r*   c                    Uc$  [         R                  " UR                  S   5      nOUn[         R                  " UR                  S   5      nUnSU-
  n	Sn
SnU [        :X  a  Sn[	        U5       Ht  u  p[         R
                  " X5      nX-  nUS::  a  SnOSnU[        SSX#-  -
  5      -  nXbU-  U-  * -  nXX?-   -  * U-  -  n	X|-  nXv-  nX|S-   -  nX-  n
X-  n
XS-   -  n
Mv     USU
-
  4$ )Nrp   r   r   r   ro   r   )r   r   r   rm   r   r   max)r   r6   r   r  r   r.  coefre  offsetr   r   r   r   r   r   r   s                   r(   asgd_oneclassr    s(   xx
#88AGGAJ'LFF
IE $$aLFF5	8HHAsSX~&&.5())bm,-55	C&W$# !& ....r*   c                 0   U " SSSUS9nUR                  U5        U " SSSUS9nUR                  XR                  R                  5       UR                  R                  5       S9  U " SSSSUS9nUR                  U5        UR                  UR                  :X  d   e[        UR                  UR                  5        UR                  SS	9  UR                  U5        UR                  UR                  :X  d   e[        UR                  UR                  5        g )
Nrs   r   F)r  r   r   r   r;  r   r.  T)r  r   r   r   r   r  )r3   r   r   r   r   r   r   )r   r6   r   r   r   r   s         r(   _test_warm_start_oneclassr    s     3T5
CCGGAJCdEDDHHQ))..*8H8H8JHK CdEdRTUDHHQK77cffDJJ		*OOsOHHQK77dggDJJ

+r*   c                 &    [        U [        U5        g r/   )r  r6   r   s     r(   test_warm_start_oneclassr    s     eQ+r*   c                     U " SS9n[        U5      nUR                  SS9  UR                  [        5        U " SS9nUR                  [        5        [	        UR
                  UR
                  5        g )Nrs   r  r;  )r   r   r3   r6   r   r   r   s      r(   test_clone_oneclassr    sU     3-C
*CNNcNGGAJC=DHHQKsyy$**-r*   c                 R   [         R                  S   S-  nU " SS9nUR                  [         S U 5        UR                  R                  [         R                  S   4:X  d   eUR                  R                  S:X  d   eUR                  SS//5      R                  S:X  d   eUR                  nUR                  [         US  5        UR                  UL d   e[        R                  " [        5         UR                  [         S S 2S4   5        S S S 5        g ! , (       d  f       g = f)Nr   rr   r;  r  rp   rm  )	r6   r   r=   r   r   r%  r   r   r   )r   r  r   previous_coefss       r(   test_partial_fit_oneclassr    s    GGAJ!OE
3-COOAfuI99??qwwqzm+++;;$$$;;Ax &&$...YYNOOAefI99&&& 
z	"!Q$  
#	"	"s   2D
D&c                    U " SSSUSS9nUR                  [        5        UR                  [        5      nUR                  nUR
                  nUR                  nU " SSSUSS9n[        S5       H  nUR                  [        5        M     UR                  [        5      nUR                  U:X  d   e[        X85        [        UR
                  U5        [        UR                  U5        g )N皙?rq   r   F)r  r#   r   r   r   rp   )r  r   r#   r   r   )
r3   r6   r@   r&  r   r   r   r   r=   r   )	r   r   r   y_scoresr  r  r  r   	y_scores2s	            r(   #test_partial_fit_equal_fit_oneclassr$  /  s     4!$b%
PCGGAJ$$Q'HA99D[[F
4dQb%
PC1X %%a(I66Q;;H(CIIt$CKK(r*   c           	         SnSnU " SSXSSS9nU " SSUUSSS9nUR                  [        5        UR                  [        5        [        U [        XUR                  R	                  5       UR
                  S	9u  pV[        UR                  R	                  5       UR	                  5       5        [        UR
                  U5        g )
Nr   r!  r   r   rq   F)r   r   r   r  r#   r   rp   r  )r3   r6   r  r   r   r   r   )r   r   r  r   r   re  average_offsets          r(   *test_late_onset_averaging_reached_oneclassr'  D  s     D	B $SXD  D 	HHQKHHQK $1q$djj&6&6&8dll$ L DJJ$$&(:(:(<=DLL.1r*   c           
          SnSnSnSn[         R                  R                  S5      nUR                  X44S9nU " SUUSS	SS
S9nUR	                  U5        [        XX5      u  p[        UR                  U5        [        UR                  U	5        g )Nr   r!  r=  r   r   r>  r   Trp   Fr   r   r  r$  r#   r   r   )	r   r   r   rB  r3   r  r   r   r   
r   r   r  rE  rF  rG  r6   r   re  r&  s
             r(   -test_sgd_averaged_computed_correctly_oneclassr+  e  s     C	BIJ
))


"C

/
0A
 C GGAJ#03#C LCII|,CKK0r*   c           
         SnSnSnSn[         R                  R                  S5      nUR                  X44S9nU " SUUSS	SS
S9nUR	                  US [        US-  5       S S  5        UR	                  U[        US-  5      S  S S  5        [        XX5      u  p[        UR                  U5        [        UR                  U	5        g )Nr   r!  r=  r   r   r>  r   Trp   Fr)  rq   )
r   r   r   rB  r=   r  r  r   r   r   r*  s
             r(   &test_sgd_averaged_partial_fit_oneclassr-    s     C	BIJ
))


"C

/
0A
 C OOA*IM*+A./OOAc)a-(*+A./#03#C LCII|,CKK0r*   c           
      X   SnSnU " SUUSSSSS9n[         R                  S   nUR                  [         S [        US	-  5       5        UR                  [         [        US	-  5      S  5        [	        U [         X5      u  pV[        UR                  U5        [        UR                  U5        g )
Nr   r   r   Trp   Fr)  r   rq   )r
  r   r=   r  r  r   r   r   )r   r   r  r   rE  re  r&  s          r(   test_average_sparse_oneclassr/    s     C	B
 C IOOB+Y]+,-OOBs9q=)+,-#0C#D LCII|,CKK0r*   c            	          Sn SnSn[         R                  R                  U5      nSUR                  SS5      -  n[         R                  US-   US-
  4   nSUR                  SS5      -  n[         R                  US-   US-
  4   n[        USU S	9nUR                  U5        UR                  U5      nUR                  U5      R                  S
S5      n	Sn
[        XS9n[        U SSU
US S9n[        X5      nUR                  U5        UR                  U5      nUR                  U5      R                  S
S5      n[         R                  " X:H  5      S:  d   e[         R                  " [         R                  " X45      5      S   nUS:  d   eg )Nr!  r<  r!   r    rq   r   rbf)gammakernelr  rp   ro      )r3  r    T)r  r   r$  r#   r    r"   r}   r}  rx   )r   r   r   r  r_r   r3   r%  r@   rD  r   r]   r   r  corrcoefr  )r  r3  r    rG  r6   X_trainX_testr   y_pred_ocsvm	dec_ocsvmr#   	transformclf_sgdpipe_sgdy_pred_sgdocsvmdec_sgdocsvmr7  s                    r(   test_ocsvm_vs_sgdocsvmrA    s    
BEL ))


-CciiQAeeAE1q5L!GciiQAUU1q5!a%< F E%B
7CGGG;;v&L%%f-55a<I Hu@I!G Y0HLL&&v.O--f5==aDL77?23t;;;{{2>>9*CDEdKHs??r*   c            	          S HA  n [        U SSSSS9nUR                  [        R                  5        UR                  S:  a  MA   e   g )Nr;  rs   rx   r   r   r   r  r#   r"   r   r   r  )r]   r3   r   r   r   )r  models     r(   test_sgd_oneclass_convergencerF    sI     CT$
 			$)) }}q    r*   zeta0, max_iter)r   i'  )ga2U0*3?i N  c           	         S GH  n[        X!S SU S9n[        SUSS9nUR                  [        R                  5        UR                  [        R                  5        UR                  [        R                  5      nUR                  [        R                  5      nUR                  [        R                  5      nUR                  [        R                  5      n[        R                  " Xh5      S   n	[        R                  " XW5      S   n
[        R                  " [        R                  " UR                  UR                  * /5      [        R                  " UR                  R                  5       UR                  /5      5      S   nUS:H  R                  5       [        U5      -  nU	S	:  d   eU
S
:  d   eUS	:  d   e[!        SU-
  USS9  GM     g )NrC  r   rD  linearư>r4  r  r"   r}  rp   r}   r~   r   atol)r]   r   r3   r   r   r%  r@   r   r7  r  r   r   flattenr   r  r  r   )r   r#   r  rE  	model_refpredsdec_fn	preds_ref
dec_fn_refdec_fn_corr
preds_corr	coef_corr
share_oness                r(   $test_sgd_oneclass_vs_linear_oneclassrW    ss    $jt
  xBDA			$))dii dii(((3%%dii0	00;
kk&5d;[[248
KKNNEKK%--89NNIOO335y7K7KLM
 	
 qj%%'#e*4
T!!!D   4J69 r*   r  r;  rx   c           	      
   [         R                  n[        5       R                  U5      n[	        U SSSSSS9n[        SU SS	9nUR                  U5        UR                  U5        [        UR                  UR                  S
S9  g)zTest that the `offset_` of `SGDOneClassSVM` is close to the `offset_`
of `OneClassSVM` with `kernel="linear"`, given enough iterations and a
suitable value for the `eta0` parameter, while also ensuring that the
dataset is scaled.
i@  Nr   rI  r!   )r  r#   r"   r   r   r    rH  gh㈵>rJ  gkNuϵ>rK  )	r   r   r   r  r]   r   r3   r   r   )r  r6   X_scaledrE  rN  s        r(   2test_sgd_oneclass_vs_linear_oneclass_offsets_matchrZ    sz     			A--a0HE 8=I	IIhMM(EMM9#4#46Br*   c            	         [         R                  " SSSSS9u  p[        SSS SS	S
S9R                  X5      n[        SSSS
S S9R                  X5      n[	        UR
                  UR
                  5        [        SSS SSS
S9R                  X5      n[        SSSS
S S9R                  X5      n[	        UR
                  UR
                  5        g )Nr   r   r=  i  )rE  rF  n_informativer    r   r  r  gA?r!   )r   r   r"   r#   r  r    r   )r   r   r#   r    r"   g|=r   )r   make_classificationre   r3   r   r   )r6   r7   est_enest_l1est_l2s        r(   test_l1_ratiora  %  s    ''3btDA
  
c!i  TABD	c!i  fllFLL9  
c!i  TABD	c!i  fllFLL9r*   c                     [         R                  " SS9   [         R                  R                  S5      n SnSnU R	                  X4S9nUS S 2S S24==   S-  ss'   [         R
                  " U5      R                  5       (       d   e[        5       R                  U5      n[         R
                  " U5      R                  5       (       d   eU R	                  US9n[         R                  " XE5      S	:  R                  [         R                  5      n[        [         R                  " U5      SS
/5        [        SSSS9nUR                  XF5        [         R
                  " UR                   5      R                  5       (       d   eSn["        R$                  " [&        US9   UR                  X65        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nraiser  r   r   r   r>  rq   gu <7~r   rp   r;  r   r1  )r   r   r#   zwFloating-point under-/overflow occurred at epoch #.* Scaling input data with StandardScaler or MinMaxScaler might help.r  )r   r  r   r   rB  isfiniter  r   r  r   astypeint32r   r   re   r3   r   r   r   r   )	rG  rE  rF  r6   rY  ground_truthr7   rE  	msg_regxps	            r(   test_underflow_or_overflowrj  H  ss   		!ii##A&	
JJY3J4	!RaR%E{{1~!!####
  >//2{{8$((**** zzzz2VVH+c199"((C299Q<!Q0CoL 			({{5;;'++---- 	
 ]]:Y7IIaO 8C 
"	!B 87C 
"	!s$   F	GG0G
G	G
G c                  H   [        SSSSSSSSS S	9	n [        R                  " S
S9   U R                  [        R
                  [        R                  5        S S S 5        [        R                  " U R                  5      R                  5       (       d   eg ! , (       d  f       ND= f)Nr   r   Tr  r  r   r   r   )	r   r#   r   r   r  r   r   r    r"   rc  rd  )
re   r   r  r3   r   r   r   re  r   r  )rE  s    r(   'test_numerical_stability_large_gradientrl  n  s}     
E 
	!		$))T[[) 
";;u{{#'')))) 
"	!s   /B
B!r   )r   r   r  c           
      B   [        SSSU SS SS9n[        R                  " SS9   UR                  [        R
                  [        R                  5        S S S 5        [        UR                  [        R                  " UR                  5      5        g ! , (       d  f       NC= f)	Ng     j@r   r;  Fr  )r   r   r   r   r   r"   r#   rc  rd  )
re   r   r  r3   r   r   r   r   r   
zeros_like)r   rE  s     r(   test_large_regularizationro    sp      E 
	!		$))T[[) 
"ekk2==+EF 
"	!s   /B
Bc                     [        5       R                  [        R                  5      n [        R                  S:H  nSn[        S SUS9nUR                  X5        X#R                  :X  d   eSn[        SSUS9nUR                  X5        X$R                  :  d   eUR                  S:  d   e[        SSUS9nUR                  X5        UR                  UR                  :  d   eUR                  S:  d   e[        SS	SS
9nSn[        R                  " [        US9   UR                  X5        S S S 5        UR                  S:X  d   eg ! , (       d  f       N!= f)Nrp   r!   r   )r"   r    r#   r  r$   r;  rr   r   )r#   r"   r    zhMaximum number of iteration reached before convergence. Consider increasing max_iter to improve the fit.r  )r   r  r   r   r   re   r3   r   r   r  r   )r6   r7   r#   model_0model_1model_2model_3warning_messages           r(   test_tol_parameterrv    s8   &&tyy1AqA H1xHGKK&&& HHEGKKoo%%%??Q !hGGKK??W__,,,??Q QDqAG	 
 
(	@A 
A??a 
A	@s   E
Ec                     U H<  u  p#pE[        U R                  X#5      U5        [        U R                  X#5      U5        M>     g r/   )r   py_losspy_dloss)loss_functioncasesr   r7   expected_lossexpected_dlosss         r(   _test_loss_commonr~    s=     05+mM11!7GM2218.I 05r*   c                      [         R                  " S5      n / SQn[        X5        [         R                  " S5      n / SQn[        X5        g )Nr   ))g?r   r   r          r   r   r   )r   r   r   r   )r   r   r   r   )rs   r   rs   r   )r<  r         @r   )rt   r   rs   r   )r   r   rp   r   r   )r   r   r   r   )r  r   r   r   )r   r   r   r   )r   r   r   r   )rs   r   rs   r   )r<  r   r<  r   )rt   r   rs   r   )r   r   r   r   )sgd_fastHinger~  r   r{  s     r(   test_loss_hinger    sD     >>#D
E d" >>#D
E d"r*   c                  N    [         R                  " S5      n / SQn[        X5        g )Nr   )r  r  )r   r         @r  r   r   r        )rs   r   g      ?r   rs   r   g      @r  )r  SquaredHinger~  r  s     r(   test_gradient_squared_hinger    s#      %DE d"r*   c                  L    [         R                  " 5       n / SQn[        X5        g )N)r  )r   r   r   r   )r<  r   r   r   )r   r   r   r  r  r  )r  r      r  )g      r      r  )r  ModifiedHuberr~  r  s     r(   test_loss_modified_huberr    s!    !!#D
E d"r*   c                  N    [         R                  " S5      n / SQn[        X5        g )Nr;  )r   r   r   r   r;  r   r   r   gffffff r  r   r   gffffff@r  r   r   )皙@r<  r;  r   )r<  r   333333@r   )r<  r  r;  r   )r  r   r  r   )r  EpsilonInsensitiver~  r  s     r(   test_loss_epsilon_insensitiver     s#    &&s+D
E d"r*   c                  N    [         R                  " S5      n / SQn[        X5        g )Nr;  )r  r  r  r  )r  r<  r   r  )r<  r   R @g333333@)r<  r  r   gɿ)r  r   r  g333333)r  SquaredEpsilonInsensitiver~  r  s     r(   %test_loss_squared_epsilon_insensitiver    s#    --c2D
E d"r*   c            
      \   [        SSSSSSSS9n U R                  [        R                  [        R                  5        U R
                  U R                  :  d   eU R
                  U R                  S-   :  d   eU R                  [        R                  [        R                  5      S	:  d   eg )
Nr   r   Tr   r   rq   )r   r"   r#   r   r  r    rj  r=  ry   )re   r3   r   r   r   r   r  r  )r   s    r(   0test_multi_thread_multi_class_and_early_stoppingr  "  s     C GGDIIt{{#;;-----;;--222299TYY,s222r*   c                      [         R                  " SSS5      / SQS.n [        SSSS	S
9n[        XSSS	S9nUR	                  [
        R                  [
        R                  5        UR                  S:  d   eg )Nr  rN  )r$   r   r  )r   r  r   r   Tr   )r"   r#   r   r    r$   rq   )n_iterrj  r    ry   )	r   logspacere   r   r3   r   r   r   best_score_)
param_gridr   searchs      r(   -test_multi_core_gridsearch_and_early_stoppingr  4  sl    
 RA&'J
 D4ST
UC!RSTF
JJtyy$++&###r*   backend)lokymultiprocessing	threadingc                    [         R                  R                  S5      n[        SSSUS9nUR	                  SS5      n[        SS	SS
9nUR                  X#5        [        SSSS
9n[        R                  " U S9   UR                  X#5        S S S 5        [        UR                  UR                  5        g ! , (       d  f       N/= f)Nr!   )r1  r  g{Gz?csr)densityrs  rG  r=  r1  r   rp   )r#   rj  r    r  )r  )r   r   r   r   choicere   r3   joblibparallel_backendr   r   )r  r    r6   r7   clf_sequentialclf_parallels         r(   'test_SGDClassifier_fit_for_all_backendsr  C  s      99((,L
 	[$u,WAB$A #DLNq !$qrJL		 	 	1 
2n22L4F4FG 
2	1s   9B44
Cc                 t   U [         R                  :X  a  [        R                  " US9u  p#O[        R                  " US9u  p#U " USS9n[
        R                  " [        5         UR                  X#5      R                  nUR                  S:X  d   e S S S 5        U " USS9n[
        R                  " [        5         UR                  X#5      R                  nUR                  S:X  d   e S S S 5        [        WW5        U " US-   SS9n[
        R                  " [        5         UR                  X#5      R                  nUR                  S:X  d   e S S S 5        [        R                  " UW-
  5      R                  5       S:  d   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N^= f)N)r    rp   )r    r#   r   )r   rP   r   make_regressionr]  r   r  r   r3   r   r   r   r   absr  )r  global_random_seedr6   r7   r   coef_same_seed_acoef_same_seed_bcoef_other_seeds           r(   test_sgd_random_stater  g  sd    L---''5GH1++9KL
 !3a
@C	(	)771=..{{a 
* !3a
@C	(	)771=..{{a 
* $&67 !3a!7!
DC	(	)''!---{{a 
* 66"_4599;cAAA) 
*	)
 
*	) 
*	)s$   #.F;.F".F)
F
F&)
F7c                    [         R                  [         R                  p!UR                  S   nSn[        R
                  " SSSUS9n[        [        R                  S9nU R                  [        SU5        UR                  X5        UR                  S   S	S
 u  pxUR                  S   [        X4-  5      :X  d   eUR                  S   [        X4-  5      :X  d   eg)zaTest that data passed to validation callback correctly subsets.

Non-regression test for #23255.
r   r  Tr   r   )r   r"   r#   r   )side_effect_ValidationScoreCallbackrp   rr   N)r   r   r   r   r   re   r   r   r  setattrr3   	call_argsr  )	monkeypatchr6   r   rE  r   r   mockX_valy_vals	            r(   &test_validation_mask_correctly_subsetsr    s    
 99dkkq
I

$
$/	C 0IIJD,.H$OGGAM>>!$Qq)LE;;q>S!@AAAA;;q>S!@AAAAr*   c                  (   [         R                  [         R                  p[        R                  " U5      nSn[
        R                  " SUSS9nSn[        R                  " [        US9   UR                  XUS9  S S S 5        g ! , (       d  f       g = f)Nr   Tr   )r   r   r    z\The sample weights for validation set are all zero, consider using a different random state.r  r  )r   r   r   r   rn  r   re   r   r   r   r3   )r6   r   r  r   r   error_messages         r(   (test_sgd_error_on_zero_validation_weightr    sv     99dkkqMM!$M

$
$1DSTC
	#  
z	7M2 
8	7	7s   )B
Bc                 @    U " SS9R                  [        [        5        g)z!non-regression test for gh #25249rp   )verboseN)r3   r6   r   )r  s    r(   test_sgd_verboser    s     aQ"r*   SGDEstimator	data_typec                     [         R                  U5      n[        R                  " [        US9nU " 5       nUR                  X#5        UR                  R                  U:X  d   eg )Ndtype)r6   rf  r   r   r   r3   r   r  )r  r  _X_Y	sgd_models        r(   test_sgd_dtype_matchr    sM     
)	B	!9	%BIMM"??  I---r*   c                    [         R                  [        R                  S9n[        R                  " [
        [        R                  S9n[         R                  [        R                  S9n[        R                  " [
        [        R                  S9nU " SSS9nUR                  X5        U " SSS9nUR                  X45        [        UR                  UR                  5        g )Nr     F)r#   r   )
r6   rf  r   float64r   r   float32r3   r   r   )r  X_64Y_64X_32Y_32sgd_64sgd_32s          r(   test_sgd_numerical_consistencyr    s     88"**8%D88ARZZ(D88"**8%D88ARZZ(D2u5F
JJt2u5F
JJtFLL&,,/r*   c                  N    [        5       n [        U 5      R                  S:X  d   eg)zuCheck that SGDOneClassSVM has the correct estimator type.

Non-regression test for if the mixin was not on the left.
outlier_detectorN)r]   r   estimator_type)	sgd_ocsvms    r(   %test_sgd_one_class_svm_estimator_typer    s&    
  II--1CCCCr*   c            	        ^ Sn SmSu  pSnU4S jn[        UUUS9u  pV[        R                  " XR                  S9n[        R                  " US-   5      n[        UUS	XWU 4S
S0S9n	U	R                  n
U
SS nSU
S   -
  n[        U SSSSUS9nUR                  XW5        [        UR                  USS9  [        UR                  USS9  g)zBTest that SGDOneClassSVM minimizes the correct objective function.rs   r   )i,  rr   r!   c                    > U S S nU S   nX-  U-   nXb-  n[         R                  " [         R                  " TU-
  S5      5      nSU-  U-  U-  n	X-   XS-  -   n
U
$ )Nro   r   rs   )r   r  maximum)r  r6   r7   r   r   r   r   zavg_lossregobjhinge_thresholds              r(   	objectiveItest_sgd_one_class_svm_formulation_with_scipy_minimize.<locals>.objective  so    CR&bE	K)#E772::o&93?@EkG#g-ny00
r*   )rE  rF  r    r  rp   zNelder-Meadmaxiterr   )methodr8   optionsNro   r   i  r   )r  r   r#   r"   r   r    g{Gzt?)rtolr   )r
   r   rP  r  r   r   r  r]   r3   r   r   r   )r  rE  rF  random_seedr  r6   r   r7   w0scipy_outputw_outexpected_coefexpected_offsetrE  r  s                 @r(   6test_sgd_one_class_svm_formulation_with_scipy_minimizer    s    	BO"IK  DA
 		)A	*q.	!B
BZD!L NNE#2JM%)mO  E 
IIaOEKKT:EMM?>r*   )Nr   )r  r  unittest.mockr   r  numpyr   r   scipy.sparsesparser0   scipy.optimizer   sklearnr   r   r   sklearn.baser   r	   sklearn.datasetsr
   sklearn.exceptionsr   sklearn.kernel_approximationr   sklearn.linear_modelr   r  r   sklearn.model_selectionr   r   r   sklearn.pipeliner   sklearn.preprocessingr   r   r   r   sklearn.svmr   sklearn.utilsr   sklearn.utils._sparser   sklearn.utils._testingr   r   r   r   sklearn.utils.fixesr   r)   re   r,   rP   rM   r]   rZ   ri   rk   rm   r   r6   r   r&  r'  rO  r[  r\  r]  r
  r  r  r  	load_irisr   r7  r8  true_result5r   r   markparametrizer   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r(  r-  r   r2  r5  r9  rH  rK  rQ  rV  r`  rf  rh  rk  rn  r{  r  no_check_spmatrixr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r	  r  r  r  r  r  r  r  r  r$  r'  r+  r-  r/  rA  rF  rW  rZ  ra  rj  rl  ro  rv  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%   r*   r(   <module>r     sy          # 3 3 - ' 1 1 6 5 
 + S S # " 6  5(<55 ($
,33 
 SL77 S0
/
1
*
)
+ HHr2hR2r(QFQFQFCDHHr2hAA'( XX	Q		s	
A	s	c
	R	
D		
B
 Wq[E7Q;'Q.XXc{QFQG,-& XX	 XX&' XX      	 XX&' XXBx"bB8aVaVaVDE.D60 m0,@RS PQ& R& m0,@RS u~.
FO}o68WX / m0,@RS
.
. 
.
.$ 
4
4$ m0,@RS(H(HV m0,@RS&& m0,@RS'' m0,@RS&/&/R m0,@RS==$ m0,@RS }l&CD[1, 2 E, -!4lDVW 

* =2E"FG8 H8" m0.BVW44 	)288D>:;	/$@A	-$89	rxx~>?	.. m0,@RS55 	)1-.	/34	-+,	q12	&& =2E"FGG HGB =2E"FG5 H5 =2E"FG  H  =2E"FGO HO  =2E"FG+ H+ =2E"FGN HN6 =2E"FG+ H+ =2E"FG+ H+ =2E"FG= H=( =2E"FG? H?B =2E"FGD7 HD7N =2E"FG!  H ! H =2E"FGC HC$ =2E"FGB HB  =2E"FG H =2E"FG0 H0$ =2E"FG+B H+B\ =2E"FGC HC" m0.BVW22 =2E"FG  H  =2E"FG, H,( =2E"FG H" =2E"FG( H( =2E"FG H =2E"FGPQ> R H>" =2E"FG"/ H"/J =2E"FG/ H/ =2E"FG H <1C"DE( F( <1C"DEG FG@ <1C"DEJ FJ@ <1C"DEG FG4 <1C"DE F. <1C"DE  F F <1C"DE F. <1C"DEQ FQB <1C"DE F  <1C"DEPQ: R F: <1C"DE1 F1#/L >3G"HI, J,, >3G"HIPQ, R J, >3G"HI
. J
. >3G"HI! J!& >3G"HIPQ) R J)& >3G"HI2 J2@ >3G"HI1 J14 >3G"HI1 J16 >3G"HI1 J10&R! )M=+IJ7 K7B Sz*C +C, :F#L*& $>?G @G"! HJ#B##"#"#"3$$ $LM H N HF ,,,l.G.GH B BFB03& }l&CD# E#
 
 rzz2::&>?. @
. 
0
0 D.?r*   