Ë
    ÜÍ:j%Ï  ã                   óZ  — d Z ddlZddlZddlmZmZmZmZ ddl	m
Z
mZmZmZmZ ddlmZmZmZ ddlmZm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 m!Z!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+m,Z,m-Z- ddl.m/Z/ ddgddgddgddgddgddggZ0g d¢Z1ddgddgddggZ2g d¢Z3d„ Z4d„ Z5ejl                  jn                  d„ «       Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d „ Z?d!„ Z@d"„ ZAejl                  jn                  ejl                  j…                  d#«      d$„ «       «       ZCd%„ ZDejl                  j‹                  d&ejŒ                  ejŽ                  f«      d'„ «       ZHd(„ ZId)„ ZJejl                  j‹                  d* ejŒ                  d+¬,«       ejŽ                  «       g«      d-„ «       ZKejl                  j‹                  d* ej>                  d+¬,«       ejD                  d+¬,«      g«      d.„ «       ZLd/„ ZMejl                  j‹                  d0ejŒ                  d1fejŽ                  d2fej>                  d1fejD                  d1fejF                  d1fgg d3¢¬4«      ejl                  j‹                  d5dg eNe1«      z  d6g eNe1«      z  gd7d8g¬4«      d9„ «       «       ZOejl                  j‹                  d:ejŒ                  d;fejŽ                  d<fgd=d>g¬4«      ejl                  j‹                  d5g d?¢g d@¢gdAdBg¬4«      dC„ «       «       ZPejl                  j‹                  dDejŒ                  dEdFgdFdGgdHœfejŽ                  dIdIgdIdIgdHœfgd=d>g¬4«      ejl                  j‹                  dJg dK¢dLfg dM¢dNfgdOdPg¬4«      dQ„ «       «       ZQejl                  j‹                  dRejŒ                  ejŽ                  ejD                  gg dS¢¬4«      ejl                  j‹                  d5g dK¢g dM¢gdOdPg¬4«      dT„ «       «       ZRdU„ ZSejl                  j‹                  dVe-«      dW„ «       ZTdX„ ZUejl                  j‹                  dYe,«      dZ„ «       ZVejl                  j‹                  dYe,«      d[„ «       ZWejl                  j‹                  d\d]d^g«      ejl                  j‹                  d_d`dag«      ejl                  j‹                  dbdcddg«      de„ «       «       «       ZXdf„ ZYdg„ ZZdh„ Z[di„ Z\dj„ Z]ej@                  dkfdl„Z^dm„ Z_dn„ Z`ejl                  jn                  do„ «       Zadp„ Zbdq„ Zcdr„ Zdds„ Zedt„ Zfdu„ Zgdv„ Zhdw„ Ziejl                  j…                  d#«      dx„ «       Zjdy„ Zkdz„ Zlejl                  j‹                  d{ejŒ                  ejŽ                  g«      d|„ «       Zmejl                  j‹                  d{ejŒ                  ejŽ                  g«      d}„ «       Znd~„ Zoejl                  jn                  ejl                  j‹                  de d`d^ddd€œfe dad^dcd€œfe dad^ddd€œfe dad]dcd€œfe!d�dcd‚œfe!dƒdcd‚œfe!dƒdcd‚œfg«      d„„ «       «       Zpejl                  j‹                  d…e#ee"f«      d†„ «       Zqejl                  j‹                  dRejŒ                  ej>                  g«      d‡„ «       Zrdˆ„ Zsejl                  j‹                  d‰ejŒ                  ejè                  fejŽ                  ejè                  fej>                  eufejD                  eufejF                  eufg«      ejl                  j‹                  dŠg d‹¢«      dŒ„ «       «       Zvejl                  j‹                  d\d^dƒg«      d�„ «       ZwdŽ„ Zxejl                  j‹                  d�ejŒ                  efej>                  efg«      ejl                  j‹                  d�ejò                   ezd‘«      g«      d’„ «       «       Z{ejl                  j‹                  d“ejŒ                  d=fejŽ                  d>fg«      ejl                  j‹                  d”dcddg«      d•„ «       «       Z|ejl                  j‹                  d–ejŒ                  ejŽ                  g«      d—„ «       Z}y)˜zr
Testing for Support Vector Machine module (sklearn.svm)

TODO: remove hard coded numerical results when possible
é    N)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)ÚbaseÚdatasetsÚlinear_modelÚmetricsÚsvm)Ú
make_blobsÚmake_classificationÚmake_regression)ÚConvergenceWarningÚNotFittedError)Úf1_score)Ú
rbf_kernel)Útrain_test_split)ÚOneVsRestClassifier)ÚSVRÚ	LinearSVCÚ	LinearSVRÚNuSVRÚOneClassSVMÚ_libsvm)Ú_validate_dual_parameter)Úcheck_random_stateÚshuffle)Ú	_IS_32BITÚCSR_CONTAINERSÚLIL_CONTAINERS)Ú_num_sampleséþÿÿÿéÿÿÿÿé   é   )r$   r$   r$   r%   r%   r%   é   )r$   r%   r%   c                 óÞ   — t        j                  «       }t        | «      }|j                  |j                  j
                  «      }|j                  |   |_        |j                  |   |_        |S ©N)r   Ú	load_irisr   ÚpermutationÚtargetÚsizeÚdata)Úrandom_seedÚirisÚrngÚperms       úo/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/svm/tests/test_svm.pyÚget_iris_datasetr3   0   sV   € Ü×ÑÓ€DÜ
˜[Ó
)€CØ�?‰?˜4Ÿ;™;×+Ñ+Ó,€DØ—	‘	˜$‘€D„IØ—+‘+˜dÑ#€D„KØ€Kó    c                  ó‚  — t        j                  d¬«      j                  t        t        «      } t        | j                  ddgg«       t        | j                  ddg«       t        | j                  t        d   t        d   f«       t        | j                  dg«       t        | j                  t        «      t        «       y )NÚlinear©Úkernelç      Ð¿ç      Ð?r$   r&   ç        )r   ÚSVCÚfitÚXÚYr   Ú
dual_coef_Úsupport_Úsupport_vectors_Ú
intercept_Úpredict©Úclfs    r2   Útest_libsvm_parametersrG   9   s�   € ä
�'‰'˜Ô
"×
&Ñ
&¤q¬!Ó
,€CÜ�s—~‘~¨°¨ Ô7Ü�s—|‘| a¨ VÔ,Ü�s×+Ñ+¬a°©d´A°a±D¨\Ô:Ü�s—~‘~¨ uÔ-Ü�s—{‘{¤1“~¤qÕ)r4   c           	      óÐ  — t        | «      }dD ]�  }t        j                  |¬«      j                  |j                  |j
                  «      }t        j                  |j                  |j                  «      |j
                  k(  «      dkD  sJ ‚t        |d«      |dk(  k(  rŒ�J ‚ t        j                  t        j                  |j                  «      «       t        j                  |j                  |j
                  j                  t        j                  «      «      \	  }}}}}}	}
}}||||||	|
dœ}t        j                  |j                  fi |¤Ž}t        j                  ||j
                  k(  «      dkD  sJ ‚t        j                  |j                  |j
                  j                  t        j                  «      d¬«      \	  }}}}}}	}
}}||||||	|
dœ}t        j                  |j                  fi |¤ddi¤Ž}t        j                  ||j
                  k(  «      dkD  sJ ‚t        j                   |j                  |j
                  j                  t        j                  «      d	dd
¬«      }t        j                  ||j
                  k(  «      dkD  sJ ‚t        j                   |j                  |j
                  j                  t        j                  «      d	dd
¬«      }t        ||«       y )N)r6   Úrbfr7   çÍÌÌÌÌÌì?Úcoef_r6   )ÚsupportÚSVÚnSVÚsv_coefÚ	interceptÚprobAÚprobBgffffffî?r8   é   r   )r8   r.   )r3   r   r<   r=   r-   r+   ÚnpÚmeanrD   Úhasattrr   Úclasses_Úsortr   ÚastypeÚfloat64Úcross_validation)Úglobal_random_seedr/   ÚkrF   Úlibsvm_supportÚlibsvm_support_vectorsÚlibsvm_n_class_SVÚlibsvm_sv_coefÚlibsvm_interceptÚlibsvm_probAÚlibsvm_probBÚlibsvm_fit_statusÚlibsvm_n_iterÚmodel_paramsÚpredÚpred2s                   r2   Útest_libsvm_irisrj   F   s}  € ô Ð.Ó/€Dàò 8ˆÜ�g‰g˜QÔ×#Ñ# D§I¡I¨t¯{©{Ó;ˆÜ�w‰w�s—{‘{ 4§9¡9Ó-°·±Ñ<Ó=ÀÒCÐCÐCÜ�s˜GÓ$¨¨h©Ó7Ð7Ð7ð8ô
 �s—|‘|¤R§W¡W¨S¯\©\Ó%:Ô;ô  	�‰�D—I‘I˜tŸ{™{×1Ñ1´"·*±*Ó=Ó>ñØØØØØØØàØð "Ø$Ø Ø!Ø%ØØñ€Lô �?‰?˜4Ÿ9™9Ñ5¨Ñ5€DÜ�7‰7�4˜4Ÿ;™;Ñ&Ó'¨$Ò.Ð.Ð.ô 	�‰�D—I‘I˜tŸ{™{×1Ñ1´"·*±*Ó=ÀhÔOñØØØØØØØàØð "Ø$Ø Ø!Ø%ØØñ€Lô �?‰?˜4Ÿ9™9ÑF¨ÑF¸XÒF€DÜ�7‰7�4˜4Ÿ;™;Ñ&Ó'¨$Ò.Ð.Ð.ä×#Ñ#Ø�	‰	�4—;‘;×%Ñ%¤b§j¡jÓ1°1¸XÐSTô€Dô �7‰7�4˜4Ÿ;™;Ñ&Ó'¨$Ò.Ð.Ð.ô
 ×$Ñ$Ø�	‰	�4—;‘;×%Ñ%¤b§j¡jÓ1°1¸XÐSTô€Eô �t˜UÕ#r4   c                  óD
  — t        j                  d¬«      } t        j                  t        t        j
                  t        «      j                  «      }| j                  |t        «       t        j                  t        t        j
                  t        «      j                  «      }| j                  |«      }t        j                  t        «      5  | j                  |j                  «       d d d «       t        | j                  ddgg«       t        | j                  ddg«       t        | j                   dg«       t#        | j                  ddg«       t        |t$        «       t        j&                  |«      }t)        t+        t        «      «      D ]<  }| j                  D ]+  }t        j                  t        |   t        |   «      |||f<   Œ- Œ> | j                  |«      }t        |t$        «       d„ }t        j                  |¬«      } | j                  t        j
                  t        «      t        «       | j                  t        «      }t        | j                  ddgg«       t        | j                   dg«       t#        | j                  ddg«       t        |t$        «       t        j                  d¬«      } t        j                  d	¬«      }t-        d
«      }t        j                  |j.                  |j.                  j                  «      }| j                  ||j0                  «       |j                  |j.                  |j0                  «       | j                  |«      }t#        | j                  |j                  «       t#        | j                  |j                  «       t#        | j                   |j                   «       t3        t        j4                  ||j0                  k(  «      dd¬«       t        j&                  |«      }t)        t+        |j.                  «      «      D ]H  }| j                  D ]7  }t        j                  |j.                  |   |j.                  |   «      |||f<   Œ9 ŒJ | j                  |«      }t3        t        j4                  ||j0                  k(  «      dd¬«       t        j                  |¬«      } | j                  |j.                  |j0                  «       t3        t        j4                  ||j0                  k(  «      dd¬«       y # 1 sw Y   �Œ.xY w)NÚprecomputedr7   r9   r:   r$   r&   r   c                 óB   — t        j                  | |j                  «      S r(   ©rT   ÚdotÚT©ÚxÚys     r2   Úkfuncztest_precomputed.<locals>.kfunc¸   s   € Ü�v‰v�a˜Ÿ™‹~Ðr4   r6   é*   g®Gáz®ï?r%   ©Údecimal)r   r<   rT   ro   r>   Úarrayrp   r=   r?   rD   ÚpytestÚraisesÚ
ValueErrorr   r@   rA   rC   r   Útrue_resultÚ
zeros_likeÚrangeÚlenr3   r-   r+   r   rU   )	rF   ÚKÚKTrh   ÚiÚjrt   Úclf2r/   s	            r2   Útest_precomputedr…   —   sz  € ô �'‰'˜Ô
'€Cô 	�‰Œq”"—(‘(œ1“+—-‘-Ó €AØ‡G�GˆAŒq„Mä	�‰””2—8‘8œA“;—=‘=Ó	!€BØ�;‰;�r‹?€DÜ	�‰”zÓ	"ñ Ø�‰�B—D‘DÔ÷ô �s—~‘~¨°¨ Ô7Ü�s—|‘| a¨ VÔ,Ü�s—~‘~¨ sÔ+Ü˜cŸl™l¨Q°¨FÔ3Ü�tœ[Ô)ô 
�‰�rÓ	€BÜ”3”q“6‹]ò *ˆØ—‘ò 	*ˆAÜ—v‘vœa ™d¤A a¡DÓ)ˆBˆq�!ˆtŠHñ	*ð*ð �;‰;�r‹?€DÜ�tœ[Ô)ò
ô �'‰'˜Ô
€CØ‡G�GŒB�H‰H”Q‹KœÔØ�;‰;”q‹>€Dä�s—~‘~¨°¨ Ô7Ü�s—~‘~¨ sÔ+Ü˜cŸl™l¨Q°¨FÔ3Ü�tœ[Ô)ô �'‰'˜Ô
'€CÜ�7‰7˜(Ô#€DÜ˜BÓ€DÜ
�‰ˆt�y‰y˜$Ÿ)™)Ÿ+™+Ó&€AØ‡G�GˆAˆt�{‰{ÔØ‡H�HˆT�Y‰Y˜Ÿ™Ô$Ø�;‰;�q‹>€DÜ˜cŸl™l¨D¯M©MÔ:Ü˜cŸn™n¨d¯o©oÔ>Ü˜cŸn™n¨d¯o©oÔ>ÜœŸ™ ¨¯©Ñ 3Ó4°dÀAÕFô 	�‰�aÓ€AÜ”3�t—y‘y“>Ó"ò 9ˆØ—‘ò 	9ˆAÜ—f‘f˜TŸY™Y q™\¨4¯9©9°Q©<Ó8ˆAˆa�ˆdŠGñ	9ð9ð �;‰;�q‹>€DÜœŸ™ ¨¯©Ñ 3Ó4°dÀAÕFä
�'‰'˜Ô
€CØ‡G�GˆD�I‰I�t—{‘{Ô#ÜœŸ™ ¨¯©Ñ 3Ó4°dÀAÖF÷yñ ús   ÃTÔTc                  ó  — t        j                  «       } t        j                  ddd¬«      t        j                  ddd¬«      t        j                  dd¬«      t        j
                  d¬«      t        j
                  d¬«      fD ]S  }|j                  | j                  | j                  «       |j                  | j                  | j                  «      dkD  rŒSJ ‚ t        j                  «       j                  | j                  t        j                  t        | j                  «      «      «       t        j
                  «       j                  | j                  t        j                  t        | j                  «      «      «       y )	Nr6   çš™™™™™Ù?ç      ð?)r8   ÚnuÚCç      $@©r8   rŠ   ©rŠ   g{®Gáz”?)r   Úload_diabetesr   r   r   r   r=   r-   r+   ÚscorerT   Úonesr   )ÚdiabetesrF   s     r2   Útest_svrr’   á   sü   € ô ×%Ñ%Ó'€Hä�	‰	˜ c¨SÔ1Ü�	‰	˜ c¨TÔ2Ü�‰�x 4Ô(Ü�‰˜ÔÜ�‰˜Ôðò @ˆð 	�‰�—‘˜xŸ™Ô/Ø�y‰y˜Ÿ™¨¯©Ó8¸4Ó?Ð?Ð?ð@ô ‡G�GƒI‡M�M�(—-‘-¤§¡¬¨X¯]©]Ó);Ó!<Ô=Ü‡M�MƒO×Ñ˜Ÿ™¤r§w¡w¬s°8·=±=Ó/AÓ'BÕCr4   c                  ó€  — t        j                  «       } t        j                  d¬«      j	                  | j
                  | j                  «      }|j                  | j
                  | j                  «      }t        j                  dd¬«      j	                  | j
                  | j                  «      }|j                  | j
                  | j                  «      }t        t        j                  j                  |j                  «      t        j                  j                  |j                  «      dd«       t        ||d«       y )Nç     @�@r�   r6   rŒ   r$   ç-Cëâ6?r%   )r   rŽ   r   r   r=   r-   r+   r�   r   r   rT   ÚlinalgÚnormrK   r   )r‘   ÚlsvrÚscore1ÚsvrÚscore2s        r2   Útest_linearsvrrœ   õ   sÆ   € ô ×%Ñ%Ó'€HÜ�=‰=˜3Ô×#Ñ# H§M¡M°8·?±?ÓC€DØ�Z‰Z˜Ÿ™ x§¡Ó7€Fä
�'‰'˜ SÔ
)×
-Ñ
-¨h¯m©m¸X¿_¹_Ó
M€CØ�Y‰Y�x—}‘} h§o¡oÓ6€Fä”B—I‘I—N‘N 4§:¡:Ó.´·	±	·±¸s¿y¹yÓ0IÈ1ÈfÔUÜ˜ ¨Õ*r4   c                 ó$  — t        j                  «       }t        |j                  «      }t	        j
                  |«      }t        j                  ddd¬«      j                  |j                  |j                  |¬«      }|j                  |j                  |j                  «      }t        j                  ddd¬«      j                  |j                  |j                  «      }|j                  |j                  |j                  «      }t        t        j                  j                  |j                  «      t        j                  j                  |j                  «      dd«       t        ||d«       t        j                   j#                  | «      }|j%                  d	d
|«      }	t        j                  ddd¬«      j                  |j                  |j                  |	¬«      }
|
j                  |j                  |j                  |	¬«      }t	        j&                  |j                  |	d	¬«      }t	        j&                  |j                  |	d	¬«      }t        j                  ddd¬«      j                  ||«      }|j                  ||«      }t        ||d«       y )Nr”   çê-�™—q=i'  )rŠ   ÚtolÚmax_iter©Úsample_weightr$   r•   r%   r   é
   ©Úaxis)r   rŽ   r   r+   rT   r�   r   r   r=   r-   r�   r   r–   r—   rK   r   ÚrandomÚRandomStateÚrandintÚrepeat)r\   r‘   Ú	n_samplesÚunit_weightr˜   r™   Úlsvr_no_weightr›   r0   Úrandom_weightÚlsvr_unflatÚscore3ÚX_flatÚy_flatÚ	lsvr_flatÚscore4s                   r2   Útest_linearsvr_fit_sampleweightr´     sì  € ô ×%Ñ%Ó'€HÜ�H—O‘OÓ$€IÜ—'‘'˜)Ó$€KÜ�=‰=˜3 E°EÔ:×>Ñ>Ø�‰�x—‘°kð ?ó €Dð �Z‰Z˜Ÿ™ x§¡Ó7€Fä—]‘] S¨e¸eÔD×HÑHØ�‰�x—‘ó€Nð ×!Ñ! (§-¡-°·±ÓA€FäÜ
�	‰	�‰�t—z‘zÓ"¤B§I¡I§N¡N°>×3GÑ3GÓ$HÈ!ÈVôô ˜ ¨Ô*ô �)‰)×
Ñ
Ð 2Ó
3€CØ—K‘K  2 yÓ1€MÜ—-‘- #¨5¸5ÔA×EÑEØ�‰�x—‘°mð Fó €Kð ×ÑØ�‰�x—‘°mð ó €Fô �Y‰Y�x—}‘} m¸!Ô<€FÜ�Y‰Y�x—‘¨¸AÔ>€FÜ—‘ ¨¸Ô?×CÑCÀFÈFÓS€IØ�_‰_˜V VÓ,€Fä˜ ¨Õ*r4   c                  óè   — dgdgg} ddg}t        j                  d„ ¬«      }|j                  | |«       t        j                  t
        «      5  |j                  | «       d d d «       y # 1 sw Y   y xY w)Nr;   rˆ   g      à?c                 ó0   — t        j                  dgg«      S )Nrˆ   )rT   rx   rq   s     r2   ú<lambda>z!test_svr_errors.<locals>.<lambda>1  s   € ¤b§h¡h°°¨wÓ&7€ r4   r7   )r   r   r=   ry   rz   r{   rD   ©r>   rs   rF   s      r2   Útest_svr_errorsr¹   ,  sb   € Ø
ˆ��ˆ€AØ	ˆcˆ
€Aô �'‰'Ñ7Ô
8€CØ‡G�GˆAˆq„MÜ	�‰”zÓ	"ñ Ø�‰�AŒ÷÷ ñ ús   ÁA(Á(A1c                  ó¾  ‡— t        j                  «       Š‰j                  t        «       ‰j	                  t
        «      } t        | g d¢«       | j                  t        j                  d«      k(  sJ ‚t        ‰j                  dgd¬«       t        ‰j                  g d¢gd¬«       t        j                  t        «      5   ˆfd„«        d d d «       y # 1 sw Y   y xY w)N)r$   r#   r#   Úintpg°rh‘í|ó¿r&   rv   )ç      è?r¼   r¼   r¼   c                  ó   •— ‰ j                   S r(   )rK   rE   s   €r2   r·   ztest_oneclass.<locals>.<lambda>B  s   ø€ �—‘€ r4   )r   r   r=   r>   rD   rp   r   ÚdtyperT   r   rC   r@   ry   rz   ÚAttributeError)rh   rF   s    @r2   Útest_oneclassrÀ   7  sš   ø€ ä
�/‰/Ó
€CØ‡G�GŒA„JØ�;‰;”q‹>€Dä�tš[Ô)Ø�:‰:œŸ™ &Ó)Ò)Ð)Ð)Ü˜cŸn™n¨v¨hÀÕBÜ˜cŸn™nÒ/KÐ.LÐVWÕXÜ	�‰”~Ó	&ñ Ü	Ô÷÷ ñ ús   Â?CÃCc                  óø  — t        j                  «       } t        d«      }d|j                  dd«      z  }t        j
                  |dz   |dz
  f   }d|j                  dd«      z  }t        j
                  |dz   |dz
  f   }|j                  ddd¬«      }t        j                  d	d
d	¬«      } | j                  |«       | j                  |«      }t	        j                  |dk(  «      dkD  sJ ‚| j                  |«      }t	        j                  |dk(  «      dkD  sJ ‚| j                  |«      }t        |dkD  j                  «       |dk(  «       | j                  |«      }	t        |	dkD  j                  «       |dk(  «       y )Nr%   ç333333Ó?éd   é   éüÿÿÿé   )rÄ   r%   )ÚlowÚhighr,   çš™™™™™¹?rI   )r‰   r8   Úgammar$   rJ   r#   r   )r   r   r   ÚrandnrT   Úr_Úuniformr=   rD   rU   Údecision_functionr   Úravel)
rF   Úrndr>   ÚX_trainÚX_testÚ
X_outliersÚy_pred_testÚy_pred_outliersÚdec_func_testÚdec_func_outlierss
             r2   Útest_oneclass_decision_functionrØ   F  s`  € ä
�/‰/Ó
€CÜ
˜QÓ
€Cð 	ˆc�i‰i˜˜QÓÑ€AÜ�e‰e�A˜‘E˜1˜q™5�LÑ!€Gð 	ˆc�i‰i˜˜AÓÑ€AÜ�U‰U�1�q‘5˜!˜a™%�<Ñ €Fà—‘ ¨!°'�Ó:€Jô �/‰/˜S¨°cÔ
:€CØ‡G�GˆGÔð —+‘+˜fÓ%€KÜ�7‰7�; !Ñ#Ó$ sÒ*Ð*Ð*Ø—k‘k *Ó-€OÜ�7‰7�? bÑ(Ó)¨CÒ/Ð/Ð/Ø×)Ñ)¨&Ó1€MÜ˜¨Ñ)×0Ñ0Ó2°KÀ1Ñ4DÔEØ×-Ñ-¨jÓ9ÐÜÐ)¨AÑ-×4Ñ4Ó6¸È1Ñ8LÕMr4   c                  óÞ   — ddgddgddgg} t        j                  d¬«      j                  | «      }t        |j	                  ddgg«      |j                  ddgg«      |j                  z   «       y )Nr$   r%   ©rÊ   g       @)r   r   r=   r   Úscore_samplesrÎ   Úoffset_)rÑ   rF   s     r2   Útest_oneclass_score_samplesrÝ   d  sl   € Ø�1ˆv˜˜1�v  1˜vÐ&€GÜ
�/‰/ Ô
"×
&Ñ
& wÓ
/€CÜØ×Ñ˜C ˜:˜,Ó'Ø×Ñ  S˜z˜lÓ+¨c¯k©kÑ9õr4   c                  óN  — t        j                  dd¬«      } | j                  t        t        «       t        | j                  ddgg«       t        | j                  ddgg«      dg«       t        j                  ddgg«      | _
        t        | j                  ddgg«      d	g«       y )
Nr6   rˆ   rŒ   r9   r:   çš™™™™™¹¿r$   r;   r%   )r   r<   r=   r>   r?   r   r@   rD   rT   rx   Ú_dual_coef_rE   s    r2   Útest_tweak_paramsrá   m  s�   € ô �'‰'˜ SÔ
)€CØ‡G�GŒAŒq„MÜ�s—~‘~¨°¨ Ô7Ü�s—{‘{ T¨4 L >Ó2°Q°CÔ8Ü—h‘h  c 
˜|Ó,€C„OÜ�s—{‘{ T¨4 L >Ó2°Q°CÕ8r4   zignore::FutureWarningc           	      óÔ  — t        | «      }t        j                  d| d¬«      t        j                  d| ¬«      fD �]*  }|j	                  |j
                  |j                  «       |j                  |j
                  «      }t        t        j                  |d«      t        j                  |j
                  j                  d   «      «       t        j                  t        j                  |d«      |j                  |j
                  «      k(  «      dkD  sJ ‚t!        |j                  |j
                  «      t        j"                  |j%                  |j
                  «      «      d«       �Œ- y )	NTrˆ   )ÚprobabilityÚrandom_staterŠ   )rã   rä   r$   r   rJ   é   )r3   r   r<   ÚNuSVCr=   r-   r+   Úpredict_probar   rT   Úsumr�   ÚshaperU   ÚargmaxrD   r   ÚexpÚpredict_log_proba)r\   r/   rF   Úprob_predicts       r2   Útest_probabilityrî     s  € ô
 Ð.Ó/€Dô 	�‰˜DÐ/AÀSÔIÜ�	‰	˜dÐ1CÔDðó 
ˆð 	�‰�—	‘	˜4Ÿ;™;Ô'à×(Ñ(¨¯©Ó3ˆÜ!¤"§&¡&¨°qÓ"9¼2¿7¹7À4Ç9Á9Ç?Á?ÐSTÑCUÓ;VÔWÜ�w‰w”r—y‘y ¨qÓ1°S·[±[ÀÇÁÓ5KÑKÓLÈsÒRÐRÐRäØ×Ñ˜dŸi™iÓ(¬"¯&©&°×1FÑ1FÀtÇyÁyÓ1QÓ*RÐTUö	
ñ
r4   c                 óö  — t        | «      }t        j                  ddd¬«      j                  |j                  |j
                  «      }t        j                  |j                  |j                  j                  «      |j                  z   }t        ||j                  |j                  «      «       |j                  t        t        «       t        j                  t        |j                  j                  «      |j                  z   }|j                  t        «      }t        |j!                  «       |j                  t        «      «       t        ||j"                  |j                  t        «      dkD  j%                  t&        «         «       t        j(                  g d¢«      }t        |j                  t        «      |d«       t        j                  dd	d¬
«      }|j                  t        t        «       t+        t        |j,                  |j.                  ¬«      }t        j                  ||j0                  j                  «      |j                  z   }t        |j!                  «       |j                  t        «      «       y )Nr6   rÉ   Úovo)r8   rŠ   Údecision_function_shaper   )ç      ð¿g…ëQ¸å¿rò   g…ëQ¸å?rˆ   rˆ   r%   rI   r$   )r8   rÊ   rñ   rÚ   )r3   r   r<   r=   r-   r+   rT   ro   rK   rp   rC   r   rÎ   r>   r?   rD   rÏ   rW   rY   Úintrx   r   rB   rÊ   r@   )r\   r/   rF   ÚdecÚ
predictionÚexpectedÚrbfss          r2   Útest_decision_functionrø   •  s¡  € ÜÐ.Ó/€Dô
 �'‰'˜ SÀ%Ô
H×
LÑ
LØ�	‰	�4—;‘;ó€Cô �&‰&�—‘˜CŸI™IŸK™KÓ
(¨3¯>©>Ñ
9€Cä˜c 3×#8Ñ#8¸¿¹Ó#CÔDð ‡G�GŒAŒq„MÜ
�&‰&”�C—I‘I—K‘KÓ
  3§>¡>Ñ
1€CØ—‘œQ“€JÜ˜cŸi™i›k¨3×+@Ñ+@ÄÓ+CÔDÜØ�C—L‘L #×"7Ñ"7¼Ó":¸QÑ">×!FÑ!FÄsÓ!KÑLôô �x‰xÒ;Ó<€HÜ˜c×3Ñ3´AÓ6¸À!ÔDô �'‰'˜ aÀÔ
G€CØ‡G�GŒAŒq„Mä”a˜×-Ñ-°S·Y±YÔ?€DÜ
�&‰&��s—~‘~×'Ñ'Ó
(¨3¯>©>Ñ
9€CÜ˜cŸi™i›k¨3×+@Ñ+@ÄÓ+CÕDr4   ÚSVMc                 ó0  — t        |«      } | dd|d¬«      }|j                  |j                  |j                  «       |j	                  |j                  «      }|j
                  t        |j                  «      dfk(  sJ ‚t        |j                  |j                  «      t        j                  |d¬«      «       t        dd	|¬
«      \  }}t        |||¬«      \  }}}	}
|j                  ||	«       |j	                  |«      }|j
                  t        |«      d	fk(  sJ ‚t        |j                  |«      t        j                  |d¬«      «        | dd|d¬«      }|j                  ||	«       |j	                  |«      }|j
                  t        |«      dfk(  sJ ‚y )Nr6   ÚovrT)r8   rñ   rä   Ú
break_tiesr&   r$   r¤   éP   rS   )rª   Úcentersrä   ©rä   rð   r£   )r3   r=   r-   r+   rÎ   ré   r   r   rD   rT   rê   r   r   )rù   r\   r/   Úlinear_ovr_svmrô   r>   rs   rÑ   rÒ   Úy_trainÚy_testÚlinear_ovo_svms               r2   Útest_decision_function_shaper  ·  sx  € ô Ð.Ó/€DáØØ %Ø'Øô	€Nð ×Ñ�t—y‘y $§+¡+Ô.Ø
×
*Ñ
*¨4¯9©9Ó
5€CØ�9‰9œ˜TŸY™Y›¨Ð+Ò+Ð+Ð+Ü�~×-Ñ-¨d¯i©iÓ8¼"¿)¹)ÀCÈaÔ:PÔQô  ¨AÐ<NÔO�D€A€qÜ'7Ø	ˆ1Ð-ô(Ñ$€GˆV�W˜fð ×Ñ�w Ô(Ø
×
*Ñ
*¨6Ó
2€CØ�9‰9œ˜V› aÐ(Ò(Ð(Ð(Ü�~×-Ñ-¨fÓ5´r·y±yÀÈ1Ô7MÔNñ ØØ %Ø'Øô	€Nð ×Ñ�w Ô(Ø
×
*Ñ
*¨7Ó
3€CØ�9‰9œ˜W› rÐ*Ò*Ð*Ñ*r4   c                 óâ  — t        | «      }|j                  }|j                  }t        j                  dd¬«      j                  ||«      }t        j                  ||j                  j                  «      |j                  z   }t        |j                  «       |j                  |«      j                  «       «       t        j                  dd¬«      j                  ||«      }t        ||j                  |j                   ¬«      }t        j                  ||j"                  j                  «      |j                  z   }t        |j                  «       |j                  |«      j                  «       «       y )Nr6   rÉ   rŒ   rI   r$   )r8   rÊ   rÚ   )r3   r-   r+   r   r   r=   rT   ro   rK   rp   rC   r   rÏ   rD   r   rB   rÊ   r@   )r\   r/   r>   rs   Úregrô   r÷   s          r2   Útest_svr_predictr  á  sý   € ô Ð.Ó/€Dà�	‰	€AØ�‰€Aô �'‰'˜ SÔ
)×
-Ñ
-¨a°Ó
3€Cä
�&‰&��C—I‘I—K‘KÓ
  3§>¡>Ñ
1€CÜ˜cŸi™i›k¨3¯;©;°q«>×+?Ñ+?Ó+AÔBô �'‰'˜ aÔ
(×
,Ñ
,¨Q°Ó
2€Cä�a˜×-Ñ-°S·Y±YÔ?€DÜ
�&‰&��s—~‘~×'Ñ'Ó
(¨3¯>©>Ñ
9€CÜ˜cŸi™i›k¨3¯;©;°q«>×+?Ñ+?Ó+AÕBr4   c                  ó  — t        j                  ddi¬«      } | j                  t        t        «       t        | j                  t        «      dgdz  «       t        dddd	gd¬
«      \  }}t        j                  «       t        j                  d¬«      t        j                  «       fD ]W  } | j                  dddœ¬«       | j                  |d d |d d «       | j                  |dd  «      }t        |dd  |«      dkD  rŒWJ ‚ y )Nr$   rÉ   ©Úclass_weightr%   é   éÈ   r£   g-²�ï§ê?gÇK7‰A`Å?)rª   Ú
n_featuresÚweightsrä   r   rÿ   )r   r$   rÃ   rÂ   )r   r<   r=   r>   r?   r   rD   r   r	   ÚLogisticRegressionr   Ú
set_paramsr   )rF   ÚX_Úy_Úy_preds       r2   Útest_weightr  ù  sè   € ä
�'‰'  3˜xÔ
(€Cà‡G�GŒAŒq„Mä˜cŸk™k¬!›n¨q¨c°A©gÔ6ä ØØØ˜�Øô	�F€Bˆô 	×'Ñ'Ó)Ü�‰ 1Ô%Ü�‰‹	ðò 0ˆð
 	�‰¨°¡OˆÔ4Ø�‰��4�C�˜"˜T˜c˜(Ô#Ø—‘˜R  ˜XÓ&ˆÜ˜˜3˜4˜ &Ó)¨CÓ/Ð/Ð/ñ0r4   Ú	estimatorç{®Gáz„?r�   c                 óî  — t        j                  | «      } ddgddgddgddgddgddgg}| j                  d¬«       dgdz  }| j                  |t        |¬	«       | j                  d
dgg«      }|t        j                  d«      k(  sJ ‚g d¢}| j                  |t        |¬	«       | j                  d
dgg«      }|dk  sJ ‚g d¢}| j                  |t        |¬	«       | j                  d
dgg«      }|dkD  sJ ‚y )Nr"   r   r#   r%   r$   r6   r7   r  r¡   rò   rˆ   ©r‹   rÉ   rÉ   rÉ   rÉ   r£   ©rˆ   rÉ   r‹   r‹   rÉ   rÉ   )r   Úcloner  r=   r?   rÎ   ry   Úapprox©r  r>   r¢   r  s       r2   Ú'test_svm_classifier_sided_sample_weightr    s  € ä—
‘
˜9Ó%€Ið ˆaˆ�2�r�(˜Q ˜G a¨ V¨a°¨V°a¸°VÐ<€AØ×Ñ ÐÔ)ð �C˜!‘G€MØ‡M�M�!”Q m€MÔ4Ø×(Ñ(¨4°¨+¨Ó7€FØ”V—]‘] 1Ó%Ò%Ð%Ð%ò 3€MØ‡M�M�!”Q m€MÔ4Ø×(Ñ(¨4°¨+¨Ó7€FØ�AŠ:Ðˆ:â4€MØ‡M�M�!”Q m€MÔ4Ø×(Ñ(¨4°¨+¨Ó7€FØ�AŠ:Ð‰:r4   c                 óî  — t        j                  | «      } ddgddgddgddgddgddgg}| j                  d¬«       dgdz  }| j                  |t        |¬	«       | j                  d
dgg«      }|t        j                  d«      k(  sJ ‚g d¢}| j                  |t        |¬	«       | j                  d
dgg«      }|dk  sJ ‚g d¢}| j                  |t        |¬	«       | j                  d
dgg«      }|dkD  sJ ‚y )Nr"   r   r#   r%   r$   r6   r7   r  r¡   rò   rˆ   ç      ø?r  r  )r   r  r  r=   r?   rD   ry   r  r  s       r2   Ú&test_svm_regressor_sided_sample_weightr   .  s  € ä—
‘
˜9Ó%€Ið ˆaˆ�2�r�(˜Q ˜G a¨ V¨a°¨V°a¸°VÐ<€AØ×Ñ ÐÔ)ð �C˜!‘G€MØ‡M�M�!”Q m€MÔ4Ø×Ñ  s ˜}Ó-€FØ”V—]‘] 3Ó'Ò'Ð'Ð'ò 3€MØ‡M�M�!”Q m€MÔ4Ø×Ñ  s ˜}Ó-€FØ�CŠ<Ðˆ<â4€MØ‡M�M�!”Q m€MÔ4Ø×Ñ  s ˜}Ó-€FØ�CŠ<Ð‰<r4   c            
      óB  — t        j                  «       } | j                  t        t        «       | j
                  }| j                  d¬«       | j                  t        t        t        j                  dt        t        «      «      ¬«       t        || j
                  «       y )NrÃ   r�   r  r¡   )r   r<   r=   r>   r?   r@   r  rT   r©   r   r   )rF   Údual_coef_no_weights     r2   Ú$test_svm_equivalence_sample_weight_Cr#  I  sb   € ä
�'‰'‹)€CØ‡G�GŒAŒq„MØŸ.™.ÐØ‡N�N�S€NÔØ‡G�GŒAŒq¤§	¡	¨$´´A³Ó 7€GÔ8ÜÐ'¨¯©Õ8r4   zEstimator, err_msgz:Invalid input - all samples have zero or negative weights.zM(Invalid input - all samples have zero or negative weights.|nu is infeasible))r<   ræ   r   r   r   )Úidsr¢   ç333333Ó¿zweights-are-zerozweights-are-negativec                 ó®   —  | d¬«      }t        j                  t        |¬«      5  |j                  t        t
        |¬«       d d d «       y # 1 sw Y   y xY w©Nr6   r7   ©Úmatchr¡   ©ry   rz   r{   r=   r>   r?   )Ú	EstimatorÚerr_msgr¢   Úests       r2   Ú-test_negative_sample_weights_mask_all_samplesr.  S  sC   € ñ* ˜8Ô
$€CÜ	�‰”z¨Ô	1ñ 3Ø�‰””1 MˆÔ2÷3÷ 3ñ 3úó   ¥AÁAzClassifier, err_msgzJInvalid input - all samples with positive weights belong to the same classzspecified nu is infeasibler<   ræ   )r   ç      à¿r   r$   r$   r$   )r$   r$   r$   r   rß   r%  zmask-label-1zmask-label-2c                 ó®   —  | d¬«      }t        j                  t        |¬«      5  |j                  t        t
        |¬«       d d d «       y # 1 sw Y   y xY wr'  r*  )Ú
Classifierr,  r¢   rF   s       r2   Ú.test_negative_weights_svc_leave_just_one_labelr3  m  sC   € ñ( ˜HÔ
%€CÜ	�‰”z¨Ô	1ñ 3Ø�‰””1 MˆÔ2÷3÷ 3ñ 3úr/  zClassifier, modelg6<½R–Ù?r‡   gÕçj+ö—Ù?)ú	when-leftú
when-rightgioð…ÉTÕ?zsample_weight, mask_side)r$   r0  r$   r$   r$   r$   r4  )r$   r$   r$   r   r$   r$   r5  zpartial-mask-label-1zpartial-mask-label-2c                 ó†   —  | d¬«      }|j                  t        t        |¬«       t        |j                  ||   gd¬«       y )Nr6   r7   r¡   çü©ñÒMbP?©Úrtol)r=   r>   r?   r   rK   )r2  Úmodelr¢   Ú	mask_siderF   s        r2   Ú*test_negative_weights_svc_leave_two_labelsr<  †  s8   € ñ  ˜HÔ
%€CØ‡G�GŒAŒq €GÔ.Ü�C—I‘I  iÑ 0Ð1¸Ö=r4   r+  )r<   ræ   r   c                 óì   —  | d¬«      }|j                  t        t        |¬«       t        j                  |j
                  «      j                  «       }|d   t        j                  |d   d¬«      k(  sJ ‚y )Nr6   r7   r¡   r   r$   r7  )Úrel)	r=   r>   r?   rT   ÚabsrK   rÏ   ry   r  )r+  r¢   r-  Úcoefs       r2   Ú!test_negative_weight_equal_coeffsrA  ›  s\   € ñ ˜8Ô
$€CØ‡G�GŒAŒq €GÔ.Ü�6‰6�#—)‘)Ó×"Ñ"Ó$€DØ�‰7”f—m‘m D¨¡G°Ô6Ò6Ð6Ñ6r4   c                  ó2  — ddl m}  ddlm} t	        d«      }|j
                  d d …d d…f   |j                  dz   }}t        j                  t        j                  |j                  «      t        j                  |dkD  «      d   d d d…   «      }t        j                  ||   «      } |d|||   ¬«      }t        j                  |«      dk(  sJ ‚t        j                  d	¬
«      t        j                   d¬«       | «       fD ]•  }|j#                  ||   ||   «      j%                  |«      }	|j'                  d¬«       |j#                  ||   ||   «      j%                  |«      }
t)        j*                  ||	d¬«      t)        j*                  ||
d¬«      k  rŒ•J ‚ y )Nr   )r  )Úcompute_class_weightru   r%   r$   Úbalanced)Úclassesrs   r6   r7   rÿ   r	  Úmacro)Úaverage)Úsklearn.linear_modelr  Úsklearn.utilsrC  r3   r-   r+   rT   ÚdeleteÚaranger,   ÚwhereÚuniquerê   r   r<   r   r=   rD   r  r
   r   )r  rC  r/   r>   rs   Ú
unbalancedrE  Úclass_weightsrF   r  Úy_pred_balanceds              r2   Útest_auto_weightrQ  ¬  sn  € å7õ 3ä˜BÓ€DØ�9‰9’Q˜˜˜�UÑ˜TŸ[™[¨1™_€q€AÜ—‘œ2Ÿ9™9 Q§V¡VÓ,¬b¯h©h°q¸1±u«o¸aÑ.@ÁÀ1ÀÑ.EÓF€Jä�i‰i˜˜*™Ó&€GÙ(¨¸WÈÈ*ÉÔV€MÜ�9‰9�]Ó# qÒ(Ð(Ð(ô 	�‰�xÔ Ü�‰ 1Ô%ÙÓðò 
ˆð —‘˜˜:™¨¨*©Ó6×>Ñ>¸qÓAˆØ�‰ JˆÔ/ØŸ'™'Øˆj‰MØˆj‰Mó
÷ ‰'�!‹*ð 	ô ×Ñ  6°7Ô;¼w×?OÑ?OØˆ¨ô@
ó 
ð 	
ð 
ñ
r4   Úlil_containerc                 óP  — t         d d }t        j                  t        «      5  t	        j
                  «       j                  t        |«       d d d «       t	        j
                  «       t	        j                  |¬«      fD ]Ã  }t        j                  t        «      }|j                  d   rJ ‚t        j                  t        j                  t         d«      j                  «      }|d d …df   }|j                  d   rJ ‚|j                  d   rJ ‚|j                  ||«       t        |j!                  t        «      t"        «       ŒÅ t	        j
                  d¬«      }t        j                  t        «      5  |j                  t        t         «       d d d «       t	        j
                  «       j                  t        t         «      }t        j                  t        «      5  |j!                   | t        «      «       d d d «       t        j$                  t        «      j                  }|j                  t        j&                  t        |«      t         «       t        j                  t        «      5  |j!                  t        «       d d d «       t	        j
                  «       }|j                  t        t         «       t        j                  t        «      5  |j!                  |«       d d d «       y # 1 sw Y   �ŒŸxY w# 1 sw Y   �ŒjxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ’xY w# 1 sw Y   y xY w)Nr#   rÿ   ÚC_CONTIGUOUS)r%   r$   ÚF_CONTIGUOUSrl   r7   )r?   ry   rz   r{   r   r<   r=   r>   r   rT   ÚasfortranarrayÚflagsÚascontiguousarrayÚtilerp   r   rD   r|   rx   ro   )rR  r\   ÚY2rF   ÚXfÚyfÚXts          r2   Útest_bad_inputr^  Ñ  s'  € ô 
ˆ3ˆBˆ€BÜ	�‰”zÓ	"ñ Ü�‰‹	�‰”a˜Ô÷ô —‘“	œ3Ÿ=™=Ð6HÔIÐJò 8ˆÜ×ÑœqÓ!ˆØ—8‘8˜NÒ+Ð+Ð+Ü×!Ñ!¤"§'¡'¬!¨VÓ"4×"6Ñ"6Ó7ˆØ’�2�‰YˆØ—8‘8˜NÒ+Ð+Ð+Ø—8‘8˜NÒ+Ð+Ð+Ø�‰��BŒÜ˜3Ÿ;™;¤q›>¬;Õ7ð8ô �'‰'˜Ô
'€CÜ	�‰”zÓ	"ñ Ø�‰””1Œ÷ô �'‰'‹)�-‰-œœ1Ó
€CÜ	�‰”zÓ	"ñ &Ø�‰‘M¤!Ó$Ô%÷&ô 
�‰”!‹�‰€BØ‡G�GŒB�F‰F”1�b‹Mœ1ÔÜ	�‰”zÓ	"ñ Ø�‰”AŒ÷ô �'‰'‹)€CØ‡G�GŒAŒq„MÜ	�‰”zÓ	"ñ Ø�‰�BŒ÷ð ÷?ñ ú÷ ñ ú÷
&ñ &ú÷
ð ú÷
ð ús;   £)K)Å3K6ÇLÉ)LËLË)K3Ë6L ÌLÌLÌL%c                 ó¦  — t         j                  j                  | «      }d}t        j                  t         j                  «      j
                  }||j                  |df¬«      z  }|j                  dd|¬«      }t        j                  «       }d}t        j                  t        |¬«      5  |j                  ||«       d d d «       y # 1 sw Y   y xY w)Nr£   r%   )r,   r   z2The dual coefficients or intercepts are not finiter(  )rT   r¦   r§   ÚfinforZ   ÚmaxrÍ   r¨   r   r<   ry   rz   r{   r=   )r\   r0   rª   Úfmaxr>   rs   rF   Úmsgs           r2   Útest_svc_nonfinite_paramsrd  ø  s¡   € ä
�)‰)×
Ñ
Ð 2Ó
3€CØ€IÜ�8‰8”B—J‘JÓ×#Ñ#€DØˆs�{‰{ ¨A ˆ{Ó/Ñ/€AØ�‰�A�q˜yˆÓ)€Aä
�'‰'‹)€CØ
>€CÜ	�‰”z¨Ô	-ñ Ø�‰��1Œ÷÷ ñ ús   Â+CÃCÚcsr_containerc                 óÔ   — t        j                  d¬«      } | ddgddgg«      }t        j                  t        d¬«      5  |j                  |ddg«       d d d «       y # 1 sw Y   y xY w)Nrl   r7   r$   r   zSparse precomputedr(  )r   r<   ry   rz   Ú	TypeErrorr=   )re  rF   Úsparse_grams      r2   Útest_sparse_precomputedri    s]   € ä
�'‰'˜Ô
'€CÙ ! Q ¨!¨Q¨Ð 0Ó1€KÜ	�‰”yÐ(<Ô	=ñ %Ø�‰�˜a ˜VÔ$÷%÷ %ñ %ús   Á AÁA'c                 ó2  —  | g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  d¬«      }|j	                  ||«       |j
                  j                  j                  rJ ‚|j                  j                  j                  rJ ‚y )N)r   r$   r   r   )r   r   r   r$   )r   r   r$   r   )ç{®Gáz¤?rk  rÉ   g{®GázÄ?r6   r7   )	rT   rx   r   r   r=   rB   r-   r,   r@   )re  rÑ   r  r:  s       r2   Ú%test_sparse_fit_support_vectors_emptyrl    s{   € ñ š\ª<ºÂ|ÐTÓU€GÜ�h‰hÒ/Ó0€GÜ�G‰G˜8Ô$€EØ	‡I�Iˆg�wÔØ×%Ñ%×*Ñ*×/Ò/Ð/Ð/Ø×Ñ×$Ñ$×)Ò)Ð)Ð)Ð)r4   ÚlossÚhingeÚsquared_hingeÚpenaltyÚl1Úl2ÚdualTFc           	      ó@  — t        dd|¬«      \  }}t        j                  || ||¬«      }| |fdk(  s| ||fdk(  s||fdk(  r@t        j                  t
        d|›d| ›d	|›�¬
«      5  |j                  ||«       d d d «       y |j                  ||«       y # 1 sw Y   y xY w)NrS   )rª   r  rä   ©rp  rm  rs  rä   )rn  rq  )rn  rr  F)rq  Tz'Unsupported set of arguments.*penalty='z.*loss='z.*dual=r(  )r   r   r   ry   rz   r{   r=   )rm  rp  rs  r\   r>   rs   rF   s          r2   Útest_linearsvc_parametersrv    s±   € ô Ø Ð0Bô�D€A€qô �-‰-Ø˜d¨Ð<Nô€Cð 
ˆwˆ˜?Ò*Ø�'˜4Ð Ð$:Ò:Ø�Tˆ?˜lÒ*ä�]‰]Ýâš™dð$ô
ñ 	ð
 �G‰G�A�qŒM÷	ð 	ð 	�‰��1�÷	ð 	ús   Á%BÂBc                 ón  — t        j                  | ¬«      j                  t        t        «      }|j
                  sJ ‚t        |j                  t        «      t        «       t        |j                  dgd¬«       t        j                  ddd| ¬«      j                  t        t        «      }t        |j                  t        «      t        «       t        j                  d	d
| ¬«      j                  t        t        «      }t        |j                  t        «      t        «       t        j                  d	dd
| ¬«      }|j                  t        t        «       t        |j                  t        «      t        «       |j                  t        «      }|dkD  j                  t        «      dz   }t        |t        «       y )Nrÿ   r   r&   rv   rq  ro  Fru  rr  T)rp  rs  rä   rn  r$   )r   r   r=   r>   r?   Úfit_interceptr   rD   rp   r|   r   rC   rÎ   rY   ró   )r\   rF   rô   Úress       r2   Útest_linearsvcrz  5  s<  € ä
�-‰-Ð%7Ô
8×
<Ñ
<¼QÄÓ
B€Cð ×ÒÐÐä�s—{‘{¤1“~¤{Ô3Ü˜cŸn™n¨q¨c¸1Õ=ô �-‰-ØØØØ'ô	÷
 
�cŒ!ŒQƒið ô �s—{‘{¤1“~¤{Ô3ô �-‰- ¨4Ð>PÔ
Q×
UÑ
UÜ	Œ1ó€Cô �s—{‘{¤1“~¤{Ô3ô �-‰-Ø˜7¨Ð<Nô€Cð ‡G�GŒAŒq„MÜ�s—{‘{¤1“~¤{Ô3ð ×
Ñ
¤Ó
"€CØ�‰7×
Ñ
œ3Ó
 !Ñ
#€CÜ�sœKÕ(r4   c                 ó`  — t        | «      }t        j                  | ¬«      j                  |j                  |j
                  «      }t        j                  d| ¬«      }|j                  |j                  |j
                  «       |j                  |j                  «      |j                  |j                  «      k(  j                  «       dkD  sJ ‚|j                  |j                  k7  j                  «       sJ ‚t        |j                  |j                  «      t        j                  |j                  |j                  «      d¬«      «       t        j                  |j                  |j                  j                  «      |j                   z   }t#        ||j                  |j                  «      «       y )Nrÿ   Úcrammer_singer)Úmulti_classrä   rJ   r$   r¤   )r3   r   r   r=   r-   r+   rD   rU   rK   Úallr   rT   rê   rÎ   ro   rp   rC   r   )r\   r/   Úovr_clfÚcs_clfÚdec_funcs        r2   Útest_linearsvc_crammer_singerr‚  [  s/  € äÐ.Ó/€Dä�m‰mÐ);Ô<×@Ñ@ÀÇÁÈDÏKÉKÓX€GÜ�]‰]Ø$Ð3Eô€Fð ‡J�Jˆt�y‰y˜$Ÿ+™+Ô&ð �O‰O˜DŸI™IÓ&¨&¯.©.¸¿¹Ó*CÑC×IÑIÓKÈcÒQÐQÐQð �M‰M˜VŸ\™\Ñ)×.Ñ.Ô0Ð0Ð0ô Ø�‰�t—y‘yÓ!Ü
�	‰	�&×*Ñ*¨4¯9©9Ó5¸AÔ>ôô �v‰v�d—i‘i §¡§¡Ó0°6×3DÑ3DÑD€HÜ˜h¨×(@Ñ(@ÀÇÁÓ(KÕLr4   c                 óì  — t        t        «      }t        j                  |«      }t	        j
                  | dd¬«      j                  t        t        «      }t	        j
                  | dd¬«      j                  t        t        |¬«      }t        |j                  t        «      |j                  t        «      «       t        |j                  |j                  dd«       t        j                  j                  | «      j                  dd|«      }t	        j
                  | dd¬«      j                  t        t        |¬«      }|j                  t        «      }t        j                   t        |d¬	«      }t        j                   t        |d¬	«      }	t	        j
                  | dd¬«      j                  ||	«      }
|
j                  t        «      }t        ||«       t        |j                  |
j                  dd«       y )
Nrž   éè  )rä   rŸ   r    r¡   r$   r•   r   r£   r¤   )r   r>   rT   r�   r   r   r=   r?   r   rD   rp   r   rK   r¦   r§   r¨   r©   )r\   rª   r«   rF   Úclf_unitweightr­   Úlsvc_unflatÚpred1r°   r±   Ú	lsvc_flatri   s               r2   Útest_linearsvc_fit_sampleweightr‰  t  sy  € ä”A“€IÜ—'‘'˜)Ó$€KÜ
�-‰-Ð%7¸UÈTÔ
R×
VÑ
VÜ	Œ1ó€Cô —]‘]Ø'¨U¸Tôç	�cŒ!ŒQ˜k€cÓ*ð ô
 �~×-Ñ-¬aÓ0°#·+±+¼a³.ÔAÜ�C—I‘I˜~×3Ñ3°Q¸Ô?ô
 —I‘I×)Ñ)Ð*<Ó=×EÑEÀaÈÈYÓW€MÜ—-‘-Ø'¨U¸Tôç	�cŒ!ŒQ˜m€cÓ,ð ð ×Ñ¤Ó"€Eä�Y‰Y”q˜-¨aÔ0€FÜ�Y‰Y”q˜-¨aÔ0€FÜ—‘Ø'¨U¸Tôç	�cˆ&�&Óð ð ×ÑœaÓ €Eä�u˜eÔ$Ü�K×%Ñ% y§¡¸¸6ÕBr4   c                 ó²   — t        dd| ¬«      \  }}dD ]A  }t        j                  |d| ¬«      j                  ||«      j	                  ||«      }|dkD  rŒAJ ‚ y )Nr%   r  )Ú	n_classesÚ	class_seprä   )TFr|  )rx  r}  rä   rJ   )r   r   r   r=   r�   )r\   r>   rs   rx  Úaccs        r2   Útest_crammer_singer_binaryrŽ  ˜  si   € äØ˜sÐ1Cô�D€A€qð 'ò 
ˆä�M‰MØ+Ø,Ø/ô÷
 ‰S��A‹Yß‰U�1�a‹[ð 	ð �S‹yÐˆyñ
r4   c                 ó8  — t        | «      }|j                  |j                     }t        j                  | ¬«      j                  |j                  |«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        j                  |j                  |j                  «      |k(  «      dkD  sJ ‚|j                  |j                  «      }|j                  t        j                  |d«         }t        ||j                  |j                  «      «       y )Nrÿ   gš™™™™™é?r$   )r3   Útarget_namesr+   r   r   r=   r-   ÚsetrW   rT   rU   rD   rÎ   rê   r   )r\   r/   r+   rF   rô   rh   s         r2   Útest_linearsvc_irisr’  «  sÔ   € ÜÐ.Ó/€Dð ×Ñ˜tŸ{™{Ñ+€FÜ
�-‰-Ð%7Ô
8×
<Ñ
<¸T¿Y¹YÈÓ
O€CÜˆs�|‰|Ó¤ D×$5Ñ$5Ó 6Ò6Ð6Ð6Ü�7‰7�3—;‘;˜tŸy™yÓ)¨VÑ3Ó4°sÒ:Ð:Ð:à
×
Ñ
 §	¡	Ó
*€CØ×ÑœRŸY™Y s¨AÓ.Ñ/€DÜ�t˜SŸ[™[¨¯©Ó3Õ4r4   ru   c           	      óÂ  — ddgddgddgddgg}g d¢} | ddddd	d
|¬«      }|j                   dk(  sJ |j                   «       ‚|j                  sJ ‚d|_         |j                  ||«       t        |j                  dd¬«       d|_         |j                  ||«       |j                  }|dk  sJ ‚d|_         |j                  ||«       |j                  }t        ||d¬«       y )Nr%   r$   r&   ©r   r   r$   r$   Trq  ro  FrÆ   gH¯¼šò×z>)rx  rp  rm  rs  rŠ   rŸ   rä   r   rS   rv   rÃ   r#   r„  )Úintercept_scalingrx  r=   r   rC   r   )Ú
classifierr\   r>   rs   rF   Ú
intercept1Ú
intercept2s          r2   Ú'test_dense_liblinear_intercept_handlingr™  º  sõ   € ð ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AÚ€AÙ
ØØØØØ
ØØ'ô€Cð × Ñ  AÒ%Ð< s×'<Ñ'<Ó<Ð%Ø×ÒÐÐð €CÔØ‡G�GˆAˆq„MÜ˜Ÿ™¨°1Õ5ð  €CÔØ‡G�GˆAˆq„MØ—‘€JØ˜Š?Ðˆ?ð !€CÔØ‡G�GˆAˆq„MØ—‘€JÜ˜j¨*¸aÖ@r4   c                 óÎ  — t        | «      }t        j                  «       j                  |j                  |j
                  «      }|j                  |j                  «      }|j                  j                  «       |_        |j                  j                  «       |_	        |j                  |j                  «      }t        ||«       ddgddgddgddgg}g d¢}t        j                  «       j                  ||«      }|j                  |«      }|j                  j                  «       |_        |j                  j                  «       |_	        |j                  |«      }t        ||«       y )Nr%   r$   r&   r”  )r3   r   r   r=   r-   r+   rÎ   rK   ÚcopyrC   r   r   )r\   r/   rF   ÚvaluesÚvalues2r>   rs   s          r2   Útest_liblinear_set_coefrž  á  s  € ÜÐ.Ó/€Dô �-‰-‹/×
Ñ
˜dŸi™i¨¯©Ó
5€CØ×"Ñ" 4§9¡9Ó-€FØ—	‘	—‘Ó €C„IØ—^‘^×(Ñ(Ó*€C„NØ×#Ñ# D§I¡IÓ.€GÜ˜f gÔ.ð ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AÚ€Aä
�-‰-‹/×
Ñ
˜a Ó
#€CØ×"Ñ" 1Ó%€FØ—	‘	—‘Ó €C„IØ—^‘^×(Ñ(Ó*€C„NØ×#Ñ# AÓ&€GÜ�v˜wÕ'r4   c                 ó–  — t        | «      }t        j                  d¬«      j                  |j                  |j
                  «      t        j                  d¬«      j                  |j                  |j
                  «      t        j                  d¬«      j                  |j                  |j
                  «      t        j                  d¬«      j                  |j                  |j
                  «      t        j                  d¬«      j                  |j                  «      g}|D ]�  }t        j                  t        «      5  |j                  dt        j                  d«      «       d d d «       t        j                  t         t"        f«      5  |j$                  j'                  dd«       d d d «       Œ� y # 1 sw Y   ŒPxY w# 1 sw Y   Œ¦xY w)Nr6   r7   rK   r&   )r   r   r   )r3   r   r<   r=   r-   r+   ræ   r   r   r   ry   rz   r¿   Ú__setattr__rT   rK  ÚRuntimeErrorr{   rK   Ú__setitem__)r\   r/   ÚsvmsrF   s       r2   Útest_immutable_coef_propertyr¤  ø  s<  € ÜÐ.Ó/€Dô 	�‰�xÔ ×$Ñ$ T§Y¡Y°·±Ó<Ü�	‰	˜Ô"×&Ñ& t§y¡y°$·+±+Ó>Ü�‰�xÔ ×$Ñ$ T§Y¡Y°·±Ó<Ü�	‰	˜Ô"×&Ñ& t§y¡y°$·+±+Ó>Ü�‰˜xÔ(×,Ñ,¨T¯Y©YÓ7ð€Dð ò -ˆÜ�]‰]œ>Ó*ñ 	3Ø�O‰O˜G¤R§Y¡Y¨q£\Ô2÷	3ä�]‰]œL¬*Ð5Ó6ñ 	-Ø�I‰I×!Ñ! &¨!Ô,÷	-ð 	-ñ-÷	3ð 	3ú÷	-ð 	-ús   Ä>&F3ÆF?Æ3F<	Æ?G	c                  óø   — dd l } | j                  d«      }| j                  | j                  «       d   d«       t	        j
                  d¬«      }|j                  t        t        «       | j                  |d«       y )Nr   r$   )Úverbose)	ÚosÚdupÚdup2Úpiper   r   r=   r>   r?   )r§  ÚstdoutrF   s      r2   Útest_linearsvc_verboser¬  
  sY   € ó à�V‰V�A‹Y€FØ‡G�GˆB�G‰G‹I�a‰L˜!Ôô �-‰- Ô
"€CØ‡G�GŒAŒq„Mð ‡G�GˆF�AÕr4   c                  ó¶  — t        d«      } t        j                  d„ dd¬«      }t        j                  |«      }|j                  | j                  | j                  «       t        j                  ddd¬«      }|j                  | j                  | j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  | j                  «      |j                  | j                  «      «       t        |j                  | j                  «      |j                  | j                  «      «       y )Nru   c                 óB   — t        j                  | |j                  «      S r(   rn   rq   s     r2   r·   z5test_svc_clone_with_callable_kernel.<locals>.<lambda>   ó   € œBŸF™F 1 a§c¡c›N€ r4   r   rû   )r8   rä   rñ   r6   )r3   r   r<   r   r  r=   r-   r+   r   r@   rC   r   rD   rÎ   )r/   Úsvm_callableÚ
svm_clonedÚsvm_builtins       r2   Ú#test_svc_clone_with_callable_kernelr³    sú   € Ü˜BÓ€Dô —7‘7Ù*ØØ %ô€Lô —‘˜LÓ)€JØ‡N�N�4—9‘9˜dŸk™kÔ*ä—'‘'ØØØ %ô€Kð ‡O�O�D—I‘I˜tŸ{™{Ô+ä˜j×3Ñ3°[×5KÑ5KÔLÜ˜j×3Ñ3°[×5KÑ5KÔLÜ�z×)Ñ)¨$¯)©)Ó4°k×6IÑ6IÈ$Ï)É)Ó6TÔUäØ×$Ñ$ T§Y¡YÓ/Ø×%Ñ% d§i¡iÓ0õr4   c                  óÂ   — t        j                  d„ ¬«      } t        j                  t        «      5  | j                  t        t        «       d d d «       y # 1 sw Y   y xY w)Nc                 ó   — | S r(   © rq   s     r2   r·   z%test_svc_bad_kernel.<locals>.<lambda>;  s   €  a€ r4   r7   )r   r<   ry   rz   r{   r=   r>   r?   )Úsvcs    r2   Útest_svc_bad_kernelr¸  :  s>   € Ü
�'‰'™Ô
(€CÜ	�‰”zÓ	"ñ Ø�‰””1Œ÷÷ ñ ús   ±AÁAc                 ó<  — t        j                  d„ | d¬«      }d}t        j                  t        |¬«      5  |j                  t        j                  t        «      t        «       d d d «       t        j                  |j                  dk(  «      sJ ‚y # 1 sw Y   Œ.xY w)Nc                 óB   — t        j                  | |j                  «      S r(   rn   rq   s     r2   r·   z2test_libsvm_convergence_warnings.<locals>.<lambda>B  r¯  r4   r%   )r8   rä   r    zoSolver terminated early \(max_iter=2\).  Consider pre-processing your data with StandardScaler or MinMaxScaler.r(  )r   r<   ry   Úwarnsr   r=   rT   rx   r>   r?   r~  Ún_iter_)r\   ÚaÚwarning_msgs      r2   Ú test_libsvm_convergence_warningsr¿  @  sy   € Ü�‰Ù*Ø'Øô	€Að	:ð ô 
�‰Ô(°Ô	<ñ Ø	�‰Œb�h‰h”q‹kœ1Ô÷ä�6‰6�!—)‘)˜q‘.Ô!Ð!Ñ!÷ð ús   ·.BÂBc                  ó\  — d} t        j                  «       }t        j                  t        d¬«      5  |j                  | «       d d d «       t        j                  «       }t        j                  t        d¬«      5  |j                  | «       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)Nzfoo!z.*\bSVC\b.*\bnot\b.*\bfitted\br(  z .*\bNuSVR\b.*\bnot\b.*\bfitted\b)r   r<   ry   rz   Ú	ExceptionrD   r   )r>   rF   s     r2   Útest_unfittedrÂ  O  s‚   € Ø€Aä
�'‰'‹)€CÜ	�‰”yÐ(IÔ	Jñ Ø�‰�AŒ÷ô �)‰)‹+€CÜ	�‰”yÐ(KÔ	Lñ Ø�‰�AŒ÷ð ÷	ð ú÷ð ús   ²BÁ;B"ÂBÂ"B+c                 ó,  — t        j                  d| ¬«      }|j                  t        t        «      j                  t        «      }t        j                  d| ¬«      }|j                  t        t        «      j                  t        «      }t        ||«       y )Nr$   )r    rä   )r   r<   r=   r>   r?   rÎ   r   )r\   r½  Úproba_1Úproba_2s       r2   Ú!test_consistent_decision_functionrÆ  [  sb   € Ü�‰˜Ð);Ô<€AØ�e‰e”A”q‹k×+Ñ+¬AÓ.€GÜ�‰˜Ð);Ô<€AØ�e‰e”A”q‹k×+Ñ+¬AÓ.€GÜ˜g wÕ/r4   c                 ón  — t        | «      }t        j                  | d¬«      }d}t        j                  t
        |¬«      5  |j                  t        t        «       d d d «       t        |j                  t        «      sJ ‚|j                  dk(  sJ ‚t        j                  | d¬«      }t        j                  t
        |¬«      5  |j                  |j                  |j                  «       d d d «       t        |j                  t        «      sJ ‚|j                  dk(  sJ ‚y # 1 sw Y   ŒÅxY w# 1 sw Y   ŒCxY w)Nr%   )rä   r    z@Liblinear failed to converge, increase the number of iterations.r(  )r3   r   r   ry   r»  r   r=   r>   r?   Ú
isinstancer¼  ró   r   r-   r+   )r\   r/   Úlsvcr¾  r˜   s        r2   Ú$test_linear_svm_convergence_warningsrÊ  c  sï   € ÜÐ.Ó/€Dô �=‰=Ð&8À1ÔE€DØT€KÜ	�‰Ô(°Ô	<ñ Ø�‰””AŒ÷ô �d—l‘l¤CÔ(Ð(Ð(Ø�<‰<˜1ÒÐÐä�=‰=Ð&8À1ÔE€DÜ	�‰Ô(°Ô	<ñ )Ø�‰�—‘˜DŸK™KÔ(÷)ä�d—l‘l¤CÔ(Ð(Ð(Ø�<‰<˜1ÒÐÑ÷ð ú÷)ð )ús   Á DÃ'D+ÄD(Ä+D4c           	      óÜ  — t         j                  j                  | «      }|j                  dd«      }|j                  d«      }t	        j
                  d¬«      t	        j                  d¬«      t	        j                  «       fD ]h  }|j                  ||«       t        |j                  |«      t        j                  ||j                  j                  «       «      |j                  z   «       Œj y )Nr£   r&   r6   r7   )rT   r¦   r§   rË   r   r   r   r   r=   r   rD   ro   rK   rÏ   rC   )r\   r0   r>   rs   rš   s        r2   Útest_svr_coef_signrÌ  x  s­   € ô �)‰)×
Ñ
Ð 2Ó
3€CØ�	‰	�"�aÓ€AØ�	‰	�"‹€Aô 	�‰�xÔ Ü�	‰	˜Ô"Ü�‰‹ðò 
ˆð
 	�‰��1ŒÜ!Ø�K‰K˜‹NœBŸF™F 1 c§i¡i§o¡oÓ&7Ó8¸3¿>¹>ÑIõ	
ñ
r4   c                  ó†   — t        j                  d¬«      } | j                  t        t        «       | j
                  dk(  sJ ‚y )NF)rx  r;   )r   r   r=   r>   r?   rC   )rÉ  s    r2   Ú test_lsvc_intercept_scaling_zerorÎ  Š  s1   € ô �=‰= uÔ-€DØ‡H�HŒQ”„NØ�?‰?˜cÒ!Ð!Ñ!r4   c                 ó>  — t        | «      }t        j                  d¬«      }t        |d«      sJ ‚|j	                  |j
                  |j                  «       t        |d«      sJ ‚t        j                  d¬«      }t        |d«      rJ ‚|j	                  |j
                  |j                  «       t        |d«      rJ ‚d|_        t        |d«      sJ ‚d}t        j                  t        |¬«      5  |j                  |j
                  «       d d d «       y # 1 sw Y   y xY w)NT©rã   rç   FzApredict_proba is not available when fitted with probability=Falser(  )r3   r   r<   rV   r=   r-   r+   rã   ry   rz   r   rç   )r\   r/   ÚGrc  s       r2   Útest_hasattr_predict_probarÒ  “  sè   € äÐ.Ó/€Dô
 	�‰˜DÔ!€AÜ�1�oÔ&Ð&Ð&Ø‡E�Eˆ$�)‰)�T—[‘[Ô!Ü�1�oÔ&Ð&Ð&ä�‰˜EÔ"€AÜ�q˜/Ô*Ð*Ð*Ø‡E�Eˆ$�)‰)�T—[‘[Ô!Ü�q˜/Ô*Ð*Ð*ð €A„MÜ�1�oÔ&Ð&Ð&Ø
M€Cä	�‰”~¨SÔ	1ñ #Ø	�‰˜Ÿ	™	Ô"÷#÷ #ñ #ús   Ã.DÄDc                 ó  — dD ]�  }t        || ¬«      \  }}t        j                  t        j                  fD ]L  }t	         |d¬«      «      j                  ||«      }t        |j                  |«      «      t        |«      k(  rŒLJ ‚ Œƒ y )N)r%   r&   )rþ   rä   rû   )rñ   )r   r   r<   ræ   r   r=   r   rD   )r\   r‹  r>   rs   r  rF   s         r2   Ú&test_decision_function_shape_two_classrÔ  ®  s~   € Øò 1ˆ	Ü )Ð:LÔM‰ˆˆ1ÜŸ'™'¤3§9¡9Ð-ò 	1ˆIÜ%¡iÈÔ&NÓO×SÑSØ�1óˆCô �s—{‘{ 1“~Ó&¬#¨a«&Ó0Ð0Ð0ñ		1ñ1r4   c                  óÆ  — t        j                  ddgddgddgddgg«      } g d¢}t        j                  ddgddgg«      }t        j                  |ddgz  |ddgz  |ddgz  |ddgz  f«      }dgdz  dgdz  z   dgdz  z   dgdz  z   }t        j                  d	d
¬«      }|j                  | |«       |j                  |«      }t        ||«       |j                  |«      }t        t        j                  |d¬«      |«       |t        d«      |f   j                  d«      }t        j                  |«      dkD  sJ ‚t        j                  |d d …df   |d d …df   k  «      sJ ‚y )Nr$   r#   )r   r$   r%   r&   rS   r£   r   r%   r&   r6   rû   )r8   rñ   r¤   rå   )rÆ   r%   r;   )rT   rx   Úvstackr   r<   r=   rD   r   rÎ   rê   r~   ÚreshapeÚminr~  )	rÑ   r  Úbase_pointsrÒ   r  rF   r  Údeci_valÚpred_class_deci_vals	            r2   Útest_ovr_decision_functionrÜ  ¸  s…  € ä�h‰h˜˜A˜  Q ¨"¨b¨°A°r°7Ð;Ó<€GÚ€Gô —(‘(˜Q ˜F R¨ HÐ-Ó.€Kô �Y‰Yà˜1˜a˜&Ñ Ø˜2˜q˜'Ñ!Ø˜2˜r˜(Ñ"Ø˜1˜b˜'Ñ!ð		
ó€Fð ˆS�1‰W˜�s˜Q‘wÑ !  q¡Ñ(¨A¨3°©7Ñ2€Fä
�'‰'˜¸5Ô
A€CØ‡G�GˆG�WÔà�[‰[˜Ó €Fô �v˜vÔ&à×$Ñ$ VÓ,€Hô ”r—y‘y °Ô2°FÔ;ð #¤5¨£8¨VÐ#3Ñ4×<Ñ<¸VÓDÐô �6‰6Ð%Ó&¨Ò,Ð,Ð,ô �6‰6Ð%¢a¨ dÑ+Ð.AÂ!ÀQÀ$Ñ.GÑGÔHÐHÑHr4   ÚSVCClassc                 óÞ   — t        |¬«      \  }} | ddd|¬«      j                  ||«      }t        j                  t        d¬«      5   |j
                  |«       d d d «       y # 1 sw Y   y xY w)Nrÿ   r6   rð   T)r8   rñ   rü   rä   zbreak_ties must be Falser(  )r   r=   ry   rz   r{   rD   )rÝ  r\   r>   rs   r   s        r2   Ú!test_svc_invalid_break_ties_paramrß  ä  sj   € äÐ#5Ô6�D€A€qá
ØØ %ØØ'ô	÷
 
�cˆ!ˆQƒið ô 
�‰”zÐ)CÔ	Dñ Øˆ�‰�AŒ÷÷ ñ ús   ÁA#Á#A,c                 óú  — | j                   dk(  rt        rt        j                  d«       t	        |dd¬«      \  }}t        j                  |dd…df   j                  «       |dd…df   j                  «       d«      }t        j                  |dd…d	f   j                  «       |dd…d	f   j                  «       d«      }t        j                  ||«      \  }}t        d
d|d¬«      } | dddi|¤Žj                  ||«      }	 |	j                  t
        j                  |j                  «       |j                  «       f   «      }
 |	j                  t
        j                  |j                  «       |j                  «       f   «      }t        j                   |
t        j"                  |d	¬«      k(  «      rJ ‚ | dddi|¤Žj                  ||«      }	 |	j                  t
        j                  |j                  «       |j                  «       f   «      }
 |	j                  t
        j                  |j                  «       |j                  «       f   «      }t        j                   |
t        j"                  |d	¬«      k(  «      sJ ‚y)zyTest if predict breaks ties in OVR mode.
    Related issue: https://github.com/scikit-learn/scikit-learn/issues/8277
    ræ   zFailing test on 32bit OSrÄ   r%   )rä   rª   r  Nr   rÃ   r$   rI   g    €„.Arû   )r8   rÊ   rä   rñ   rü   Fr¤   Tr¶  )Ú__name__r   ry   Úxfailr   rT   ÚlinspacerØ  ra  ÚmeshgridÚdictr=   rD   Úc_rÏ   rÎ   r~  rê   )rÝ  r\   r>   rs   ÚxsÚysÚxxÚyyÚcommon_paramsr   rh   Údvs               r2   Útest_svc_ovr_tie_breakingrí  ó  s  € ð
 ×Ñ˜GÒ#­	ô
 	�‰Ð/Ô0äÐ#5ÀÐPQÔR�D€A€qä	�‰�Q’q˜!�t‘W—[‘[“] A¢a¨ d¡G§K¡K£M°3Ó	7€BÜ	�‰�Q’q˜!�t‘W—[‘[“] A¢a¨ d¡G§K¡K£M°3Ó	7€BÜ�[‰[˜˜RÓ �F€BˆäØØØ'Ø %ô	€Mñ ñ Øðà
ñ÷ 
�cˆ!ˆQƒið ð ˆ3�;‰;”r—u‘u˜RŸX™X›Z¨¯©«Ð3Ñ4Ó5€DØ	ˆ×	Ñ	œrŸu™u R§X¡X£Z°·±³Ð%;Ñ<Ó	=€BÜ�v‰v�dœbŸi™i¨°Ô3Ñ3Ô4Ð4Ð4á
ñ Øðà
ñ÷ 
�cˆ!ˆQƒið ð ˆ3�;‰;”r—u‘u˜RŸX™X›Z¨¯©«Ð3Ñ4Ó5€DØ	ˆ×	Ñ	œrŸu™u R§X¡X£Z°·±³Ð%;Ñ<Ó	=€BÜ�6‰6�$œ"Ÿ)™) B¨QÔ/Ñ/Ô0Ð0Ñ0r4   c                  ó�   — dgdggddg}} t        j                  «       }|j                  | |«       t        |j                  d«       y )Nr;   rˆ   r   r$   rÆ   )r   r<   r=   r   Ú_gammar¸   s      r2   Útest_gamma_scalerð    s=   € ØˆE�C�5ˆ>˜A˜q˜6€q€Aä
�'‰'‹)€CØ‡G�GˆAˆq„MÜ˜Ÿ
™
 AÕ&r4   zSVM, params)rp  rm  rs  Úepsilon_insensitive©rm  rs  Úsquared_epsilon_insensitivec                 óx  — t        j                  ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddggt        j                  d«      ¬«      }t        j                  g d¢t        j                  d«      ¬«      }t        j                  ||g«      }t        j                  |d|z
  g«      }t        j
                  t        |«      dz  ¬	«      }d
|t        |«      d  t        ||||¬«      \  }}} | |¬«      } |j                  di |¤Ž |j                  dd¬«       t        j                  |«      j                  ||«      }	t        j                  |«      j                  |||¬«      }
dD ]A  }t        ||«      sŒ t        |	|«      |«      } t        |
|«      |«      }t        ||d¬«       ŒC y )Nr$   r&   r%   rÆ   Úfloat)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¡   )rD   rÎ   g�íµ ÷Æ°>r8  r¶  )rT   rx   r¾   rÖ  Úhstackr�   r   r   r  r   r  r=   rV   Úgetattrr   )rù   Úparamsr\   r>   rs   ÚX2Úy2r¢   Úbase_estimatorÚest_no_weightÚest_with_weightÚmethodÚresult_without_weightÚresult_with_weights                 r2   Ú&test_linearsvm_liblinear_sample_weightr  %  sã  € ô 	�‰à�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð!	
ô$ �h‰h�wÓô'	€Aô* 	�‰Ú8ÄÇÁÈÃô	€Aô 
�‰�A�q�6Ó	€BÜ	�‰�A�q˜1‘u�:Ó	€BÜ—G‘G¤# a£&¨1¡*Ô-€MØ€M”#�a“&�(ÐÜ#Ø
ˆB�Ð,>ôÑ€BˆˆMñ Ð&8Ô9€NØ€N×ÑÑ' Ò'Ø×Ñ %°$ÐÔ7Ü—J‘J˜~Ó.×2Ñ2°1°aÓ8€MÜ—j‘j Ó0×4Ñ4Ø
ˆB˜mð 5ó €Oð 3ò RˆÜ�> 6Õ*Ø$B¤G¨M¸6Ó$BÀ1Ó$EÐ!Ø!A¤¨¸&Ó!AÀ!Ó!DÐÜÐ1Ð3EÈDÖQñ	Rr4   ÚKlassc                 ó`  — t        j                  dgdgdgdgdgg«      }t        j                  |j                  d   «      } | «       }t	        |d«      rJ ‚|j                  ||«       |j                  d   |j                  j                  d   k(  sJ ‚|j                  j                  dk(  sJ ‚y )Nr   g)\�Âõ(Ü?gÍÌÌÌÌÌÜ?gq=
×£pÝ?r$   Ú
n_support_)	rT   rx   rK  ré   rV   r=   r  rB   r,   )r  r>   rs   r-  s       r2   Útest_n_supportr  c  s¡   € ô
 	�‰�1�#˜�v ˜v¨ v°¨sÐ3Ó4€AÜ
�	‰	�!—'‘'˜!‘*Ó€AÙ
‹'€CÜ�s˜LÔ)Ð)Ð)Ø‡G�GˆAˆq„MØ�>‰>˜!Ñ × 4Ñ 4× :Ñ :¸1Ñ =Ò=Ð=Ð=Ø�>‰>×Ñ !Ò#Ð#Ñ#r4   c                 ó2  — g d¢}t        j                  ddgddgddgddgddgg«      }t        j                  g d¢«      }d„ } |||«      }t        t        j                  ||j                  «      |«        | |¬«      j                  ||«      } | d¬«      j                  ||«      } | d	¬«      j                  ||«      }|j                  ||«      |j                  ||«      k(  sJ ‚|j                  ||«      |j                  ||«      k(  sJ ‚t        |d
«      r©t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       yt        |j                  |«      |j                  |«      «       t        |j                  |«      |j                  |«      «       y)zETest using a custom kernel that is not fed with array-like for floats)zA AÚAÚBzB BzA Br%   r   r$   )r$   r$   r%   r%   r$   c           	      ó¬  — t        | d   t        «      sJ ‚t        | «      }t        |«      }t        j                  ||f«      }t        |«      D ]ƒ  }t        ||«      D ]r  }| |   j                  d«      ||   j                  d«      z  |||f<   |||fxx   | |   j                  d«      ||   j                  d«      z  z  cc<   |||f   |||f<   Œt Œ… |S )Nr   r  r  )rÈ  Ústrr!   rT   Úzerosr~   Úcount)ÚX1rù  Ú
n_samples1Ú
n_samples2r€   ÚiiÚjjs          r2   Ústring_kernelz9test_custom_kernel_not_array_input.<locals>.string_kernelx  sà   € Ü˜"˜Q™%¤Ô%Ð%Ð%Ü! "Ó%ˆ
Ü! "Ó%ˆ
Ü�H‰H�j *Ð-Ó.ˆÜ˜
Ó#ò 	&ˆBÜ˜B 
Ó+ò &�Ø˜r™FŸL™L¨Ó-°°2±·±¸SÓ0AÑA��"�b�&‘	Ø�"�b�&“	˜R ™VŸ\™\¨#Ó.°°B±·±¸cÓ1BÑBÑB“	Ø˜b "˜f™I��"�b�&’	ñ&ð	&ð
 ˆr4   r7   r6   rl   rÎ   N)rT   rx   r   ro   rp   r=   r�   rV   r   rÎ   rD   )	r+  r-   r>   rs   r  r€   Úsvc1Úsvc2Úsvc3s	            r2   Ú"test_custom_kernel_not_array_inputr  q  s³  € ò +€DÜ
�‰�1�a�&˜1˜a˜& 1 a &¨1¨a¨&°1°a°&Ð9Ó:€AÜ
�‰’Ó!€Aò
ñ 	�d˜DÓ!€AÜ”r—v‘v˜a §¡“~ qÔ)á˜MÔ*×.Ñ.¨t°QÓ7€DÙ˜HÔ%×)Ñ)¨!¨QÓ/€DÙ˜MÔ*×.Ñ.¨q°!Ó4€Dà�:‰:�d˜AÓ $§*¡*¨Q°Ó"2Ò2Ð2Ð2Ø�:‰:�d˜AÓ $§*¡*¨Q°Ó"2Ò2Ð2Ð2ÜˆtÐ(Ô)Ü˜×.Ñ.¨tÓ4°d×6LÑ6LÈQÓ6OÔPÜ˜×.Ñ.¨tÓ4°d×6LÑ6LÈQÓ6OÔPÜ˜4Ÿ<™<¨Ó-¨t¯|©|¸A«Ô?Ü˜4Ÿ<™<¨Ó-¨t¯|©|¸A«Õ?ä˜Ÿ™ TÓ*¨D¯L©L¸«OÔ<Ü˜Ÿ™ TÓ*¨D¯L©L¸«OÕ<r4   c                  ó  — t        j                  d¬«      j                  t        t        «      } d| j
                  d<   d}t        j                  t        |¬«      5  | j                  t        «       ddd«       y# 1 sw Y   yxY w)z¡Check that SVC raises error when internal representation is altered.

    Non-regression test for #18891 and https://nvd.nist.gov/vuln/detail/CVE-2020-28975
    r6   r7   i@B r   z.The internal representation of SVC was alteredr(  N)
r   r<   r=   r>   r?   Ú
_n_supportry   rz   r{   rD   )rF   rc  s     r2   Ú-test_svc_raises_error_internal_representationr  —  s`   € ô
 �'‰'˜Ô
"×
&Ñ
&¤q¬!Ó
,€CØ€C‡N�N�1Ñà
:€CÜ	�‰”z¨Ô	-ñ Ø�‰”AŒ÷÷ ñ ús   ÁA:Á:Bzestimator, expected_n_iter_typer‹  )r%   r&   rÆ   c                 óH  — t        |||¬«      }|\  }} | d¬«      j                  ||«      j                  }t        |«      |k(  sJ ‚| t        j
                  t        j                  fv r:t        t        j                  |«      «      }|j                  ||dz
  z  dz  fk(  sJ ‚y y )N)r‹  Ún_informativerä   r6   r7   r$   r%   )r   r=   r¼  Útyper   r<   ræ   r   rT   rM  ré   )r  Úexpected_n_iter_typer‹  r\   Údatasetr>   rs   Ún_iters           r2   Útest_n_iter_libsvmr   ¤  s    € ô "Ø¨9ÐCUô€Gð �D€A€qÙ˜hÔ'×+Ñ+¨A¨qÓ1×9Ñ9€FÜ�‹<Ð/Ò/Ð/Ð/Ø”S—W‘WœcŸi™iÐ(Ñ(ÜœŸ	™	 !›Ó%ˆ	Ø�|‰| 	¨Y¸©]Ñ ;¸qÑ @ÐBÒBÐBÑBð )r4   c           	      óÈ   — t        d| ddt        j                  t        «      «      }|du sJ ‚t        d| ddt        j                  t        «      j                  «      }|du sJ ‚y )NÚautorr  rû   FT©r   rT   Úasarrayr>   rp   rò  s     r2   Útest_dual_autor%  Ã  sT   € ô $ F¨D°$¸¼r¿z¹zÌ!»}ÓM€DØ�5‰=Ðˆ=ä# F¨D°$¸¼r¿z¹zÌ!»}¿¹ÓO€DØ�4‰<Ð‰<r4   c            	      ó   — t        ddddt        j                  t        «      «      } | du sJ ‚t        ddddt        j                  t        «      «      } | du sJ ‚t        ddddt        j                  t        «      j                  «      } | d	u sJ ‚y )
Nr"  rn  rr  rû   Trñ  ro  rq  Fr#  )rs  s    r2   Útest_dual_auto_edge_casesr'  Í  sƒ   € ä# F¨G°T¸5Ä"Ç*Á*ÌQÃ-ÓP€DØ�4‰<Ðˆ<Ü#ØÐ% t¨U´B·J±J¼q³Mó€Dð �4‰<Ðˆ<ä#Ø�  u¬b¯j©j¼«m¯o©oó€Dð �5‰=Ð‰=r4   zEstimator, make_datasetÚC_infÚinfc                 óÔ   —  ||¬«      \  }} | |¬«      j                  ||«      } | d¬«      j                  ||«      }t        |j                  |«      |j                  |«      «       y)zªCheck that we can pass `C=inf` that is equivalent to a very large C value.

    Non-regression test for
    https://github.com/scikit-learn/scikit-learn/issues/29772
    rÿ   r�   g    _ BN)r=   r   rD   )r+  Úmake_datasetr(  r\   r>   rs   Úestimator_C_infÚestimator_C_larges           r2   Útest_svm_with_infinite_Cr.  Ü  sc   € ñ Ð%7Ô8�D€A€qÙ %Ô(×,Ñ,¨Q°Ó2€OÙ! DÔ)×-Ñ-¨a°Ó3ÐäÐ%×-Ñ-¨aÓ0°/×2IÑ2IÈ!Ó2LÕMr4   zEstimator, namerã   c                 ó°   — t        «       \  }}t        j                  t        d¬«      5   | |¬«      j	                  ||«       d d d «       y # 1 sw Y   y xY w)Nz"probability.+parameter.+deprecatedr(  rÐ  )r   ry   r»  ÚFutureWarningr=   )r+  Únamerã   r>   rs   s        r2   Ú%test_probability_raises_futurewarningr2  î  sI   € ô Ó �D€A€qÜ	�‰”mÐ+OÔ	Pñ 5Ù˜kÔ*×.Ñ.¨q°!Ô4÷5÷ 5ñ 5ús   ©AÁAr-  c                 óD  — t        ddd¬«      \  }} | «       j                  ||«      } t        j                  t        d¬«      5  | j
                  }ddd«       t        j                  t        d¬«      5  | j                  }ddd«       y# 1 sw Y   Œ:xY w# 1 sw Y   yxY w)	zMTest that accessing probA_ and probB_ raises FutureWarning for SVC and NuSVC.é2   rS   r   )rª   r  rä   z!Attribute `probA_` was deprecatedr(  Nz!Attribute `probB_` was deprecated)r   r=   ry   r»  r0  ÚprobA_ÚprobB_)r-  r>   rs   Ú_s       r2   Ú%test_svc_nusvc_probA_probB_deprecatedr8  ù  s†   € ô ¨¸1È1ÔM�D€A€qÙ
‹%�)‰)�A�q‹/€CÜ	�‰”mÐ+NÔ	Oñ Ø�J‰Jˆ÷ä	�‰”mÐ+NÔ	Oñ Ø�J‰Jˆ÷ð ÷ð ú÷ð ús   ÁB
Á4BÂ
BÂB)~Ú__doc__ÚnumpyrT   ry   Únumpy.testingr   r   r   r   Úsklearnr   r   r	   r
   r   Úsklearn.datasetsr   r   r   Úsklearn.exceptionsr   r   Úsklearn.metricsr   Úsklearn.metrics.pairwiser   Úsklearn.model_selectionr   Úsklearn.multiclassr   Úsklearn.svmr   r   r   r   r   r   Úsklearn.svm._classesr   rI  r   r   Úsklearn.utils.fixesr   r   r    Úsklearn.utils.validationr!   r>   r?   rp   r|   r3   rG   ÚmarkÚthread_unsaferj   r…   r’   rœ   r´   r¹   rÀ   rØ   rÝ   rá   Úfilterwarningsrî   rø   Úparametrizer<   ræ   r  r  r  r  r   r#  r   r.  r3  r<  rA  rQ  r^  rd  ri  rl  rv  rz  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  Úndarrayró   r   r%  r'  r)  rõ  r.  r2  r8  r¶  r4   r2   ú<module>rL     s1	  ðñó Û ÷ó ÷ ?Õ >ß MÑ M÷õ %Ý /Ý 4Ý 2÷÷ õ :ß 5ß IÑ IÝ 1ð 	ˆ"€X��Bˆx˜"˜b˜ A q 6¨A¨q¨6°A°q°6Ð:€Ú€Øˆ"€X��1ˆv˜˜1�vÐ€Ú€òò*ð ‡�×ÑñM$ó ðM$ò`GGòTDò(+ò&+òRòòNò<ò9ð$ ‡�×ÑØ‡�×ÑÐ3Ó4ñ
ó 5ó ð
ò(EðD ‡�×Ñ˜ §¡¨#¯)©)Ð 4Ó5ñ&+ó 6ð&+òRCò00ð4 ‡�×Ñ˜ w s§w¡w°¤¸	¸¿	¹	»Ð&DÓEñó Fðð4 ‡�×Ñ˜ w s§w¡w°¤¸	¸¿	¹	ÀDÔ8IÐ&JÓKñó Lðò49ð ‡�×ÑØà	�‰ÐNÐOà�I‰Iðð	
ð
 
�‰ÐNÐOØ	�‰ÐPÐQØ	�‰ÐVÐWð
ò 	8ð ó ð ‡�×ÑØØ€S‰3ˆq‹6�\�D�6™C ›F‘?Ð#Ø	Ð3Ð4ð ó ñ
3óóð(3ð ‡�×ÑØð �G‰Gðð	
ð 
�‰Ð0Ð1ð	ð 
�Ðð ó ð ‡�×ÑØÚÒ4Ð5Ø	˜Ð(ð ó ñ
3óóð&3ð ‡�×ÑØà	�‰ ¨ ¸cÀ6¸]ÑKÐLØ	�‰ 6¨6Ð"2À6È6ÐBRÑSÐTðð 
�Ðð ó ð ‡�×ÑØÚ˜[Ð)Ò,>ÀÐ+MÐNØ	Ð!7Ð8ð ó ñ
>óóð>ð ‡�×ÑØ�#—'‘'˜3Ÿ9™9 c§i¡iÐ0Ò6Oð ó ð ‡�×ÑØÚÒ.Ð/Ø	Ð!7Ð8ð ó ñ
7óóð7ò"
ðJ ‡�×Ñ˜¨.Ó9ñ#ó :ð#òLð ‡�×Ñ˜¨.Ó9ñ%ó :ð%ð ‡�×Ñ˜¨.Ó9ñ*ó :ð*ð ‡�×Ñ˜ '¨?Ð!;Ó<Ø‡�×Ñ˜ T¨4 LÓ1Ø‡�×Ñ˜ $¨ Ó/ñó 0ó 2ó =ðò2#)òLMò2!CòHò&5ð  �}‰}°ó$AòN(ò.-ð$ ‡�×Ññó ðòò@ò"ò	ò0òò*
ò$"ð ‡�×ÑÐ3Ó4ñ#ó 5ð#ò41ò)IðX ‡�×Ñ˜ c§g¡g¨s¯y©yÐ%9Ó:ñó ;ðð ‡�×Ñ˜ c§g¡g¨s¯y©yÐ%9Ó:ñ%1ó ;ð%1òP'ð ‡�×ÑØ‡�×ÑØà	 ¨oÀuÑMÐNØ	 ¨oÀtÑLÐMØ	 ¨oÀuÑMÐNØ	 ¨g¸tÑDÐEØ	Ð2¸DÑAÐBØ	Ð:ÀDÑIÐJØ	Ð:ÀDÑIÐJðóñ.Róó ð.Rðb ‡�×Ñ˜ ;°°UÐ";Ó<ñ
$ó =ð
$ð ‡�×Ñ˜ s§w¡w°·±Ð&8Ó9ñ"=ó :ð"=òJ
ð ‡�×ÑØ%à	�‰�"—*‘*ÐØ	�‰�B—J‘JÐØ	�‰�#ˆØ	�‰�CÐØ	�‰˜#Ððó	ð ‡�×ÑØÚóñCó	ó	ðCð" ‡�×Ñ˜ /Ð3PÐ!QÓRñó Sðòð ‡�×ÑØØ	‡g�gÐ"Ð# c§g¡g¨Ð%?Ð@óð ‡�×Ñ˜ 2§6¡6©5°«<Ð"8Ó9ñ
Nó :ó	ð

Nð ‡�×ÑØØ	‡g�gˆuÐ˜Ÿ	™	 7Ð+Ð,óð ‡�×Ñ˜¨¨u¨Ó6ñ5ó 7ó	ð
5ð ‡�×Ñ˜ §¡¨#¯)©)Ð 4Ó5ñó 6ñr4   