
    -ia=                        S SK rS SKrS SKJr  S SKJrJrJrJ	r	  S SK
JrJrJr  S SKJr  S SKJr  S SKJrJrJrJrJr  S SKJr  S S	KJrJrJr  \R<                  " S
S/SS/SS
/SS/SS/SS//5      r/ SQr \R<                  " SS/SS/SS//5      r!/ SQr"\R<                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      r#/ SQr$\R<                  " / SQ/ SQ/ SQ/5      r%/ SQr&\RN                  " 5       r(\RR                  RU                  S 5      r+\+RY                  \(RZ                  R\                  5      r/\(R`                  \/   \(l0        \(RZ                  \/   \(l-        \" SSS S9u  r1r2S r3\\Rh                  Rk                  S\\ \!/\#\$\%/\1SS \2SS \1SS /\(R`                  \(RZ                  \(R`                  //5      \Rh                  Rk                  S / S!Q5      \Rh                  Rk                  S"\\-   5      S# 5       5       5       5       r6\Rh                  Rk                  S$\5      S% 5       r7\Rh                  Rk                  S&\5      S' 5       r8\\Rh                  Rk                  S$\5      \Rh                  Rk                  S / S(Q5      S) 5       5       5       r9\Rh                  Rk                  S$\5      S* 5       r:\Rh                  Rk                  S&\5      S+ 5       r;\Rh                  Rk                  S,\<" \\5      5      S- 5       r=\Rh                  Rk                  S$\5      S. 5       r>\Rh                  Rk                  S$\5      S/ 5       r?\Rh                  Rk                  S&\5      S0 5       r@S1 rA\Rh                  Rk                  S\S\!/\#S\%/\1SS S\1SS /\(R`                  S\(R`                  //5      \Rh                  Rk                  S / S!Q5      \Rh                  Rk                  S"\\-   5      \S2 5       5       5       5       rB\Rh                  Rk                  S$\5      S3 5       rC\Rh                  Rk                  S&\5      S4 5       rD\Rh                  Rk                  S&\5      S5 5       rES6 rFg)7    N)sparse)basedatasetslinear_modelsvm)load_digits
make_blobsmake_classification)ConvergenceWarning)test_svm)assert_allcloseassert_array_almost_equalassert_array_equalignore_warningsskip_if_32bit)safe_sparse_dot)CSR_CONTAINERSDOK_CONTAINERSLIL_CONTAINERS      )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   r   d   
   )	n_samplescentersrandom_statec                    [         R                  " U 5      nU R                  UR                  5       U5        [        R
                  " U5      (       a  UR                  5       nOUnUR                  X5        [        R
                  " UR                  5      (       d   e[        R
                  " UR                  5      (       d   e[        U R                  UR                  R                  5       5        [        U R                  UR                  R                  5       5        U R                  S:X  aU  [        R
                  " UR                  5      (       d   e[        U R                  UR                  R                  5       5        [        U R                  UR                  5        [        U R                  U5      UR                  U5      5        [        U R                  U5      UR                  U5      5        [        U R                  U5      UR                  U5      5        [        U [         R"                  5      (       a  SnO+[        U R%                  U5      UR%                  U5      SS9  Sn[        R
                  " U5      (       a4  [&        R(                  " [*        US9   U R                  U5        S S S 5        g g ! , (       d  f       g = f)Nlinearz>cannot use sparse input in 'OneClassSVM' trained on dense data   decimalz6cannot use sparse input in 'SVC' trained on dense datamatch)r   clonefittoarrayr   issparsesupport_vectors_
dual_coef_r   kernelcoef_r   support_predictdecision_function
isinstancer   OneClassSVMpredict_probapytestraises
ValueError)	dense_svmX_trainy_trainX_test
sparse_svmX_test_densemsgs          P/var/www/html/venv/lib/python3.13/site-packages/sklearn/svm/tests/test_sparse.pycheck_svm_model_equalr@   4   s    I&JMM'//#W-v~~'NN7$??:667777??:001111I..
0K0K0S0S0UVI((**?*?*G*G*IJ8#z//0000!)//:3C3C3K3K3MNI&&
(;(;<I%%l3Z5G5G5OP##L1:3O3OPV3W ##L1$$\2 )S__--N!##L1$$V,	

 Gv]]:S1f% 21 11s   $K  
KzX_train, y_train, X_testP   r-   )r!   polyrbfsigmoidsparse_containerc                 \    U" U 5      n [         R                  " SUSSSS9n[        XPX5        g)z3Check that sparse SVC gives the same result as SVC.r   Tr   ovo)gammar-   probabilityr   decision_function_shapeN)r   SVCr@   r9   r:   r;   r-   rE   clfs         r?   test_svcrN   ^   s7     w'G
'' %C #8    csr_containerc                   ^  [        SS9u  pT " USS 5      nUS S US S p![        SSS9nT " U5      n[        R                  " SSS	S
9R	                  X5      R
                  n[        R                  " SSS	S
9R	                  XR5      nUR
                  n[        XhR                  5       40 UD6  U 4S jn	U	" U5      n
U	" U5      nU
R                  (       a   eUR                  (       a   e[        R                  " SSS	S
9R	                  X5      nUR
                  n[        UR                  5       UR                  5       40 UD6  [        UR                  U5      UR                  U5      40 UD6  g )NT)
return_X_y2   r   g-q=g+=)rtolatolr!   r   )r-   rI   r   c                 X  > / n/ n[        S[        U R                  5      5       Hf  n[        U R                  US-
  US-    6 nUR	                  U R
                  U   S S S2   5        UR	                  U R                  U   S S S2   5        Mh     T" XU R                  4U R                  S9$ )Nr   r   )shape)rangelenindptrsliceextenddataindicesrW   )Xnew_datanew_indicesi	row_slicerP   s        r?   scramble_indices/test_unsorted_indices.<locals>.scramble_indices   s    q#ahh-(AqxxAA67IOOAFF9-dd34qyy3DbD9: ) hQXX>aggNNrO   )
r   dictr   rK   r(   r.   r   r)   has_sorted_indicesr4   )rP   r_   yr;   tolsX_sparse
coef_dense
sparse_svccoef_sortedrd   X_sparse_unsortedX_test_unsortedunsorted_svccoef_unsorteds   `             r?   test_unsorted_indicesrr   x   sl   
 $'DA1R9%FSb61Sb6qU'DQHxTBFFqLRR  dKOOJ ""KJ 3 3 5>>O )2&v.O 3333111177(1MQQL !&&MM))+[-@-@-BKdK  1  ( rO   lil_containerc                    S nU " [         5      n[        R                  " SS9R                  U[        5      n[        R                  " US9R                  U[        5      n[        UR                  U5      UR                  U5      5        g )Nc                 ,    [        XR                  5      $ N)r   Txrh   s     r?   kfunc*test_svc_with_custom_kernel.<locals>.kfunc   s    q##&&rO   r!   r-   r_   r   rK   r(   Yr   r0   )rs   rz   X_spclf_lin	clf_mylins        r?   test_svc_with_custom_kernelr      sg    ' DggX&**43Gu%))$2Iwt,i.?.?.EFrO   )r!   rB   rC   c                    U " [         R                  5      n[        R                  " US9R	                  U[         R
                  5      n[        R                  " US9R	                  [         R                  [         R
                  5      n[        UR                  UR                  R                  5       5        [        UR                  UR                  R                  5       5        [        UR                  [         R                  5      UR                  U5      5        US:X  a/  [        UR                  UR                  R                  5       5        g g )Nr|   r!   )irisr]   r   rK   r(   targetr   r+   r)   r,   r0   r.   )rP   r-   iris_data_spsp_clfrM   s        r?   test_svc_irisr      s    
 !+LWWF#''dkkBF
''
 
$
$TYY
<CC((&*A*A*I*I*KLCNNF$5$5$=$=$?@CKK		*FNN<,HI		6<<#7#7#9: rO   c                 b   U " [         R                  5      n[        R                  " SSSS9nUR	                  U[         R
                  5      n[        XR                  R                  5      UR                  -   n[        XCR                  U5      5        UR	                  [        [        5        [        R                  " [        UR                  R                  5      UR                  -   nUR!                  [        5      n[        UR#                  5       UR                  [        5      5        [        XSR$                  UR                  [        5      S:  R'                  [(        5      R#                  5          5        [        R*                  " / SQ5      n[-        UR                  [        5      USS9  g )	Nr!   皙?rG   )r-   CrJ   r   )      gQr   gQ?      ?r   r   r#   )r   r]   r   rK   r(   r   r   r.   rw   
intercept_r   r1   r_   r~   npdotr0   ravelclasses_astypeintarrayr   )rP   r   svcrM   dec
predictionexpecteds          r?   test_sparse_decision_functionr      s    !+L
''S%
HC
'',
,C
,		
4s~~
ECC..|<= GGAqM
&&CIIKK
 3>>
1CQJCIIK!6!6q!9:LL#"7"7":Q">!F!Fs!K!Q!Q!ST xx;<Hc33A6!LrO   c                 T   [         R                  " 5       nU " [        5      n[        S S n[        R
                  " [        5         UR                  X#5        S S S 5        UR                  U[        5        [        UR                  [        5      [        5        g ! , (       d  f       NH= f)Nr   )r   rK   r_   r~   r5   r6   r7   r(   r   r0   rw   true_result)rs   rM   r   Y2s       r?   
test_errorr      sl     '')CD	
3BB	z	" 
# GGD!s{{1~{3	 
#	"s   B
B'zlil_container, dok_containerc                    U " [         5      nU" [        5      n[        R                  " SS9R	                  [         [
        5      n[        R                  " SS9R	                  U[
        5      nUR                  (       d   e[        UR                  UR                  SS9  [        UR                  UR                  SS9  [        UR                  [         5      UR                  U5      5        UR	                  [        [        5        UR	                  U[        5        [        UR                  UR                  SS9  [        UR                  UR                  SS9  g )Nr   r   r"   r#   )r_   X2r   	LinearSVCr(   r~   fit_interceptr   r.   r   r   r0   r   )rs   dok_containerr   X2_sprM   r   s         r?   test_linearsvcr      s    
 D"E
--Q
'
+
+Aq
1C]]*..tQ7FciiqAcnnf.?.?KCKKNFNN4$89GGBO
JJubciiqAcnnf.?.?KrO   c                 x   U " [         R                  5      n[        R                  " SS9R	                  U[         R
                  5      n[        R                  " SS9R	                  [         R                  [         R
                  5      nUR                  UR                  :X  d   e[        UR                  UR                  SS9  [        UR                  UR                  SS9  [        UR                  [         R                  5      UR                  U5      5        [        R                  " UR                  U5      SS9n[        XCR                  [         R                  5      5        UR                  5         [!        XCR                  U5      5        UR                  5         [!        XBR                  U5      5        g )Nr   r   r   r#   )axis)r   r]   r   r   r(   r   r   r   r.   r   r   r0   r   argmaxr1   sparsifyr   )rP   r   r   rM   preds        r?   test_linearsvc_irisr   	  s!    !+L]]*..|T[[IF
--Q
'
+
+DIIt{{
CC 4 4444ciiqAcnnf.?.?KCKK		*FNN<,HI 99V--l;!DDD++dii01 LLNt[[67
OOt^^L9:rO   c                 x   [        SSSS/SS9u  pU " U5      n[        R                  " 5       [        R                  " SS9[        R
                  " 5       4 Ha  nUR                  SS0S	9  UR                  US S
 US S
 5        UR                  US
S  5      n[        R                  " XBS
S  :H  5      S:  a  Ma   e   g )N   r   g-?gK7A`?r   )r   
n_featuresweightsr   r      )class_weight      )r
   r   LogisticRegressionr   r   rK   
set_paramsr(   r0   r   sum)rP   X_y_rM   y_preds        r?   test_weightr   #  s     !#u~AFB 
r	B'')1%	
 	QF+4C"Tc(#RX&vvf34()R///rO   c                 F   U " [         5      n[        R                  " 5       nUR                  U[        5        [        UR                  [         S   /5      S/5        S/S-  S/S-  -   nUR                  U[        US9  [        UR                  [         S   /5      S/5        g )Nr   r   r   r   r   )sample_weight       @r}   )rs   r   rM   r   s       r?   test_sample_weightsr   6  s     D
'')CGGD!s{{AaD6*SE2EAIq(MGGD!=G1s{{AaD6*SE2rO   c                  L    [         R                  " [        R                  5        g rv   )r   'test_dense_liblinear_intercept_handlingr   r    rO   r?   (test_sparse_liblinear_intercept_handlingr   D  s    44S]]CrO   c                 V    U" U 5      n [         R                  " SUS9n[        XPX5        g )Nr   )rH   r-   )r   r3   r@   rL   s         r?   test_sparse_oneclasssvmr   I  s(     w'G
//&
1C#8rO   c                    [         R                  " / SQ5      n[         R                  " / SQ[         R                  S9n[         R                  " S/S-  S/S-  -   S/S	-  -   S
/S-  -   [         R                  S9nU " XU45      n[         R                  " / SQ5      n[        R                  " SS9R                  UR                  5       U5      n[        R                  " SS9R                  UR                  5       U5      n[        UR                  UR                  R                  5       5        [        UR                  UR                  R                  5       5        g )N)g!FO?gJ:o?g[?g?)   r   #      )dtyper      r       r   &   r"   r   )Pr           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   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   r   r   r   r!   r|   )r   r   int32r   rK   r(   r)   tocoor   r+   r,   )rP   r]   r^   rZ   r_   rh   rM   r   s           r?   test_sparse_realdatar   ]  s	   
 88ABD hh~RXX6GXXqcAgb(A383qcAg=RXXNFtf-.A
Q	
S	Aj ''
"
&
&qyy{A
6CWWH%))!'')Q7Fs++V-D-D-L-L-NOs~~v'8'8'@'@'BCrO   c                    [         R                  " SS SSS9n[        R                  " U5      nU " [        5      nUR                  U[        5        UR                  U5      nUR                  U5        [         R                  " SS SSS9nUR                  [        [        5      R                  [        5      n[        Xd5        g )Nr   c                     XR                   -  $ rv   rw   rx   s     r?   <lambda><test_sparse_svc_clone_with_callable_kernel.<locals>.<lambda>  s
    SSrO   Tr   )r   r-   rI   r   c                 B    [         R                  " XR                  5      $ rv   )r   r   rw   rx   s     r?   r   r     s    33rO   )
r   rK   r   r'   r_   r(   r~   r0   r4   r   )rs   abr   r   r8   
pred_denses          r?   *test_sparse_svc_clone_with_callable_kernelr     s     	!0dQRSA

1ADEE$N99T?DOOD
/TPQI q!$,,Q/Jz(rO   c                     [         R                  " SS SSSS9nSn[        R                  " [        US9   UR                  U " [        5      [        5        S S S 5        g ! , (       d  f       g = f)Nr   c                     XR                   -  $ rv   r   rx   s     r?   r   test_timeout.<locals>.<lambda>  s
    SSrO   Tr   )r   r-   rI   r   max_iterzoSolver terminated early \(max_iter=1\).  Consider pre-processing your data with StandardScaler or MinMaxScaler.r%   )r   rK   r5   warnsr   r(   r_   r~   )rs   spwarning_msgs      r?   test_timeoutr     sW    	
(dUV
B	:  
(	<
}Q# 
=	<	<s   !A
A-c                     [         R                  " SSSS9n [        [        S9   U R	                  [
        [        5      R                  [
        5      nS S S 5        [         R                  " SSSS9n [        [        S9   U R	                  [
        [        5      R                  [
        5      nS S S 5        [        WW5        g ! , (       d  f       Nt= f! , (       d  f       N,= f)NTr   r   )rI   r   r   )category)	r   rK   r   r   r(   r_   r~   r4   r   )r   proba_1proba_2s      r?   test_consistent_probar     s    D11=A	"4	5%%1+++A. 
6D11=A	"4	5%%1+++A. 
6GW% 
6	5 
6	5s   .C =.C 
C
C)Gnumpyr   r5   scipyr   sklearnr   r   r   r   sklearn.datasetsr   r	   r
   sklearn.exceptionsr   sklearn.svm.testsr   sklearn.utils._testingr   r   r   r   r   sklearn.utils.extmathr   sklearn.utils.fixesr   r   r   r   r_   r~   rw   r   r   r   T2true_result2	load_irisr   randomRandomStaterngpermutationr   sizepermr]   X_blobsy_blobsr@   markparametrizerN   rr   r   r   r   r   zipr   r   r   r   r   r   r   r   r   r   r   rO   r?   <module>r     s      5 5 I I 1 &  2  HHr2hR2r(QFQFQFCDHHr2hAA'( XX XX|Y	23iiA
t{{''(IIdO	kk$RaH '&T 	
Aq		R	"ws|WRS\2	DKK+	 #GH+^n-LM9 N I 9 .9. :.b .9G :G .9#<=; > : ; .9M :M6 .9
4 :
4 "C$GLL, .9; :;2 .90 :0$ .9
3 :
3D
 	
D!	T2	"tWRS\*	D$))$	 #GH+^n-LM9  N I9 .9gD :gDT .9) :)& .9	$ :	$&rO   