Ë
    uwj(Ï  ã                   ó�  — 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                  d#„ «       ZBd$„ ZCejl                  j‰                  d%ejŠ                  ejŒ                  f«      d&„ «       ZGd'„ ZHd(„ ZIejl                  j‰                  d) ejŠ                  d*¬+«       ejŒ                  «       g«      d,„ «       ZJejl                  j‰                  d) ej>                  d*¬+«       ejD                  d*¬+«      g«      d-„ «       ZKd.„ ZLejl                  j‰                  d/ejŠ                  d0fejŒ                  d1fej>                  d0fejD                  d0fejF                  d0fgg d2¢¬3«      ejl                  j‰                  d4dg eMe1«      z  d5g eMe1«      z  gd6d7g¬3«      d8„ «       «       ZNejl                  j‰                  d9ejŠ                  d:fejŒ                  d;fgd<d=g¬3«      ejl                  j‰                  d4g d>¢g d?¢gd@dAg¬3«      dB„ «       «       ZOejl                  j‰                  dCejŠ                  dDdEgdEdFgdGœfejŒ                  dHdHgdHdHgdGœfgd<d=g¬3«      ejl                  j‰                  dIg dJ¢dKfg dL¢dMfgdNdOg¬3«      dP„ «       «       ZPejl                  j‰                  dQejŠ                  ejŒ                  ejD                  gg dR¢¬3«      ejl                  j‰                  d4g dJ¢g dL¢gdNdOg¬3«      dS„ «       «       ZQdT„ ZRejl                  j‰                  dUe-«      dV„ «       ZSdW„ 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„ «       Zaejl                  jn                  dp„ «       Zbdq„ Zcejl                  jn                  dr„ «       Zdds„ Zeejl                  jn                  ejl                  jÍ                  dt«      du„ «       «       Zgdv„ Zhdw„ Zidx„ Zjdy„ Zkdz„ Zld{„ Zmejl                  j‰                  d|ejŠ                  ejŒ                  g«      d}„ «       Znejl                  j‰                  d|ejŠ                  ejŒ                  g«      d~„ «       Zod„ Zpe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…„ «       «       Zqejl                  j‰                  d†e#ee"f«      d‡„ «       Zrejl                  j‰                  dQejŠ                  ej>                  g«      dˆ„ «       Zsd‰„ Ztejl                  j‰                  dŠejŠ                  ejê                  fejŒ                  ejê                  fej>                  evfejD                  evfejF                  evfg«      ejl                  j‰                  d‹g dŒ¢«      d�„ «       «       Zwejl                  j‰                  d\d^d„g«      dŽ„ «       Zxd�„ Zyejl                  j‰                  d�ejŠ                  efej>                  efg«      ejl                  j‰                  d‘ejô                   e{d’«      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       ú_/var/www/html/newmanjeet/manjet/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_irisrk   E   sx  € ô Ð.Ó/€DãˆÜ�g‰g˜QÔ×#Ñ# D§I¡I¨t¯{©{Ó;ˆÜ�w‰w�s—{‘{ 4§9¡9Ó-°·±Ñ<Ó=ÀÒCÐCÐCÜ�s˜GÓ$¨¨h©Ó7Ð7Ð7ð ô
 �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(   ©rU   ÚdotÚT©ÚxÚys     r2   Úkfuncztest_precomputed.<locals>.kfunc·   s   € Ü�v‰v�a˜Ÿ™‹~Ðr4   r6   é*   g®Gáz®ï?r%   ©Údecimal)r   r<   rU   rp   r>   Úarrayrq   r=   r?   rD   ÚpytestÚraisesÚ
ValueErrorr   r@   rA   rC   r   Útrue_resultÚ
zeros_likeÚrangeÚlenr3   r-   r+   r   rV   )	rF   ÚKÚKTri   ÚiÚjru   Úclf2r/   s	            r2   Útest_precomputedr†   –   s_  € ô �'‰'˜Ô
'€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“>Ö"ˆØ—”ˆAÜ—f‘f˜TŸY™Y q™\¨4¯9©9°Q©<Ó8ˆAˆa�ˆdŠGñ ð #ð �;‰;�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+   ÚscorerU   Ú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   rU   Ú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+   rU   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‰   )rU   ry   rr   s     r2   Ú<lambda>z!test_svr_errors.<locals>.<lambda>0  s   € ¤b§h¡h°°¨wÔ&7r4   r7   )r   r   r=   rz   r{   r|   rD   ©r>   rt   rF   s      r2   Útest_svr_errorsrº   +  sY   € Ø
ˆ��ˆ€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&   rw   )ç      è?r½   r½   r½   c                  ó   •— ‰ j                   S r(   )rK   rE   s   €r2   r¸   ztest_oneclass.<locals>.<lambda>A  s	   ø€ �—’r4   )r   r   r=   r>   rD   rq   r   ÚdtyperU   r   rC   r@   rz   r{   ÚAttributeError)ri   rF   s    @r2   Útest_oneclassrÁ   6  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   ÚrandnrU   Úr_Úuniformr=   rD   rV   Ú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Ù   E  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Þ   c  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   rU   ry   Ú_dual_coef_rE   s    r2   Útest_tweak_paramsrâ   l  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   c           	      óÔ  — 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   rU   Úsumr‘   ÚshaperV   Ú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+   rU   rp   rK   rq   rC   r   rÏ   r>   r?   rD   rÐ   rX   rZ   Úintry   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   rU   rë   r   r   )rú   r]   r/   Úlinear_ovr_svmrõ   r>   rt   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=   rU   rp   rK   rq   rC   r   rÐ   rD   r   rB   rË   r@   )r]   r/   r>   rt   Ú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Ô%Ü�‰‹	óˆð
 	�‰¨°¡OˆÔ4Ø�‰��4�C�˜"˜T˜c˜(Ô#Ø—‘˜R  ˜XÓ&ˆÜ˜˜3˜4˜ &Ó)¨CÓ/Ð/Ð/ñr4   Ú	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Ï   rz   Ú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   rz   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  rU   rª   r€   r   )rF   Údual_coef_no_weights     r2   Ú$test_svm_equivalence_sample_weight_Cr$  F  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.z6(negative dimensions are not allowed|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¢   ©rz   r{   r|   r=   r>   r?   )Ú	EstimatorÚerr_msgr£   Úests       r2   Ú-test_negative_sample_weights_mask_all_samplesr/  P  s:   € ñ" ˜8Ô
$€CÜ	�‰”z¨Ö	1Ø�‰””1 MˆÔ2÷ 
2×	1Ñ	1úó   ¥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_labelr4  f  s:   € ñ( ˜HÔ
%€CÜ	�‰”z¨Ö	1Ø�‰””1 MˆÔ2÷ 
2×	1Ñ	1úr0  zClassifier, modelg6<½R–Ù?rˆ   gÕçj+ö—Ù?)ú	when-leftú
when-rightgioð…ÉTÕ?zsample_weight, mask_side)r$   r1  r$   r$   r$   r$   r5  )r$   r$   r$   r   r$   r$   r6  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   )r3  Ú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$   r8  )Úrel)	r=   r>   r?   rU   ÚabsrK   rÐ   rz   r  )r,  r£   r.  Úcoefs       r2   Ú!test_negative_weight_equal_coeffsrB  ”  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_weightrv   r%   r$   Úbalanced)Úclassesrt   r6   r7   r   r
  Úmacro)Úaverage)Úsklearn.linear_modelr  Úsklearn.utilsrD  r3   r-   r+   rU   ÚdeleteÚaranger,   ÚwhereÚuniquerë   r   r<   r   r=   rD   r  r
   r   )r  rD  r/   r>   rt   Ú
unbalancedrF  Úclass_weightsrF   r  Úy_pred_balanceds              r2   Útest_auto_weightrR  ¥  si  € å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_CONTIGUOUSrm   r7   )r?   rz   r{   r|   r   r<   r=   r>   r   rU   ÚasfortranarrayÚflagsÚascontiguousarrayÚtilerq   r   rD   r}   ry   rp   )rS  r]   ÚY2rF   ÚXfÚyfÚXts          r2   Útest_bad_inputr_  Ê  sþ  € ô 
ˆ3ˆBˆ€BÜ	�‰”zÕ	"Ü�‰‹	�‰”a˜Ô÷ 
#ô —‘“	œ3Ÿ=™=Ð6HÔIÓJˆÜ×ÑœqÓ!ˆØ—8‘8˜NÒ+Ð+Ð+Ü×!Ñ!¤"§'¡'¬!¨VÓ"4×"6Ñ"6Ó7ˆØ’�2�‰YˆØ—8‘8˜NÒ+Ð+Ð+Ø—8‘8˜NÒ+Ð+Ð+Ø�‰��BŒÜ˜3Ÿ;™;¤q›>¬;Õ7ð Kô �'‰'˜Ô
'€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)  )rU   r§   r¨   Úfinfor[   ÚmaxrÎ   r©   r   r<   rz   r{   r|   r=   )r]   r0   r«   Úfmaxr>   rt   rF   Úmsgs           r2   Útest_svc_nonfinite_paramsre  ñ  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c                 ó<  — t        | «      }t        j                  dd¬«      }|j                  t        t
        «       |j                  t        «       t        j                  |j                  |j                  j                  t        j                  «      ddd¬«       y )Nr6   T)r8   rä   rS   r   rT   )r3   r   r<   r=   r>   r?   rè   rq   r   r\   r-   r+   rZ   rU   r[   )r]   r/   rF   s      r2   Útest_unicode_kernelrg  ÿ  si   € äÐ.Ó/€Dä
�'‰'˜¨tÔ
4€CØ‡G�GŒAŒq„MØ×Ñ”aÔÜ×ÑØ�	‰	�4—;‘;×%Ñ%¤b§j¡jÓ1°1¸XÐSTör4   Ú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)Nrm   r7   r$   r   zSparse precomputedr)  )r   r<   rz   r{   Ú	TypeErrorr=   )rh  rF   Úsparse_grams      r2   Útest_sparse_precomputedrl    sT   € ä
�'‰'˜Ô
'€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¤?rn  rÊ   g{®GázÄ?r6   r7   )	rU   ry   r   r   r=   rB   r-   r,   r@   )rh  rÒ   r  r;  s       r2   Ú%test_sparse_fit_support_vectors_emptyro    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å   ©rs  rp  rv  rå   )rq  rt  )rq  ru  F)rt  Tz'Unsupported set of arguments.*penalty='z.*loss='z.*dual=r)  )r   r   r   rz   r{   r|   r=   )rp  rs  rv  r]   r>   rt   rF   s          r2   Útest_linearsvc_parametersry    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&   rw   rt  rr  Frx  ru  T)rs  rv  rå   rq  r$   )r   r   r=   r>   r?   Úfit_interceptr   rD   rq   r}   r   rC   rÏ   rZ   rô   )r]   rF   rõ   Úress       r2   Útest_linearsvcr}  :  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   rV   rK   Úallr   rU   rë   rÏ   rp   rq   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>   rU   r‘   r   r   r=   r?   r   rD   rq   r   rK   r§   r¨   r©   rª   )r]   r«   r¬   rF   Úclf_unitweightr®   Úlsvc_unflatÚpred1r±   r²   Ú	lsvc_flatrj   s               r2   Útest_linearsvc_fit_sampleweightrŒ  y  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  )r{  r€  rå   rJ   )r   r   r   r=   r�   )r]   r>   rt   r{  Úaccs        r2   Útest_crammer_singer_binaryr‘  �  sd   € äØ˜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-   ÚsetrX   rU   rV   rD   rÏ   rë   r   )r]   r/   r+   rF   rõ   ri   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   rv   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$   Trt  rr  FrÇ   gH¯¼šò×z>)r{  rs  rp  rv  r‹   r    rå   r   rS   rw   rÄ   r#   r‡  )Úintercept_scalingr{  r=   r   rC   r   )Ú
classifierr]   r>   rt   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>   rt   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   rz   r{   rÀ   Ú__setattr__rU   rL  Ú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ó ˆÜ�]‰]œ>Õ*Ø�O‰O˜G¤R§Y¡Y¨q£\Ô2÷ +ä�]‰]œL¬*Ð5Õ6Ø�I‰I×!Ñ! &¨!Ô,÷ 7Ð6ñ ß*Ð*úç6Ð6ú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d¬«      }t        j                  |«      }|j                  | j                  | j                  «       t        j                  dddd¬«      }|j                  | j                  | j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  | j                  «      |j                  | j                  «      «       t        |j                  | j                  «      |j                  | j                  «      d¬	«       t        |j                  | j                  «      |j                  | j                  «      «       y )
Nrv   c                 óB   — t        j                  | |j                  «      S r(   ro   rr   s     r2   r¸   z5test_svc_clone_with_callable_kernel.<locals>.<lambda>(  ó   € œBŸF™F 1 a§c¡cœNr4   Tr   rü   )r8   rä   rå   rò   r6   rÇ   rw   )r3   r   r<   r   r  r=   r-   r+   r   r@   rC   r   rD   rè   rÏ   )r/   Úsvm_callableÚ
svm_clonedÚsvm_builtins       r2   Ú#test_svc_clone_with_callable_kernelr¶  !  s1  € ä˜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(   © rr   s     r2   r¸   z%test_svc_bad_kernel.<locals>.<lambda>I  s   € ¡ar4   r7   )r   r<   rz   r{   r|   r=   r>   r?   )Úsvcs    r2   Útest_svc_bad_kernelr»  H  s5   € Ü
�'‰'™Ô
(€CÜ	�‰”zÕ	"Ø�‰””1Œ÷ 
#×	"Ñ	"ús   ±AÁAc                 ó>  — t        j                  d„ 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(   ro   rr   s     r2   r¸   z2test_libsvm_convergence_warnings.<locals>.<lambda>S  r²  r4   Tr%   )r8   rä   rå   r¡   zoSolver terminated early \(max_iter=2\).  Consider pre-processing your data with StandardScaler or MinMaxScaler.r)  )r   r<   rz   Úwarnsr   r=   rU   ry   r>   r?   r�  Ún_iter_)r]   ÚaÚwarning_msgs      r2   Ú test_libsvm_convergence_warningsrÂ  P  su   € ä�‰Ù*ØØ'Øô		€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<   rz   r{   Ú	ExceptionrD   r   )r>   rF   s     r2   Útest_unfittedrÅ  a  sv   € Ø€Aä
�'‰'‹)€CÜ	�‰”yÐ(IÖ	JØ�‰�AŒ÷ 
Kô �)‰)‹+€CÜ	�‰”yÐ(KÖ	LØ�‰�AŒ÷ 
MÐ	L÷	 
KÐ	Jú÷ 
MÐ	Lús   ²BÁ;B"ÂBÂ"B+z-ignore::sklearn.exceptions.ConvergenceWarningc                 ó0  — t        j                  dd| ¬«      }|j                  t        t        «      j                  t        «      }t        j                  dd| ¬«      }|j                  t        t        «      j                  t        «      }t        ||«       y )NTr$   )rä   r¡   rå   )r   r<   r=   r>   r?   rè   r   )r]   rÀ  Úproba_1Úproba_2s       r2   Útest_consistent_probarÉ  p  sh   € ô 	�‰˜D¨1Ð;MÔN€AØ�e‰e”A”q‹k×'Ñ'¬Ó*€GÜ�‰˜D¨1Ð;MÔN€AØ�e‰e”A”q‹k×'Ñ'¬Ó*€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   rz   r¾  r   r=   r>   r?   Ú
isinstancer¿  rô   r   r-   r+   )r]   r/   ÚlsvcrÁ  r™   s        r2   Ú$test_linear_svm_convergence_warningsrÍ  z  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   )rU   r§   r¨   rÌ   r   r   r   r   r=   r   rD   rp   rK   rÐ   rC   )r]   r0   r>   rt   r›   s        r2   Útest_svr_coef_signrÏ  �  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)r{  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<   rW   r=   r-   r+   rä   rz   r{   r   rè   )r]   r/   ÚGrd  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Ø	�‰˜Ÿ	™	Ô"÷ 
2×	1Ñ	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>   rt   r  rF   s         r2   Ú&test_decision_function_shape_two_classrÖ  Ã  st   € Ûˆ	Ü )Ð:LÔM‰ˆˆ1ÜŸ'™'¤3§9¡9Ó-ˆIÜ%¡iÈÔ&NÓO×SÑSØ�1óˆCô �s—{‘{ 1“~Ó&¬#¨a«&Ó0Ð0Ð0ñ	 .ñ r4   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;   )rU   ry   Ú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=   rz   r{   r|   rD   )rß  r]   r>   rt   r   s        r2   Ú!test_svc_invalid_break_ties_paramrá  ù  sb   € äÐ#5Ô6�D€A€qá
ØØ %ØØ'ô	÷
 
�cˆ!ˆQƒið ô 
�‰”zÐ)CÖ	DØˆ�‰�AŒ÷ 
E×	DÑ	Dú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   rz   Úxfailr   rU   ÚlinspacerÚ  rb  ÚmeshgridÚdictr=   rD   Úc_rÐ   rÏ   r�  rë   )rß  r]   r>   rt   ÚxsÚysÚxxÚyyÚcommon_paramsr   ri   Ú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ò  1  s=   € ØˆE�C�5ˆ>˜A˜q˜6€q€Aä
�'‰'‹)€CØ‡G�GˆAˆq„MÜ˜Ÿ
™
 AÕ&r4   zSVM, params)rs  rp  rv  Úepsilon_insensitive©rp  rv  Ú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�íµ ÷Æ°>r9  r¹  )rU   ry   r¿   rØ  Úhstackr‘   r€   r   r  r   r  r=   rW   Úgetattrr   )rú   Úparamsr]   r>   rt   Ú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ˆÜ�> 6Õ*Ø$B¤G¨M¸6Ó$BÀ1Ó$EÐ!Ø!A¤¨¸&Ó!AÀ!Ó!DÐÜÐ1Ð3EÈDÖQñ	 3r4   Ú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_)	rU   ry   rL  rê   rW   r=   r  rB   r,   )r  r>   rt   r.  s       r2   Útest_n_supportr  x  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!   rU   Úzerosr   Úcount)ÚX1rû  Ú
n_samples1Ú
n_samples2r�   ÚiiÚjjs          r2   Ústring_kernelz9test_custom_kernel_not_array_input.<locals>.string_kernel�  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   rm   rÏ   N)rU   ry   r   rp   rq   r=   r�   rW   r   rÏ   rD   )	r,  r-   r>   rt   r  r�   Úsvc1Úsvc2Úsvc3s	            r2   Ú"test_custom_kernel_not_array_inputr  †  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_supportrz   r{   r|   rD   )rF   rd  s     r2   Ú-test_svc_raises_error_internal_representationr  ¬  sW   € ô
 �'‰'˜Ô
"×
&Ñ
&¤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€   rU   rN  rê   )r  Úexpected_n_iter_typerŽ  r]   Údatasetr>   rt   Ú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Úautoru  rü   FT©r   rU   Úasarrayr>   rq   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$  rq  ru  rü   Tró  rr  rt  Fr%  )rv  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>   rt   Úestimator_C_infÚestimator_C_larges           r2   Útest_svm_with_infinite_Cr0  ñ  sc   € ñ Ð%7Ô8�D€A€qÙ %Ô(×,Ñ,¨Q°Ó2€OÙ! DÔ)×-Ñ-¨a°Ó3ÐäÐ%×-Ñ-¨aÓ0°/×2IÑ2IÈ!Ó2LÕMr4   )}Ú__doc__ÚnumpyrU   rz   Ú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   rJ  r   r   Úsklearn.utils.fixesr   r   r    Úsklearn.utils.validationr!   r>   r?   rq   r}   r3   rG   ÚmarkÚthread_unsaferk   r†   r“   r�   rµ   rº   rÁ   rÙ   rÞ   râ   rï   rù   Úparametrizer<   rç   r  r  r  r  r!  r$  r€   r/  r4  r=  rB  rR  r_  re  rg  rl  ro  ry  r}  r…  rŒ  r‘  r•  rœ  r¡  r§  r¯  r¶  r»  rÂ  rÅ  ÚfilterwarningsrÉ  rÍ  rÏ  rÑ  rÔ  rÖ  rÞ  rá  rï  rò  r  r  r  r  Úndarrayrô   r"  r'  r)  r+  r÷  r0  r¹  r4   r2   Ú<module>rD     sÌ  ðñó Û ÷ó ÷ ?Õ >ß 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ð" ‡�×Ññ
ó ð
ò(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Ø	�‰ÐLÐMØ	�‰Ð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(ò.-ð$ ‡�×Ññó ðð" ‡�×Ññ#ó ð#òLð ‡�×Ññ"ó ð"ò 	ð ‡�×ÑØ‡�×ÑÐKÓLñ0ó Mó ð0òò*
ò$"ò#ò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r4   