
    Mpjy                        S SK rS SKrS SKJr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Jr  S S
KJrJrJrJrJr  S SK J!r!J"r"J#r#J$r$J%r%  Sr&S r'\RP                  RS                  S\RT                  \RV                  /5      S 5       r,\RP                  RS                  SS/\#-   5      \RP                  RS                  SSS/5      S 5       5       r-S r.\RP                  RS                  SSS/5      S 5       r/S r0S r1\RP                  RS                  SSS/5      \RP                  RS                  S\#5      S 5       5       r2S r3\RP                  RS                  S\!5      S  5       r4S! r5S" r6S# r7S$ r8\RP                  RS                  SS/\#-   5      \RP                  RS                  S%SS/5      S& 5       5       r9S' r:\RP                  RS                  SS/\"-   5      S( 5       r;\RP                  RS                  S)SS/5      \RP                  RS                  SS/\#-   5      S* 5       5       r<\RP                  RS                  S+\$5      S, 5       r=\RP                  RS                  S\#5      S- 5       r>\RP                  RS                  SS/\#-   5      \RP                  RS                  S.S/5      \RP                  RS                  S0S15      S2 5       5       5       r?\RP                  RS                  S)SS/5      \RP                  RS                  SSS/5      S3 5       5       r@S4 rA\RP                  RS                  S5SS6/5      \RP                  RS                  SS/\#-   5      S7 5       5       rB\RP                  RS                  S\#5      S8 5       rC\RP                  RS                  S9/ S:Q5      \RP                  RS                  SS/\# V s/ s H*  n \R                  U \RP                  R                  S;S<9S=9PM,     sn -   5      \RP                  RS                  SSS/5      S> 5       5       5       rF\S? 5       rGS@ rHgs  sn f )A    N)linalgsparse)config_context)BaseEstimator)	load_irismake_regressionmake_sparse_uncorrelated)LinearRegression)LinearClassifierMixin_preprocess_data_rescale_datamake_dataset)add_dummy_feature)get_namespace_and_devicemove_estimator_to)_array_api_for_testsassert_allcloseassert_array_almost_equalassert_array_equal'skip_if_array_api_compat_not_configured)COO_CONTAINERSCSC_CONTAINERSCSR_CONTAINERSLIL_CONTAINERS_sparse_eye_arrayư>c                     S/S//n SS/n[        5       nUR                  X5        [        UR                  S/5        [        UR                  S/5        [        UR                  U 5      SS/5        S//n S/n[        5       nUR                  X5        [        UR                  S/5        [        UR                  S/5        [        UR                  U 5      S/5        g )N      r   )r
   fitr   coef_
intercept_predict)XYregs      `/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/sklearn/linear_model/tests/test_base.pytest_linear_regressionr(   &   s     qc
A	
AA

CGGAMcii!-cnnqc2ckk!nq!f5 A	
A

CGGAMcii!-cnnqc2ckk!nqc2    dtypec                    [         R                  R                  S5      nSnUR                  U5      nSU-  SUR                  U5      -  -   n[         R                  " X4/5      nUSS/-  SUR                  U5      -  -   nUR                  U 5      nUR                  U 5      n[        R                  " XV5      S   n[        SS	9R                  XV5      R                  n[         R                  R                  XeU-  -
  5      n	[         R                  R                  XeU-  -
  5      n
U
[        R                  " U	S
S9:X  d   eg)zg
Check that LinearRegression is as good as `scipy.linalg.lstsq`.
Non regression test for issue #33032.
iq  i  g333333?皙?      ?       @r   Ffit_interceptr   )relN)nprandomRandomStaterandcolumn_stackastyper   lstsqr
   r    r!   normpytestapprox)r*   rng	n_samplesx1x2r$   y
coef_scipycoef_sklearn
rmse_scipyrmse_sklearns              r'   test_linear_regression_vs_lstsqrE   >   s    ))


%CI	)	B	rC#((9--	-B
!A	S#Jsxx	222A	A	Aa#A&J#%8<<QBHHL
N 23J99>>!,&6"67L6==>>>>r)   sparse_containerr0   TFc                    [         R                  R                  U5      nSu  pEUR                  XE4S9nU b  U " U5      nUR                  US9nSUR	                  US9-   n[        USS9n	U	R                  XgUS9  U	R                  n
U	R                  nU	R                  R                  UR                  S   4:X  d   e[         R                  " U5      nU(       d  UO
[        U5      nUR                  U-  U-  nUR                  U-  U-  n[        R                  " X5      nU(       d  [        U
U5        g [        U
USS  5        [        UUS   5        g )	N)      size      ?gؗҜ<)r0   tolsample_weightr   r   )r2   r3   r4   normaluniformr
   r    r!   r"   shapediagr   Tr   solver   )rF   r0   global_random_seedr<   r=   
n_featuresr$   r@   rO   r&   coefs1inter1WX_augXwywcoefs2s                    r'   %test_linear_regression_sample_weightsr_   W   s6   
 ))

 2
3C !I

/
0A#Q

	
"A#++9+55M E
BCGGAG.YYF^^F99??qwwqzm+++ 	A"A(9!(<E	1u	B	1qB\\"!F'qr
+q	*r)   c                      Sn [        S5      n[        R                  " S5      n[        SS9n[        R
                  " [        U S9   UR                  X5        S S S 5        g ! , (       d  f       g = f)Nz9Sparse data was passed for X, but dense data is required.
   Tpositivematch)r   r2   onesr
   r:   raises	TypeErrorr    )	error_msgr$   r@   r&   s       r'   .test_raises_value_error_if_positive_and_sparserj      sM    KI"A
A
D
)C	y		2 
3	2	2s   A!!
A/zn_samples, n_features)r      )rk   r   c                 <   [         R                  R                  S5      nUR                  X5      nUR                  U 5      nUR                  U 5      S-  S-   nSnSn[	        5       nUR                  X4U5        UR                  X4U5        UR                  X4U5        g )Nr   r   r   rL   r.   )r2   r3   r4   randnr
   r    )	r=   rW   r<   r$   r@   sample_weights_OKsample_weights_OK_1sample_weights_OK_2r&   s	            r'   9test_raises_value_error_if_sample_weights_greater_than_1drq      s     ))


"C		)(A		)A		),1A5

C GGA#$GGA%&GGA%&r)   c                     [         R                  " SS/SS//5      n [         R                  " / SQ/ SQ/5      n[         R                  " SS/5      n[        SS	9R                  X5      n[        5       R                  X5      n[        SS	9R                  X5      n[        5       R                  X5      nUR                  R
                  UR                  R
                  :X  d   eUR                  R
                  UR                  R
                  :X  d   eUR                  R                  UR                  R                  :X  d   eg )
NgmGB?g\^?gL+K?gfiU?)g&/)¶?g <E/?gMd?)g".Hw?g%|?g0e?r   Fr/   )r2   arrayr
   r    r!   rR   ndim)X2X3r@   lr2_without_interceptlr2_with_interceptlr3_without_interceptlr3_with_intercepts          r'   test_fit_interceptr{      s   	J
+j*-EF	GB		-/ST
B 	!QA,5AEEbL)+//6,5AEEbL)+//6##))-B-H-H-N-NNNN##))-B-H-H-N-NNNN &&++/D/J/J/O/OOOOr)   c                 t   [         R                  R                  U 5      nSn[        X"5      nUR	                  U5      nX4-  n[        5       nUR                  X5R                  5       5        [        XFR                  UR                  -   5        [        UR                  U5      UR                  5       -
  S5        g )Nd   r   )r2   r3   r4   r   r5   r
   r    ravelr   r!   r"   r#   )rV   r<   nr$   betar@   olss          r'   test_linear_regression_sparser      s    
))

 2
3CA!A88A;D	A

CGGAwwydII$>?ckk!nqwwy8!<r)   csr_containerc                    [         R                  R                  S5      nSnSnUR                  X45      nSXUS:  '   U" U5      nUR	                  U5      n[        U S9n[        S0 UD6n	[        S0 UD6n
U	R                  XW5        U
R                  Xg5        U	R                  [        R                  " U
R                  5      :X  d   e[        U	R                  U
R                  5        g )Nr      r           r,   r/    )r2   r3   r4   rm   r5   dictr
   r    r"   r:   r;   r   r!   )r0   r   r<   r=   rW   r$   Xcsrr@   params	clf_dense
clf_sparses              r'   )test_linear_regression_sparse_equal_denser      s     ))


"CIJ		)(AA#gJDA.F *6*I!+F+JMM!NN46==1F1F#GGGGIOOZ%5%56r)   c                     [         R                  R                  S5      n [        U S9u  p[         R                  " X"45      R
                  nUR                  S   n[        5       nUR                  X5        UR                  R                  SU4:X  d   eUR                  U5      nUR                  X5        UR                  U5      n[        [         R                  " Xw45      R
                  USS9  g )Nr   random_stater   r   rk   decimal)r2   r3   r4   r   vstackrT   rR   r
   r    r!   r#   r   )r<   r$   r@   r%   rW   r&   Y_predy_preds           r'   'test_linear_regression_multiple_outcomer      s    
))


"C,DA
		1&AJ

CGGQO99??q*o---[[^FGGAM[[^Fbii(89;;VQOr)   coo_containerc                    [         R                  R                  U 5      n[        US9u  p4U" U5      n[         R                  " XD45      R
                  nUR                  S   n[        5       nUR                  X55        UR                  R                  SU4:X  d   eUR                  U5      nUR                  X4R                  5       5        UR                  U5      n	[        [         R                  " X45      R
                  USS9  g )Nr   r   r   rk   r   )r2   r3   r4   r	   r   rT   rR   r
   r    r!   r#   r~   r   )
rV   r   r<   r$   r@   r%   rW   r   r   r   s
             r'   .test_linear_regression_sparse_multiple_outcomer      s     ))

 2
3C#5DAaA
		1&AJ

CGGAM99??q*o---[[^FGGAwwy[[^Fbii(89;;VQOr)   c                     S/S//n SS/n[        SS9nUR                  X5        [        UR                  S/5        [        UR                  S/5        [        UR                  U 5      SS/5        S//n S/n[        SS9nUR                  X5        [        UR                  S/5        [        UR                  S/5        [        UR                  U 5      S/5        g )Nr   r   Trb   r   )r
   r    r   r!   r"   r#   r   )r$   r@   r&   s      r'   test_linear_regression_positiver      s    
qc
A	
AA
D
)CGGAMcii!-cnnqc2ckk!nq!f5 A	
A
D
)CGGAMCIIs#CNNQC(CKKNQC(r)   c                 T   [         R                  R                  U 5      n[        US9u  p#[         R                  " X345      R
                  nUR                  S   n[        SS9nUR                  X$5        UR                  R                  SU4:X  d   e[         R                  " UR                  S:  5      (       d   eUR                  U5      nUR                  X#R                  5       5        UR                  U5      n[        [         R                  " X45      R
                  U5        g )Nr   r   Trb   r   r   )r2   r3   r4   r	   r   rT   rR   r
   r    r!   allr#   r~   r   )	rV   r<   r$   r@   r%   rW   r   r   r   s	            r'   0test_linear_regression_positive_multiple_outcomer     s    
))

 2
3C#5DA
		1&AJ
D
)CGGAM99??q*o---66#))s"####[[^FGGAwwy[[^FBIIv./116:r)   c                 ,   [         R                  R                  U 5      n[        US9u  p#[	        SS9nUR                  X#5        [	        SS9nUR                  X#5        [         R                  " UR                  UR                  -
  S-  5      S:  d   eg )Nr   Trb   Fr   MbP?)r2   r3   r4   r	   r
   r    meanr!   )rV   r<   r$   r@   r&   regns         r'   .test_linear_regression_positive_vs_nonpositiver     sv    
))

 2
3C#5DA
D
)CGGAMU+DHHQN77CII

*q01D888r)   c                    [         R                  R                  U 5      nSnSnUR                  X#5      nUS S 2S4   SUS S 2S4   -  -   SUS S 2S4   -  -   SUS S 2S4   -  -   n[	        SS	9nUR                  XE5        [	        S
S	9nUR                  XE5        [         R                  " UR                  UR                  -
  S-  5      S:  d   eg )Nr      r   r   r   rk   g      ?Trb   Fr   )r2   r3   r4   r5   r
   r    r   r!   )rV   r<   r=   rW   r$   r@   r&   r   s           r'   <test_linear_regression_positive_vs_nonpositive_when_positiver   ,  s     ))

 2
3CIJ'A	!Q$!a1g+AadG+cAadGm;A
D
)CGGAMU+DHHQN77CII

*q01D888r)   use_swc                    [         R                  R                  U5      nUR                  SS5      nUR                  SS5      nUR	                  S5      nU b	  U " U5      nOUR                  5       nUR                  5       nU(       a  UR                  5       n	OS n	[        5       n
U
R                  XxU	S9  U b  [        UR                  5       U5        O[        Xt5        [        X5        U(       a  [        X5        [        SS9n
U
R                  XxU	S9  U b  [        UR                  5       U5        O'[         R                  R                  Xt-
  5      S:  d   e[        X5        U(       a  [        X5        g g )Nra      r   rN   F)copy_XgzG?)r2   r3   r4   rm   r5   copyr
   r    r   toarrayr   r9   )rF   r   rV   r<   original_X_dataoriginal_y_dataoriginal_sw_datar$   r@   rO   r&   s              r'   test_inplace_data_preprocessingr   =  sD   
 ))

 2
3CiiB'OiiA&Oxx|#_-  "A (--/ 
CGGAG.#		_5+A'8 %
(CGGAG.# 			_5
 yy~~a12T999 A'8 r)   c                    [         R                  R                  U 5      nSnSnUR                  X#5      nUR                  U5      n[         R                  " USS9n[         R                  " USS9n[        XESS9u  ppp[        U
[         R                  " U5      5        [        US5        [        U[         R                  " U5      5        Ub   e[        X5        [        X5        [        XESS9u  ppp[        X5        [        X5        [        U[         R                  " U5      5        Ub   e[        XU-
  5        [        XU-
  5        g )Nr   r   r   axisFr/   T)	r2   r3   r4   r5   r   r   r   zerosrf   )rV   r<   r=   rW   r$   r@   expected_X_meanexpected_y_meanXtytX_meany_meanX_scalesqrt_sws                 r'   test_preprocess_datar   u  s   
))

 2
3CIJ'AAggaa(Oggaa(O/?	E0,BFG fbhhz&:;fa(grwwz':;??b$b$/?	D0,BFG f6f6grwwz':;??bo"56bo"56r)   c                    [         R                  R                  U 5      nSnSnSnUR                  X45      nUR                  X55      n[         R                  " USS9nUb  U" U5      n[        XgSS9u  pp  n	[        U[         R                  " U5      5        [        X5        [        XgSS9u  pp  n	[        X5        [        XU-
  5        g )	Nr   rk   r   r   r   Fr/   T)r2   r3   r4   r5   r   r   r   r   )rV   rF   r<   r=   rW   	n_outputsr$   r@   r   _r   r   s               r'    test_preprocess_data_multioutputr     s    
))

 2
3CIJI'A&Aggaa(O#Q-a%HA1afbhhy&9:b$-a$GA1af6bf*-r)   rescale_with_swc                    [         R                  R                  U5      nSnSnUR                  XE5      nSXfS:  '   US S 2S4==   S-  ss'   SUS S 2S4'   SUS S 2S	4'   UR                  U5      n[         R                  " UR                  U5      5      S
-   n[         R
                  " USUS9n	[         R
                  " USUS9n
[         R
                  " XhSS9n[         R
                  " Xk-
  S-  USS9nUS[         R                  " UR                  5      R                  -  :  n[        U/ SQ5        [         R                  " U5      [         R                  " UR                  5       5      -  nS
X'   Ub  U" U5      n[        UUSUU S9u  nnnnnnUb   UR                  5       nUR                  5       n[        UU	5        [        UU
5        [        U[         R                  " U5      5        U (       ad  [!        U[         R                  " U5      5        Ub  [!        UUS S 2S 4   U-  5        O[!        UUS S 2S 4   Xi-
  -  5        [!        UUXz-
  -  5        g Ub   eUb  [!        X5        O[!        XU	-
  5        [!        UXz-
  5        g )Nr   r   r   r-   r   ra   rL   r   rk   r   )r   weights)r   r   )r   r   r   r   Tr0   rO   r   )r2   r3   r4   r5   absaveragefinfor*   epsr   sqrtsumr   r   r   rf   r   )r   rF   rV   r<   r=   rW   r$   r@   rO   r   r   X_sample_weight_avgX_sample_weight_varconstant_maskexpected_X_scaler   r   r   r   r   r   s                        r'   test_preprocess_data_weightedr     sZ   
 ))

 2
3CIJ
 	'AA#gJ adGrMG AadG AadGAFF388I./!3MjjMBOjjMBO**QAF**	
	 Q&A ("rxx/@/D/D*DDM}l3ww23bggm>O>O>Q6RR '(##Q/?		#'0,BFFGW #IIKZZ\fo6fo6grwwz':;!78'B4 01 45B4 0A4G HIGq':;<'B"BO 34A/0r)   lil_containerc           	      (   [         R                  R                  U 5      nSnSn[        R                  " X4SUS9nU" U5      nUR	                  U5      nUR                  5       n[        XVSS9u  ppp[        U
[         R                  " U5      5        [        US5        [        U[         R                  " U5      5        Ub   e[        UR                  5       U5        [        X5        [        XVSS9u  ppp[        U
[         R                  " USS	95        [        U[         R                  " USS	95        [        U[         R                  " U5      5        Ub   e[        UR                  5       U5        [        X[         R                  " USS	9-
  5        g )
Nr   r   r-   )densityr   Fr/   r   Tr   )r2   r3   r4   r   r5   r   r   r   r   rf   r   )rV   r   r<   r=   rW   r$   r@   XAr   r   r   r   r   r   s                 r'   #test_sparse_preprocess_data_offsetsr     sG   
))

 2
3CIJI3SIAaAA	
B/?	E0,BFG fbhhz&:;fa(grwwz':;??bjjlB/b$/?	D0,BFG fbggbq&9:fbggaa&89grwwz':;??bjjlB/bbggaa&8"89r)   c                 ~    [        5       u  pSXS:  '   U " U5      n[        X2SS9u  pB      nUR                  S:X  d   eg )Nr         @Tr/   csr)r   r   format)r   r$   r@   r   csr_r   s         r'   test_csr_preprocess_datar     sL     DAA#gJ

C*3FDQ1a;;%r)   to_copy)TFuse_sample_weight)FTc           	         [        5       u  p4SX3S:  '   U(       a  [        R                  " [        U5      5      OS nU b  U " U5      n[	        UUUSUSS9u  pg      nU bt  U(       d  U(       a3  [        R
                  " UR                  UR                  5      (       a   eg [        R
                  " UR                  UR                  5      (       d   eg [        R
                  " Xc5      U(       + :X  d   eg )Nr   r   TF)rO   r0   r   check_input)r   r2   rf   lenr   may_share_memorydata)	rF   r   r   r$   r@   rO   X_y_r   s	            r'   #test_preprocess_copy_data_no_checksr     s     DAA#gJ'8BGGCFOdM#Q)		#BAq!Q #'**277AFF;;;;;&&rww7777""2)'k:::r)   c                 
   [         R                  R                  U5      nSnSnUR                  XE5      nUR                  U5      nUR                  U5      S-   n[         R                  " U[         R
                  S9n	[         R                  " U[         R
                  S9n
[         R                  " U[         R
                  S9n[         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[         R                  " U[         R                  S9n[        U	U
UUU S9u  nnnnnn[        UUUUU S9u  nnnnnn[        U	UUUU S9u  nnnnnn [        UU
UUU S9u  n!n"n#n$n%n&UR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eU (       a   UR                  [         R
                  :X  d   eUR                  [         R                  :X  d   eUR                  [         R                  :X  d   eUR                  [         R                  :X  d   eUR                  [         R                  :X  d   eUR                  [         R                  :X  d   eU (       a   UR                  [         R                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eUR                  [         R
                  :X  d   eU (       a   U R                  [         R
                  :X  d   eU!R                  [         R                  :X  d   eU"R                  [         R                  :X  d   eU#R                  [         R                  :X  d   eU$R                  [         R                  :X  d   eUR                  [         R
                  :X  d   eU (       a   U&R                  [         R                  :X  d   eU	R                  [         R
                  :X  d   eU
R                  [         R
                  :X  d   eUR                  [         R                  :X  d   eUR                  [         R                  :X  d   e[        UUSSS9  [        UUSSS9  [        UUSS	9  [        UUSS	9  [        UU5        U (       a  [        UUSS	9  g g )
Nr   r   r   r*   r   r   r   )rtolatolr   )
r2   r3   r4   r5   asarrayfloat32float64r   r*   r   )'r   r0   rV   r<   r=   rW   r$   r@   swX_32y_32sw_32X_64y_64sw_64Xt_32yt_32	X_mean_32	y_mean_32
X_scale_32
sqrt_sw_32Xt_64yt_64	X_mean_64	y_mean_64
X_scale_64
sqrt_sw_64Xt_3264yt_3264X_mean_3264y_mean_3264X_scale_3264sqrt_sw_3264Xt_6432yt_6432X_mean_6432y_mean_6432X_scale_6432sqrt_sw_6432s'                                          r'   test_dtype_preprocess_datar  <  sR    ))

 2
3CIJ'AA	)	q	 B::arzz*D::arzz*DJJr,E::arzz*D::arzz*DJJr,EAQ#'B>E5)Y
J BR#'B>E5)Y
J 	'+	
 KGWk;l 	'+	
 KGWk;l ;;"**$$$;;"**$$$??bjj(((??bjj(((rzz)))2::---;;"**$$$;;"**$$$??bjj(((??bjj(((rzz)))2::---==BJJ&&&==BJJ&&&

***

***+++!!RZZ///==BJJ&&&==BJJ&&&

***

***+++!!RZZ///::###::###::###::###E5t$7E5t$7Iyt4Iyt4J
+
JT: r)   c                     [        SSSS9u  p[        R                  " SS/SS/S	S
//[        R                  S9n[        R                  " / SQ[        R                  S9nU R                  X!S9nU R                  X1S9n[	        SS9   [        XESSS9tpgnS S S 5        WR                  U R                  :X  d   eWR                  U R                  :X  d   eg ! , (       d  f       NG= f)Ntorchmpsr   )device_name
dtype_namer   r   rk   r   rI   rH   r   )r   r   r   )deviceTarray_api_dispatch)r0   r   )r   r2   r   int64r   r   r*   r   )	xpr  X_npy_npX_xpy_xpX_outy_outr   s	            r'   =test_preprocess_data_integer_array_api_on_float32_only_devicer    s    %g5YWJB ::1v1v1v.bhh?D::irxx0D::d:*D::d:*D	4	0+d
q 
1
 ;;"**$$$;;"**$$$ 
1	0s   C
C#	n_targetsr   c                    [         R                  R                  U5      nSnSnSUR                  U5      -   nUR                  XE5      nU c  UR                  U5      nOUR                  X@5      n[         R                  " U5      n	XyS S 2[         R
                  4   -  n
U c  X-  nOXS S 2[         R
                  4   -  nUb,  U" U5      nU c  U" UR                  SS5      5      nOU" U5      n[        XxU5      u  pn[        X5        Ub3  UR                  5       nUR                  5       nU c  UR                  5       n[        X5        [        X5        g )Nr   r   rL   r   )r2   r3   r4   r5   r   newaxisreshaper   r   r   r~   )r  rF   rV   r<   r=   rW   rO   r$   r@   expected_sqrt_swexpected_rescaled_Xexpected_rescaled_y
rescaled_X
rescaled_yr   s                  r'   test_rescale_datar)    sD    ))

 2
3CIJ#((9--M'AHHYHHY*ww}-q"**}==21bjj="AA#Q 2q!12A #A&3A-&H#JGG.#'')
'')
#))+JJ4J4r)   c                 8   [        5       nUR                  R                  [        R                  5      nUR
                  R                  [        R                  5      nU " U5      n[        R                  " UR                  [        R                  S9nUR                  R                  [        R                  5      nUR
                  R                  [        R                  5      nU " U5      n[        R                  " UR                  [        R                  S9n	[        X#U5      u  p[        XgU	5      u  pU
R                  5       u  p  nUR                  5       u  nn  nUu  n  nUu  n  nUR                  [        R                  :X  d   eUR                  [        R                  :X  d   e[        UU[        S9  [        XCU5      u  nn[        XU	5      u  nnUR                  5       u  nn  nUR                  5       u  nn  nUu  n  nUu  n  nUR                  [        R                  :X  d   eUR                  [        R                  :X  d   e[        UU[        S9  [        UU[        S9  [        UU5        [        UU5        [        UU5        [        UU5        g )Nr   r   )r   r   r7   r2   r   targetarangerK   r   r   _next_pyr*   r   r   r   )r   irisr   r   X_csr_32sample_weight_32r   r   X_csr_64sample_weight_64
dataset_32r   
dataset_64xi_32yi_32xi_64yi_64
xi_data_32
xi_data_64datasetcsr_32datasetcsr_64xicsr_32yicsr_32xicsr_64yicsr_64xicsr_data_32xicsr_data_64s                              r'   test_fused_types_make_datasetrC    s+   ;D99BJJ'D;;bjj)DT"Hyy"**=99BJJ'D;;bjj)DT"Hyy"**= !-=>MJ -=>MJ#,,.E!Q#,,.E5!QJ1J1rzz)))rzz)))E5t, $H4DEM1#H4DEM1,557Hh1,557Hh1"M1a"M1a"**,,,"**,,,M=t<HhT2z=1z=1uh'uh'r)   X_shape)ra   rI   )ra      )r}   r}   z/Known to fail for CSR arrays, see issue #30131.)reason)marksc                 V   [         R                  R                  U5      nU u  pVUR                  XV5      nUR                  U5      nUb  U" U5      n[	        US9n	[        S0 U	D6R                  XxSS9n
U
R                  R                  5       nU(       a  U
R                  n[         R                  " U5      nU
R                  XxUS9  [        U
R                  USS9  U(       a  [        U
R                  W5        SnU
R                  XxUS9  [        U
R                  USS9  U(       a  [        U
R                  W5        UR                  SSUR                  S	   S
9nU
R                  XxUS9n
U
R                  R                  5       nU(       a  U
R                  nU
R                  Xx[         R                  U-  S9  [        U
R                  Xc  SOSS9  U(       a  [        U
R                  W5        UR                  5       nS	USS& USS=== S-  sss& U
R                  XxUS9  U
R                  R                  5       nU(       a  U
R                  nU
R                  USS USS USS S9  [        U
R                  USS9  U(       a  [        U
R                  W5        Ub  [        R                   " XwSUS-   /SS9nO[         R"                  " XwSUS-   /S	S9n[         R"                  " XSUS-   /5      nUR                  5       nUSUS-  === S-  sss& [         R"                  " XSUS-   /S	S9n[        S0 U	D6R                  XxUS9n[        S0 U	D6R                  UUUS9n[        UR                  UR                  SS9  U(       a!  [        UR                  UR                  5        gg)zTest that the impact of sample_weight is consistent.

Note that this test is stricter than the common test
check_sample_weight_equivalence alone and also tests sparse X.
It is very similar to test_enet_sample_weight_consistency.
Nr/   rN   r   r   g     ^@g{Gz?r   r   )lowhighrK   gh㈵>i  csc)r   r   r   )r2   r3   r4   r5   r   r
   r    r!   r   r"   	ones_liker   rQ   rR   pir   r   concatenate)rD  rF   r0   rV   r<   r=   rW   r$   r@   r   r&   coef	interceptrO   sample_weight_0coef_0intercept_0ru   y2sample_weight_1sample_weight_2reg1reg2s                          r'   0test_linear_regression_sample_weight_consistencyr[    sG   0 ))

 2
3C#I'AA#Q.F

$V
$
(
(T
(
BC99>>DNN	
 LLOMGGAG.CIIt$/	2 MGGAG.CIIt$/	2 KKDqqwwqzKBM
''!m'
4C99>>DNN	GGA 5G6CIIt2J$PTU	2 $((*OOBCbcFdNFGGAG0YY^^FnnGGAcrFAcrF-*<G=CIIvD14 #]]A!19>23EB^^Q"2IN 341=	.	Q/0	1B#((*O$i1n%*%nn	&6	Q78qO %f%))!o)ND%f%))"b)PDDJJ

69 r)   c                  D   [         R                  " S5      n [        R                  R	                  S5      nUR                  SS9nUR                  SS9n[        5       R                  X#5      nU R                  U5      nUR                  U5        [        SS9   [         R                  " [        SS	9   UR                  U5        S S S 5        [        U5      u  pgn[        XFU5      nUR                  U5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)
Narray_api_strictr   rE  rJ   ra   Tr  z.*must use the same namespacerd   )r:   importorskipr2   r3   default_rngrP   r
   r    r   r#   r   rg   
ValueErrorr   r   )	r  r<   r$   r@   r&   r  	xp_targetr   r  s	            r'    test_array_api_move_estimator_torb  n  s    			/	0B
))


"C


 A


A


 
 
&C::a=DKK	4	0]]:-LMKK N7=	f7D 
1	0MM 
1	0s$   D2D 3D 
D	
D
Dc                       " S S[         [        5      n U " 5       nUR                  SSS9  UR                  [        R
                  " S5      5      n[        [        R                  " USS9S5        g)zrTest that _predict_proba_lr of LinearClassifierMixin deals with large
negative values.

Note that exp(-1000) = 0.
c                   &    \ rS rSrS rS rS rSrg):test_predict_proba_lr_large_values.<locals>.MockClassifieri  c                     g )Nr   )selfs    r'   __init__Ctest_predict_proba_lr_large_values.<locals>.MockClassifier.__init__  s    r)   c                     SU l         g )NT__sklearn_is_fitted__)rg  r$   r@   s      r'   r    >test_predict_proba_lr_large_values.<locals>.MockClassifier.fit  s
    )-D&r)   c                 Z    UR                   S   n[        R                  " S/S-  US/5      $ )Nr   g     @r   r   )rR   r2   tile)rg  r$   r=   s      r'   decision_functionLtest_predict_proba_lr_large_values.<locals>.MockClassifier.decision_function  s*    
I77G9q=9a.99r)   rk  N)__name__
__module____qualname____firstlineno__rh  r    rp  __static_attributes__r   r)   r'   MockClassifierre    s    		.	:r)   rw  N)r$   r@   rI   r   r   )r   r   r    _predict_proba_lrr2   rf   r   r   )rw  clfprobas      r'   "test_predict_proba_lr_large_valuesr{    sX    	:. 	: 
CGGddG!!"''!*-EBFF5q)1-r)   )Inumpyr2   r:   scipyr   r   sklearnr   sklearn.baser   sklearn.datasetsr   r   r	   sklearn.linear_modelr
   sklearn.linear_model._baser   r   r   r   sklearn.preprocessingr   sklearn.utils._array_apir   r   sklearn.utils._testingr   r   r   r   r   sklearn.utils.fixesr   r   r   r   r   r   r(   markparametrizer   r   rE   r_   rj   rq   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r)  rC  paramxfailr[  rb  r{  )	containers   0r'   <module>r     s       " & Q Q 1  4 P   30 2::rzz":;? <?0 +dVn-DE4-8$+ 9 F$+N	 0662BC' D'"P&= 4-8.97 : 97$P" .9P :P").;"
99" +dVn-DED%=139 2 F39l7< +dVn-DE. F.* *UDM:+dVn-DEF1 F ;F1R .9: ::< .9  :  +dVn-DEM2,m<; = 3 F;8 *UDM:5$-8^; 9 ;^;B%& tQi0+dVn-DE&5 F 1&5R .9*( :*(Z $CD	F ( (I 	++##H $  	 	
 (	 5$-8Q: 9 EQ:h ) )$.es   1Q