
    0Php                        d dl Zd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZ dd gd d	gd	d	gd	d	ggZg d
Zg dZej                            deej        gz             ej                            dddg          ej                            dddg          ej                            dddg          d                                                 Zd)dZd ZdZd Zej                            ddedfg          d              Zej                            d!ded	z   g          d"             Zej                            d#ed$fd%g          d&             Zej                            d'ded	z   g          d(             ZdS )*    N)stats)LogisticRegression)	LinearSVC)l1_min_c)bounded_rand_int_wrapset_seed_wrap)CSR_CONTAINERS   )r   r   r   r   )   r   r   r   X_containerlosssquared_hingelogY_labeltwo-classesmulti-classintercept_labelno-interceptfit-interceptc                     t           t          d}ddidddd} | t                    }||         }||         }t          |||fi | d S )N)r   r   fit_interceptFT
   )r   intercept_scaling)r   r   )Y1Y2dense_Xcheck_l1_min_c)	r   r   r   r   Ys
interceptsXYintercept_paramss	            ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/svm/tests/test_bounds.pytest_l1_min_cr%      sv    
 B	/	/B(%0+/bII J
 	GA
7A!/21a22!122222    T      ?c                    t          | ||||          }t          dd          t          ddd          d|         }||_        ||_        ||_        |                    | |           t          j        |j	                  d	k    
                                sJ t          j        |j                  d	k    
                                sJ |d
z  |_        |                    | |           t          j        |j	                  d	k                                    s1t          j        |j                  d	k                                    sJ d S d S )N)r   r   r   l1	liblinear)penaltysolverr   F)r   r+   dual)r   r   r   g)\(?)r   r   r   r   r   Cfitnpasarraycoef_all
intercept_any)r!   yr   r   r   min_cclfs          r$   r   r   "   sO   		#+  E "${CCC"ERRR  C
 &C-CCEGGAqMMMJsy!!Q&++-----Js~&&!+0022222DLCEGGAqMMMJsy!!Q&++--X"*S^2L2LPQ2Q1V1V1X1XXXXXXXXr&   c                      ddgddgg} ddg}t          j        t                    5  t          | |           d d d            d S # 1 swxY w Y   d S )Nr   r   )pytestraises
ValueErrorr   )r!   r6   s     r$   test_ill_posed_min_cr=   =   s    
Q!QA	
AA	z	"	"  A                 s   AAAl    c                       d t          d          D              t          d  D                       sJ t           fd D                       rJ dS )a  Test that bounded_rand_int_wrap without seeding respects the range

    Note this test should pass either if executed alone, or in conjunctions
    with other tests that call set_seed explicit in any order: it checks
    invariants on the RNG instead of specific values.
    c                 ,    g | ]}t          d           S )d   r   ).0_s     r$   
<listcomp>z(test_newrand_default.<locals>.<listcomp>N   s!    ???&s++???r&   r   c              3   6   K   | ]}d |cxk    odk     nc V  dS )r   r@   N )rB   xs     r$   	<genexpr>z'test_newrand_default.<locals>.<genexpr>O   s6      //qA||||||||//////r&   c              3   0   K   | ]}|d          k    V  dS )r   NrF   )rB   rG   	generateds     r$   rH   z'test_newrand_default.<locals>.<genexpr>P   s,      881	!$888888r&   N)ranger3   )rJ   s   @r$   test_newrand_defaultrL   G   sq     @?U2YY???I//Y////////8888i8888888888r&   zseed, expected)r   6   	   c                 R    t          |            t          d          }||k    sJ dS )z3Test that `set_seed` produces deterministic resultsr@   N)r   r   )seedexpectedrJ   s      r$   test_newrand_set_seedrR   S   s6     $%c**I      r&   rP   c                     t          j        t                    5  t          |            ddd           dS # 1 swxY w Y   dS )z=Test that `set_seed_wrap` is defined for unsigned 32bits intsN)r:   r;   OverflowErrorr   )rP   s    r$   test_newrand_set_seed_overflowrU   [   s     
}	%	%  d                    7;;zrange_, n_ptsi'  )r@      c                     t          d           d}g }t          j        d           }t          |          D ]Q} fdt          |          D             }t          j        ||j                  }|                    |j                   Rt          j        dd          }t          j        ||j                  }	|	j        dk    sJ d|	j         d	            t          j	        |d
          }
|
dk    sJ d|
 d            dS )z;Test that `bounded_rand_int` follows a uniform distribution*   r@   r   )locscalec                 .    g | ]}t                    S rF   rA   )rB   rC   range_s     r$   rD   z1test_newrand_bounded_rand_int.<locals>.<listcomp>n   s"    FFFA'//FFFr&   r   g?zNull hypothesis rejected: generated random numbers are not uniform. Details: the (meta) p-value of the test of uniform distribution of p-values is z which is not > 0.05r   )qzlNull hypothesis rejected: generated random numbers are not uniform. Details: lower 10th quantile p-value of z not > 0.05.N)
r   r   uniformrK   kstestcdfappendpvaluer0   
percentile)r]   n_ptsn_iterks_pvalsuniform_distrC   sampleresuniform_p_vals_dist	res_pvalsmin_10pct_pvals   `          r$   test_newrand_bounded_rand_intrn   b   sH   
 "FH=Qf555L6]] $ $FFFFuFFFl6<#344
####  -AQ777X':'>??Id"""	B$+	B 	B 	B #"" ]8r222N D   	P3A	P 	P 	P !    r&   r]   c                     t          j        t                    5  t          |            ddd           dS # 1 swxY w Y   dS )zETest that `bounded_rand_int_wrap` is defined for unsigned 32bits intsN)r:   r;   rT   r   )r]   s    r$   $test_newrand_bounded_rand_int_limitsrp      s     
}	%	% & &f%%%& & & & & & & & & & & & & & & & & &rV   )Tr'   )numpyr0   r:   scipyr   sklearn.linear_modelr   sklearn.svmr   sklearn.svm._boundsr   sklearn.svm._newrandr   r   sklearn.utils.fixesr	   r   r   r   markparametrizearrayr%   r   r=   _MAX_UNSIGNED_INTrL   rR   rU   rn   rp   rF   r&   r$   <module>r|      s              3 3 3 3 3 3 ! ! ! ! ! ! ( ( ( ( ( ( E E E E E E E E . . . . . .7QFQFQF
+\\\\ "((CDD/5!9::]M$BCC*^_,MNN
3 
3 ON DC ;: ED
3Y Y Y Y6    	9 	9 	9 )G6G5K+LMM! ! NM! "&7!&;!<==  >= ,=u+Ey*QRR$ $ SR$N B(9A(=#>??& & @?& & &r&   