
    Q3j&                        d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7m8Z8 d d	l9m:Z: ejv                  jy                  d
 e        e        e        e        e        e        e        e        e        e        e        ejz                   eddd      ejv                  j}                  d             edddd       e        e        e        e        e         e!        e%        e&        e)        ejz                   e+d      ejv                  j}                  d             e+dd       e-d       gd       ejv                  jy                  ddd g      d!               Z?ejv                  j                  d"      ejv                  j                  d#      ejv                  j                  d$      ejv                  jy                  d%eeeeeeeeeeeeee5ee e!e#e%e&e)e+e,e-g      ejv                  jy                  d&d'd(g      d)                                    ZAejv                  jy                  d*d+ge4i fei fed,dddd-fe"i fe$i fe'i fe(i fe*i fg      ejv                  jy                  d.d(d/g      d0               ZBejv                  jy                  d1edd2d3fed4difed4dife'd5d6d7fedd'd2d8fedd9d2d8fe&d5d:d6d;fei fe)i fe(i fg
      ejv                  jy                  d<e:      d=               ZCy)>    N)cloneis_classifier)make_classificationmake_low_rank_matrixmake_regression)"ARDRegressionBayesianRidge
ElasticNetElasticNetCVGammaRegressorHuberRegressorLarsLarsCVLassoLassoCV	LassoLarsLassoLarsCVLassoLarsICLinearRegressionLogisticRegressionLogisticRegressionCVMultiTaskElasticNetMultiTaskElasticNetCVMultiTaskLassoMultiTaskLassoCVOrthogonalMatchingPursuitOrthogonalMatchingPursuitCVPassiveAggressiveClassifierPassiveAggressiveRegressor
PerceptronPoissonRegressorRidgeRidgeClassifierRidgeClassifierCVRidgeCVSGDClassifierSGDRegressorTheilSenRegressorTweedieRegressor)make_pipeline)MinMaxScalerStandardScaler)	LinearSVC	LinearSVR)assert_allcloseset_random_state)CSR_CONTAINERSmodel      ?sagaV瞯<)l1_ratiosolvertolz"Missing importance sampling scheme)reason)marksgư>Fneg_log_loss)r   )r8   use_legacy_attributesscoring	l1_ratios)r8   zInsufficient precision.
elasticneti'  )penaltymax_iter)powerc                 .    | j                   j                  S )N)	__class____name__)xs    S/DATA/.local/lib/python3.12/site-packages/sklearn/linear_model/tests/test_common.py<lambda>rH   a   s    !++&&    )idswith_sample_weightTc                    t        |       } |rNdt        j                  | j                        j                  j                         vrt        j                  d       d}t        | t              rd}nt        | d      r| j                  dk(  rd}t        j                  j                  |      }d\  }}}t        | t        t         t"        t$        f      rd	}t'        |||
      }|r6|j)                  dd||f      t        j*                  |d      d d d f   z  }	n,|j)                  dd|      t        j*                  |d      z  }	t        j,                  ||	z  dz         }
|j/                  |
      dz   }t1        |       r%||
dz   kD  j3                  t        j4                        }|r"|j)                  dd|j6                  d         }nd }| j9                  d       |r| j                  |||       n| j                  ||       t1        |       r]t        j:                  | j=                  |      d d df   |      t        j>                  t        j:                  ||      |      k(  sJ y t        j:                  | jA                  |      |d      t        j>                  t        j:                  ||d      |      k(  sJ y )Nsample_weightz)Estimator does not support sample_weight.g-C6*?皙?r7   r4   {Gz?)d   
   N   )	n_samples
n_featuresrandom_state   )lowhighsizer   )axisr3   )lam   rQ   T)fit_intercept)rM   )weights)rel)r_   r[   )!r   inspect	signaturefit
parameterskeyspytestskip
isinstancer'   hasattrr7   nprandomRandomStater   r   r   r   r   uniformmaxexppoissonr   astypefloat64shape
set_paramsaveragepredict_probaapproxpredict)r2   rK   global_random_seedr`   rngn_trainrT   	n_targetsXcoefexpectationysws                rG   test_balance_propertyr   6   sg   t %LE7#4#4UYY#?#J#J#O#O#QQ?@
C%&		!ellf&<
))

 2
3C%2"GZ	3^EUV 	w:TWXAKKBQj)-DKEffQQ4() 	
 {{r
{;bffQQ>OO&&TC(K$q(AUq ((4[[QRaggaj[9	4(		!Qb	)		!QUzz%--a0A6Cv}}JJq"%3H
 
 	
 
 zz%--*BQ?6==JJq"1-3D
 
 	
 
rI   z!ignore:The default of 'normalize'zignore:lbfgs failed to convergez5ignore:A column-vector y was passed when a 1d array.*	Regressorndimr]   rW   c                    | t         u rt        j                  d       t        ddd      \  }}t	               j                  |j                  dd            dddf   dz   }|d	k(  r|ddt        j                  f   n|} |        }t        |       |j                  ||       |j                  j                  |j                  d   fk(  sJ y)
z4Check the consistency of linear models `coef` shape.z8LinearRegression does not follow `coef_` shape contract!r         )rU   rS   rT   r]   NrW   )r   rf   xfailr   r+   fit_transformreshaperj   newaxisr0   rc   coef_rs   )r   r   r}   r   	regressors        rG   &test_linear_model_regressor_coef_shaper      s    F $$OPSRHDAq$$QYYr1%56q!t<q@A AI!RZZ-1AIYMM!Q??  QWWQZM111rI   
Classifierparamsznewton-cholesky)r7   r<   r>   r=   	n_classesrR   c                 *   | t         t        fv rt        j                  |  d       t	        d|d      \  }}|j
                  d   } | di |}t        |       |j                  ||       |dk(  rd|fn||f}|j                  j
                  |k(  sJ y )Nz( does not follow `coef_` shape contract!rQ   r   )n_informativer   rU   r]   rW    )	r#   r$   rf   r   r   rs   r0   rc   r   )r   r   r   r}   r   rT   
classifierexpected_shapes           rG   'test_linear_model_classifier_coef_shaper      s    . o'899
|#KLMR9STUDAqJ%f%JZ NN1a(1Qa_Y
<SN!!^333rI   zLinearModel, paramsrO   )r8   alphar8   	sparse_cgrN   )r7   r   )r8   r6   r   gh㈵>g-q=)r7   r8   r   csr_containerc                    t        t        d       | di |      }t        t        d       | di |      }t        j                  j	                  d      }d}d}|j                  ||      }d||dk  <    ||      }	|j                  |      }
t        |      rt        j                  |
      }
|j                  ||
       |j                  |	|
       t        |d   j                  |d   j                  d	
       |j                  |      }|j                  |	      }t        ||       t        |d   j                  |d   j                         y)zTest that sparse and dense linear models give same results.

    Models use a preprocessing pipeline with a StandardScaler.
    F)	with_meanr   rP   rW   g        rN   r]   r5   )atolNr   )r*   r,   rj   rk   rl   randnrandr   signrc   r/   r   rx   
intercept_)LinearModelr   r   model_densemodel_sparserz   rS   rT   r}   X_sparser   y_pred_densey_pred_sparses                rG   )test_model_pipeline_same_dense_and_sparser      s'   *   ?AVvAVWK %!@+BWPVBWXL ))


"CIJ		)Z(AAa#gJQHA[!GGAJOOAqXq!LO));q>+?+?eL&&q)L ((2ML-0KN--|A/I/IJrI   )Dra   numpyrj   rf   sklearn.baser   r   sklearn.datasetsr   r   r   sklearn.linear_modelr   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)   sklearn.pipeliner*   sklearn.preprocessingr+   r,   sklearn.svmr-   r.   sklearn.utils._testingr/   r0   sklearn.utils.fixesr1   markparametrizeparamr   r   filterwarningsr   r   r   r   rI   rG   <module>r      s      - W W# # # # # # # # #H + > , D . 	 	FF++##+O#P	
 	"'"		
 	!##%	U#++##+D#E	
 	\F;q!O(R 	'W  ,Z -t}=@
 >[,\@
F ?@=>ST!#"1: !Q(2 ); U ? AB2 8	B	R  +).!)		
 
%b)	R	"	B	!* q!f-4 .+,4 	-.	5%.!	u~&	[3?@	UDAB	UtDE	;usCD	2	"	B .9K : KrI   