
    KiGO                     6   S SK rS SKrS SKJr  S SKJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  \R                   R#                  SSS/5      \R                   R#                  SS	S
/5      S 5       5       r\R                   R#                  SSS /5      \R                   R#                  SSS/5      \R                   R#                  S/ SQ5      S 5       5       5       r\R                   R#                  S\R(                  " / SQ5      S4\R(                  " S S/5      S4\R(                  " / SQ5      S4/5      S 5       r\R                   R#                  SSS/5      \R                   R#                  SS\R(                  " / SQ5      4S\R(                  " / SQ5      4/5      S 5       5       r\R                   R#                  SSS 0\R(                  " SS/S!S"//5      \R(                  " S S/5      SS#.S$4S SS/SS//S!S"/S!S"//S%.S&.\R(                  " SS//5      \R(                  " S S/5      SS#.S'4S SS/SS//S!S"/S!S"//S%.S&.\R(                  " / S(Q5      \R(                  " / S)Q5      SS#.S*4S SS/SS//S!S"/S!S"//S%.S&.\R(                  " / S(Q5      \R(                  " / SQ5      \R(                  " S+/5      S#.S4/5      S, 5       r\R                   R#                  S-/ S.Q5      S/ 5       r\R                   R#                  S0S1S20S/5      \R                   R#                  S30 S1S20/5      S4 5       5       rS5 r\R                   R#                  SSS6S6//5      \R                   R#                  S7S8S9S:.SSS:./5      \R                   R#                  S;S<S=/5      \R                   R#                  S0SS>S?0/5      S@ 5       5       5       5       r\R                   R#                  SSS6/ SAQ/5      \R                   R#                  S7SB/ SCQ0SB/ SDQ0/5      \R                   R#                  S;S<S=/5      SE 5       5       5       r\R                   R#                  S0SS>S?0/5      \R                   R#                  SFSS!/5      SG 5       5       rSH rSI r\R                   R#                  SJSKSLSMSNSOSPSQSRSS\STSS4SS\SUSS4S\STSV4S\SUSW4SS\STSS4SS\SUSS4S\STSW4S\SUSV4/5      SX 5       r \R                   R#                  SY\RB                  " SZSS[5      S[S\4\RB                  " SZSS]5      * S^S_4\RD                  " S SS[5      S`Sa4/ SbQScSd4/5      Se 5       r#\R                   R#                  SfSgSSh.SiSj0SgSSjSk.4SgSlSm.S?SjSn.S?SjSm.4SoSpSqSr.SsSt0SoSpStSr.40 0 0 40 SjS?SuSvSSwSgS[Sx.SjS?SuSvSSwSgS[Sy.4/5      Sz 5       r$\R                   R#                  S{0 SS!S|.40 S}SgS~.4/5      S 5       r%S r&\R                   R#                  SSS/5      \R                   R#                  SSS/5      S 5       5       r'g)    N)LogisticRegression)"_BinaryClassifierCurveDisplayMixin_deprecate_estimator_name_despine_interval_max_min_ratio_validate_score_name_validate_style_kwargs)_get_response_values_binary)assert_allcloseaxAxzname, expected_name_out)NTestEstimator)
CustomNamer   c                     [        5       nSUl        U(       a  U R                  5       u  pQUR                  XS9u  penXs:X  d   eU(       a  X:X  d   egg)z9Check `_validate_plot_params` returns the correct values.r   )r   nameN)r   estimator_namesubplots_validate_plot_params)pyplotr   r   expected_name_outdisplay_ax_outname_outs           c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/sklearn/utils/tests/test_plotting.pytest_validate_plot_paramsr      s[     12G,G	!!7727IFx(((	|| 
    	pos_labelr   r   response_method)autopredict_probadecision_functionc           	      :   [         R                  " SS/SS/SS/SS//5      n[         R                  " / SQ5      n[        5       R                  XE5      n[        R
                  " UUUUUUS9u  pqn[        XdX1S9u  p[        Xy5        X:X  d   eUb  UOS	nX:X  d   eg)
zECheck `_validate_and_get_response_values` returns the correct values.r            )r   r   r%   r%   )r   r   r   )r   r   Nr   )nparrayr   fitr   !_validate_and_get_response_valuesr
   r   )r   r   r   r   Xy	estimatory_predr   expected_y_predexpected_pos_labelexpected_names               r   %test_validate_and_get_response_valuesr2   #   s     	1a&1a&1a&1a&12A
A"$((.I 	+LL+	
  Fx +Fo+'O F,*** !,D2FM$$$r   zy_true, error_message)r   r$   r%   zThe target y is not binary.r$   z'Found input variables with inconsistent)r   r%   r   r%   z,y_true takes value in \{0, 2\} and pos_labelc                     [         R                  " / SQ5      n[         R                  " S5      n[        R                  " [
        US9   [        R                  " UUUSS9  SSS5        g! , (       d  f       g= f)zDCheck `_validate_from_predictions_params` raises the correct errors.皙?皙?g333333?g?   matchN)y_truer.   sample_weightr   )r'   r(   onespytestraises
ValueErrorr   !_validate_from_predictions_params)r   r:   error_messager.   r;   s        r   ,test_validate_from_predictions_params_errorsrB   E   sT     XX*+FGGAJM	z	7*LL'		
 
8	7	7s   A))
A7zpos_label, y_true)r   r$   r   r$   r%   c                     [         R                  " / SQ5      n[        R                  " UUSUUS9u  pVUb  UOSnXg:X  d   eUb  UOSnXX:X  d   eg)zECheck `_validate_from_predictions_params` returns the correct values.r4   N)r:   r.   r;   r   r   
Classifierr$   )r'   r(   r   r@   )	r   r   r   r:   r.   pos_label_outr   r1   r0   s	            r   -test_validate_from_predictions_params_returnsrF   [   sl     XX*+F*LL	
 M !,D,M$$$ '0&;...r   zparams, err_msgr-   dummyr&   r7   )
cv_resultsr+   r,   r;   z2`cv_results` does not contain one of the following)testtrain)r-   indicesz*`X` does not contain the correct number of)r$   r%   r&   r7   )r   r%   r$   r&   zThe target `y` is not binaryg      ?c                     [         R                  " [        US9   [        5       R                  " S0 UD6  SSS5        g! , (       d  f       g= f)z2Check parameter validation is performed correctly.r8   N )r=   r>   r?   r    _validate_from_cv_results_params)r   paramserr_msgs      r   $test_validate_from_cv_results_paramsrQ   y   s4    p 
z	1*,MMWPVW 
2	1	1s	   >
Az/curve_legend_metric, curve_name, expected_label))g333333?Nz
AUC = 0.85)NModel ArR   )gffffff?zRandom ForestzRandom Forest (AUC = 0.95)NNNc                 D    Sn[         R                  " XU5      nXB:X  d   eg)z4Check `_get_legend_label` returns the correct label.AUCN)r   _get_legend_label)curve_legend_metric
curve_nameexpected_labellegend_metric_namelabels        r   test_get_legend_labelr\      s.     .@@);E """r   curve_kwargsalpha      ?kwargsc                    SnSnSSS.nSnU (       aE  U(       a>  [         R                  " [        SS9   [        R                  " UUUUU 40 UD6  SSS5        gU(       a>  [         R
                  " [        S	S9   [        R                  " UUUUU 40 UD6  SSS5        g[        R                  " X#XEU 40 UD6  g! , (       d  f       g= f! , (       d  f       g= f)
z;Check `_validate_curve_kwargs` deprecates kwargs correctly.r$   N皙?r5   meanstdrU   z"Cannot provide both `curve_kwargs`r8   z`\*\*kwargs` is deprecated and)r=   r>   r?   r   _validate_curve_kwargswarnsFutureWarning)r]   r`   n_curvesr   legend_metricrZ   s         r   +test_validate_curve_kwargs_deprecate_kwargsrk      s     HD -M]]:-QR.EE"  SR 
\\-/PQ.EE"  RQ 	+AAM|	
OU	
+ SR RQs   B78C7
C
Cc            	         Sn SSS.nSn[         R                  " [        SS9   [        R                  " U SUUS	S
0/S9  SSS5        [         R                  " [        SS9   / SQn[        R                  " U UUUSS9  [        R                  " U UUUS	S
0S9  SSS5        g! , (       d  f       Ng= f! , (       d  f       g= f)zGCheck `_validate_curve_kwargs` performs parameter validation correctly.r&   rb   r5   rc   rU   z`curve_kwargs` must be Noner8   Nr^   r_   ri   r   rj   rZ   r]   z#To avoid labeling individual curvesonetwothree)r=   r>   r?   r   rf   )ri   rj   rZ   r   s       r    test_validate_curve_kwargs_errorrr      s    H -M	z)F	G*AA'1"C.)	
 
H 
z)N	O&*AA'1	
 	+AA'1!3	
 
P	O 
H	G 
P	Os   B  7B1 
B.1
B?rX   rj   rb   r6   rc   rZ   rU   APcolorredc                    Sn[         R                  " UU UUUS9n[        U[        5      (       d   e[	        U5      U:X  d   eSn[        U [        5      (       a  U S   n U b  U nUS   b	  USU S3-   nOUS   b  U S3nUS   S	   U:X  d   eUS
   S	   b   eUS   S	   b   eUc  [        S U 5       5      (       d   eg[        S U 5       5      (       d   eg)zNCheck `_validate_curve_kwargs` returns correct kwargs for single legend entry.r&   rm   Nr   rd    (z = 0.80 +/- 0.20)z = 0.80 +/- 0.20r[   r$   r%   c              3   ,   #    U  H
  nS U;  v   M     g7f)rt   NrM   .0r`   s     r   	<genexpr>;test_validate_curve_kwargs_single_legend.<locals>.<genexpr>3  s     H7GV7&(7Gs   c              3   0   #    U  H  oS    S:H  v   M     g7frt   ru   NrM   ry   s     r   r{   r|   5  s     K:J'?e+:J   )r   rf   
isinstancelistlenall)r   rj   rZ   r]   ri   curve_kwargs_outrY   s          r   (test_validate_curve_kwargs_single_legendr     s.    H9PP#-! &---- H,,,N$Aw ,+3E2FFW.XXN	v		*.//?@Aw'>999Aw'///Aw'///H7GHHHHHK:JKKKKKr   rn   metric)r_   r_   r_   rS   c                 h   SnSS0SS0SS0/n[         R                  " UU UUUS9n[        U[        5      (       d   e[	        U5      U:X  d   e/ SQn[        U [
        5      (       a  SnUS	   S
   b	  USU S3-   nU/U-  nOi[        U [        5      (       a  US	   S
   c  U nOH[        U [        5      (       a!  US	   S
   b  U  Vs/ s H
  ow SU S3PM     nnOUS	   S
   b	  U S3/U-  n[        U5       H  u  pXX   S   U	:X  a  M   e   [        XE5       H  u  pUS   U
S   :X  a  M   e   gs  snf )zMCheck `_validate_curve_kwargs` returns correct kwargs for multi legend entry.r&   rt   ru   yellowbluerm   rS   rX   r   r   Nrw   z = 1.00)z = 1.00r[   )r   rf   r   r   r   str	enumeratezip)r   rj   rZ   ri   r]   r   expected_labelsname_singleidxrY   curve_kwargcurve_kwarg_outs               r   'test_validate_curve_kwargs_multi_legendr   8  s    He$w&9GV;LML9PP#-! &---- H,,,(O$&"1%1-"5G4H0QQO*+h6	D$		M($;A$>$F	D$		M($;A$>$JNR
NR{m201:d 	 
 
x	 	#	/019:XE(9$W-???  : ),L(K$w';w+???? )L
s   D/ri   c                    [         R                  " U SSSS.SUSS0SS	S
S.S9nU S:  ai  [        S U 5       5      (       d   e[        S U 5       5      (       d   eUc  [        S U 5       5      (       d   eg[        S U 5       5      (       d   egUc  [        S U 5       5      (       d   eg[        S U 5       5      (       d   eg)z0Check default kwargs are incorporated correctly.rI   rb   r6   rc   r   rt   r   ffffff?--green)r^   	linestylert   )ri   r   rj   rZ   r]   default_curve_kwargsdefault_multi_curve_kwargsr$   c              3   0   #    U  H  oS    S:H  v   M     g7f)r^   r   NrM   rz   kwargs     r   r{   <test_validate_curve_kwargs_default_kwargs.<locals>.<genexpr>r  s     G6FU>S(6Fr   c              3   0   #    U  H  oS    S:H  v   M     g7f)r   r   NrM   r   s     r   r{   r   s  s     L;K%%-;Kr   Nc              3   0   #    U  H  oS    S:H  v   M     g7f)rt   r   NrM   r   s     r   r{   r   v  s     O>NUW~0>Nr   c              3   0   #    U  H  oS    S:H  v   M     g7fr~   rM   r   s     r   r{   r   y  s     M<L5W~.<Lr   c              3   0   #    U  H  oS    S:H  v   M     g7f)rt   r   NrM   r   s     r   r{   r   }  s     J9I>V+9Ir   c              3   0   #    U  H  oS    S:H  v   M     g7fr~   rM   r   s     r   r{   r     s     I8Hu>U*8Hr   )r   rf   r   )ri   r]   r   s      r   )test_validate_curve_kwargs_default_kwargsr   c  s     :PP"3/#!%v.-0tg#V !|G6FGGGGGL;KLLLLLO>NOOOOO M<LMMMMM		J9IJJJJJ I8HIIIIIr   c                      g NrM   rM   r   r   r   r         r   c                      g r   rM   rM   r   r   
neg_metricr     r   r   z6score_name, scoring, negate_score, expected_score_name)accuracyNFr   )Nr   FAccuracy)Nr   TzNegative accuracy)Nneg_mean_absolute_errorFzNegative mean absolute error)Nr   TzMean absolute error)MAEr   Tr   )NNFScore)NNTzNegative scorezSome metricFTMetriczNegative metricc                 (    [        XU5      U:X  d   eg)z*Check that we return the right score name.N)r   )
score_namescoringnegate_scoreexpected_score_names       r   test_validate_score_namer     s    0 	Z,?CVVVr   zdata, lower_bound, upper_boundr5         
         g?g?)r$   r%   r   r      2   r   (   c                 :    U[        U 5      s=:  a  U:  d   e   eg r   )r   )datalower_boundupper_bounds      r   test_inverval_max_min_ratior     s#      06DDDDDDr   z%default_kwargs, user_kwargs, expectedr   )rt   	linewidthr   dashed)rt   r   r   solid)rt   r   )clsxxxkr   )r[   rt   r   r   z-.blackr   r   )r   r   ecfclwmecmfcaltms)r   rt   	edgecolor	facecolorr   markeredgecolormarkerfacecoloralt
markersizec                 @    [        X5      nX2:X  d   SU SU S35       eg)zLCheck the behaviour of `validate_style_kwargs` with various type of entries.zLThe validation of style keywords does not provide the expected results: Got z instead of .N)r	   )default_kwargsuser_kwargsexpectedresults       r   test_validate_style_kwargsr     s9    \ $N@F 	hl8*A	/r   zdefault_kwargs, user_kwargs)r   r   r)r   rt   c                     [         R                  " [        5         [        X5        SSS5        g! , (       d  f       g= f)z3Check that `validate_style_kwargs` raises TypeErrorN)r=   r>   	TypeErrorr	   )r   r   s     r    test_validate_style_kwargs_errorr     s$     
y	!~; 
"	!	!s   0
>c                 N   U R                  5       n[        U5        UR                  S   R                  5       SL d   eUR                  S   R                  5       SL d   eUR                  S   R	                  5       S:X  d   eUR                  S   R	                  5       S:X  d   eg )NtopFrightbottom)r   r$   left)gcar   spinesget_visible
get_bounds)r   r   s     r   test_despiner     s    	BRL99U'')U22299W))+u44499X))+v55599V'')V333r   r   my_est_name
deprecatedmy_namec                    SnSnU S:X  a  [        XU5      nXA:X  d   egUc@  SU SU S3n[        R                  " [        US9   [        XU5      nSSS5        WU :X  d   egUb8  S	U SU S
3n[        R                  " [
        US9   [        XU5        SSS5        gg! , (       d  f       NS= f! , (       d  f       g= f)z3Check `_deprecate_estimator_name` behaves correctlyz1.7z1.9r   Nz"`estimator_name` is deprecated in z and will be removed in z. Use `name` instead.r8   zSCannot provide both `estimator_name` and `name`. `estimator_name` is deprecated in z. )r   r=   rg   rh   r>   r?   )r   r   versionversion_remover   warning_messager   rA   s           r   test_deprecate_estimator_namer     s     GN%,^7K	0	9Q35 	 \\-?.~WMF @'''		  'y(@@PPRT 	 ]]:];%nGD <; 
 @? <;s   BB/
B,/
B=)(numpyr'   r=   sklearn.linear_modelr   sklearn.utils._plottingr   r   r   r   r   r	   sklearn.utils._responser
   sklearn.utils._testingr   markparametrizer   r2   r(   rB   rF   rQ   r\   rk   rr   r   r   r   r   r   r   	geomspacelinspacer   r   r   r   r   rM   r   r   <module>r      s     3  @ 2 d|, 79UV - tQi0$!56E% 7 1
%: 	)	;<	1a&	DE	,	!PQ

 $!56	rxx%&	
BHH\"#/ 7/, 
  +G4XX1v1v./XXq!f%!% A		
 ")*+Q!Q(8QFQPQFCST
 XX1vh'XXq!f%!%	 9	
  ")*+Q!Q(8QFQPQFCST XXl+XXl+!%	 +	
  ")*+Q!Q(8QFQPQFCST XXl+XXl+!#3%	 6	
K25lXm5lX 5## 7C.$)?@B##78
 9 A
D
> $|n!EF#d ;< -t}=$%0@)AB#L C >	 G#LL $6M!NOx1H>P3QR -t}=#@ > P
#@L $%0@)ABaV,J - CJ<		 <--5PF7$,	}5	m4	vuh'	vt./	
E=9	
D-8	z5"34	z4*!*+* $ 
c1a	 !Q'
,,sAr
"	"Aq)	Q1	sC( 
B'EE + 1-(#18D	
 73x((3	
 c=4Lc=	

 
R 	 &$%#*&,		
#(+XY+X !
#$rv+F&GH<	<4 )M<+HI$	!23E 4 JEr   