ó
    §ñ:iÈ¥  ã                   óR  • S SK r S SKJrJr  S SKJrJr  S SKrS SK	J
r  SSKJrJrJr  SSKJrJr  SSKJr  SSKJrJrJrJr  SS	KJrJr  SS
KJr  SSKJ r   SSK!J"r"J#r#  SSK$J%r%J&r&J'r'J(r(J)r)  SSK*J+r,  SSK*J-r.  SSK*J/r0  / SQr1S r2 " S S\\S9r3 " S S\\3\S9r4S r5     SS jr6g)é    N)ÚABCMetaÚabstractmethod)ÚIntegralÚRealé   )ÚBaseEstimatorÚClassifierMixinÚ_fit_context)ÚConvergenceWarningÚNotFittedError)ÚLabelEncoder)Úcheck_arrayÚcheck_random_stateÚcolumn_or_1dÚcompute_class_weight)ÚIntervalÚ
StrOptions)Úsafe_sparse_dot)Úavailable_if)Ú_ovr_decision_functionÚcheck_classification_targets)Ú_check_large_sparseÚ_check_sample_weightÚ_num_samplesÚcheck_consistent_lengthÚcheck_is_fittedé   )Ú
_liblinear)Ú_libsvm)Ú_libsvm_sparse)Úc_svcÚnu_svcÚ	one_classÚepsilon_svrÚnu_svrc           	      ó®  • U R                   S   S-   n/ n[        R                  " [        R                  " S/U/5      5      n[	        U5       H„  nX%U   XVS-      2SS24   n[	        US-   U5       H\  nX%U   XXS-      2SS24   n	XS-
  XV   XVS-      24   n
XXX   XXS-      24   nUR                  [        X§5      [        X¹5      -   5        M^     M†     U$ )zyGenerate primal coefficients from dual coefficients
for the one-vs-one multi class LibSVM in the case
of a linear kernel.r   r   N)ÚshapeÚnpÚcumsumÚhstackÚrangeÚappendr   )Ú	dual_coefÚ	n_supportÚsupport_vectorsÚn_classÚcoefÚsv_locsÚclass1Úsv1Úclass2Úsv2Úalpha1Úalpha2s               ÚT/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/sklearn/svm/_base.pyÚ_one_vs_one_coefr:   !   sù   € ð �o‰o˜aÑ  1Ñ$€Gð €DÜ�iŠiœŸ	š	 A 3¨	Ð"2Ó3Ó4€GÜ˜–.ˆà f™o°À¹
Ñ0CÐCÂQÐFÑGˆÜ˜F Q™J¨Ö0ˆFà!¨&¡/°GÀQ¹JÑ4GÐ"GÊÐ"JÑKˆCð ¨™z¨7©?¸WÈaÁZÑ=PÐ+PÐPÑQˆFà w¡¸È!ÁÑ9LÐ'LÐLÑMˆFð �K‰Kœ¨Ó4´ÀvÓ7SÑSÖTó 1ñ !ð €Kó    c                   óÂ  • \ rS rSr% Sr\" 1 Sk5      \/\" \SSSS9/\" SS	15      \" \	S
SSS9/\" \	SSSS9/\" \	S
SSS9/\" \	S
SSS9/\" \	S
SSS9/\" \	S
SSS9/S/S/\" \	SSSS9/\" S15      \
S/S/\" \SSSS9/S/S.r\
\S'   / SQr\S 5       rS r\" SS9S+S j5       rS rS rS rS rS rS  rS! rS" rS# rS$ rS% rS& r\S' 5       r S( r!\S) 5       r"S*r#g),Ú
BaseLibSVMéA   z½Base class for estimators that use libsvm as backing library.

This implements support vector machine classification and regression.

Parameter documentation is in the derived `SVC` class.
>   ÚrbfÚpolyÚlinearÚsigmoidÚprecomputedr   NÚleft)ÚclosedÚscaleÚautoç        ÚneitherÚrightç      ð?ÚbooleanÚbalancedÚverboseéÿÿÿÿÚrandom_state©ÚkernelÚdegreeÚgammaÚcoef0ÚtolÚCÚnuÚepsilonÚ	shrinkingÚprobabilityÚ
cache_sizeÚclass_weightrN   Úmax_iterrP   Ú_parameter_constraints)rA   r@   r?   rB   rC   c                 ó$  • U R                   [        ;  a"  [        S[        < SU R                   < S35      eXl        X l        X0l        X@l        XPl        X`l        Xpl	        X€l
        X�l        X l        X°l        XÀl        XÐl        Xàl        Xðl        g )Nzimpl should be one of z, z
 was given)Ú_implÚLIBSVM_IMPLÚ
ValueErrorrR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   rN   r^   rP   )ÚselfrR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   rN   r^   rP   s                   r9   Ú__init__ÚBaseLibSVM.__init__f   sy   € ð& �:‰:œ[Ó(Ýß<GÈÏÌÐTóð ð ŒØŒØŒ
ØŒ
ØŒØŒØŒØŒØ"ŒØ&ÔØ$ŒØ(ÔØŒØ ŒØ(Õr;   c                 ó$   • SU R                   S:H  0$ )NÚpairwiserC   )rR   ©rd   s    r9   Ú
_more_tagsÚBaseLibSVM._more_tagsŽ   s   € à˜DŸK™K¨=Ñ8Ð9Ð9r;   T)Úprefer_skip_nested_validationc           	      ó`
  • [        U R                  5      n[        R                  " U5      nU(       a  U R                  S:X  a  [        S5      eU=(       a    [        U R                  5      (       + U l        [        U R                  5      (       a  [        X5        O$U R                  UU[        R                  SSSS9u  pU R                  U5      n[        R                  " Uc  / OU[        R                  S9n[        R                  U R                   5      n[#        U5      nUS:w  a6  XrR$                  S	   :w  a$  ['        S
SU< SUR$                  S	   < S3-   5      eU R                  S:X  aG  XqR$                  S   :w  a5  ['        SR)                  UR$                  S	   UR$                  S   5      5      eUR$                  S	   S	:”  a;  UR$                  S	   U:w  a(  ['        SUR$                  < SUR$                  < S35      e[        U R                  5      (       a  SOU R                  nUS:X  a  SU l        Oô[-        U R.                  [0        5      (       a¥  U R.                  S:X  am  U(       a3  UR3                  U5      R5                  5       UR5                  5       S-  -
  OUR7                  5       n	U	S	:w  a  SUR$                  S   U	-  -  OSU l        OXU R.                  S:X  a  SUR$                  S   -  U l        O0[-        U R.                  [8        5      (       a  U R.                  U l        U R                  (       a  U R:                  OU R<                  n
U R>                  (       a
  [A        SSS9  URC                  [        RD                  " S5      RF                  5      nU
" XX6X‹S9  [I        US5      (       a  UR$                  OU4U l%        U RL                  RO                  5       U l(        U RR                  U l*        U R                   S;   a@  [W        U RX                  5      S:X  a'  U =RL                  S-  sl&        U RR                  * U l)        U R                  (       a  U RT                  RZ                  OU RT                  n[        R\                  " U RP                  5      R_                  5       n[        R\                  " U5      R_                  5       nU(       a  U(       d  ['        S5      eU R                   S;   a  U R`                  U l1        U $ U R`                  Re                  5       U l1        U $ ) aÕ  Fit the SVM model according to the given training data.

Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)                 or (n_samples, n_samples)
    Training vectors, where `n_samples` is the number of samples
    and `n_features` is the number of features.
    For kernel="precomputed", the expected shape of X is
    (n_samples, n_samples).

y : array-like of shape (n_samples,)
    Target values (class labels in classification, real numbers in
    regression).

sample_weight : array-like of shape (n_samples,), default=None
    Per-sample weights. Rescale C per sample. Higher weights
    force the classifier to put more emphasis on these points.

Returns
-------
self : object
    Fitted estimator.

Notes
-----
If X and y are not C-ordered and contiguous arrays of np.float64 and
X is not a scipy.sparse.csr_matrix, X and/or y may be copied.

If X is a dense array, then the other methods will not support sparse
matrices as input.
rC   z-Sparse precomputed kernels are not supported.rW   ÚcsrF)ÚdtypeÚorderÚaccept_sparseÚaccept_large_sparse©ro   r   r   z"X and y have incompatible shapes.
zX has z samples, but y has Ú.r   zDPrecomputed matrix must be a square matrix. Input is a {}x{} matrix.z.sample_weight and X have incompatible shapes: z vs zT
Note: Sparse matrices cannot be indexed w/boolean masks (use `indices=True` in CV).rH   rF   rK   rG   z[LibSVM]Ú ©ÚendÚi)Úrandom_seedr'   ©r!   r"   rO   zxThe dual coefficients or intercepts are not finite. The input data may contain large values and need to be preprocessed.)3r   rP   ÚspÚissparserR   Ú	TypeErrorÚcallableÚ_sparser   Ú_validate_datar(   Úfloat64Ú_validate_targetsÚasarrayrb   Úindexra   r   r'   rc   ÚformatÚ_gammaÚ
isinstancerT   ÚstrÚmultiplyÚmeanÚvarr   Ú_sparse_fitÚ
_dense_fitrN   ÚprintÚrandintÚiinfoÚmaxÚhasattrÚ
shape_fit_Ú
intercept_ÚcopyÚ_intercept_Ú
dual_coef_Ú_dual_coef_ÚlenÚclasses_ÚdataÚisfiniteÚallÚ	_num_iterÚn_iter_Úitem)rd   ÚXÚyÚsample_weightÚrndÚsparseÚsolver_typeÚ	n_samplesrR   ÚX_varÚfitÚseedr-   Úintercept_finitenessÚdual_coef_finitenesss                  r9   r©   ÚBaseLibSVM.fit’   s  € ôD ! ×!2Ñ!2Ó3ˆä—’˜Q“ˆÞ�d—k‘k ]Ó2ÜÐKÓLÐLØ×;¤h¨t¯{©{Ó&;Ô";ˆŒä�D—K‘K× Ñ Ü# AÕ)à×&Ñ&ØØÜ—j‘jØØ#Ø$)ð 'ð ‰DˆAð ×"Ñ" 1Ó%ˆäŸ
š
ØÑ'‰B¨]Ä"Ç*Á*ñ
ˆô "×'Ñ'¨¯
©
Ó3ˆô ! “Oˆ	Ø˜!Ó 	¯W©W°Q©ZÓ 7ÜÙ5Û7@À!Ç'Á'È!Ä*ÐMñNóð ð
 �;‰;˜-Ó'¨I¿¹À¹Ó,CÜð,ß,2©F°1·7±7¸1±:¸q¿w¹wÀq¹zÓ,Jóð ð
 ×Ñ˜qÑ! AÓ%¨-×*=Ñ*=¸aÑ*@ÀIÓ*MÝð
 !×&Ô&¨¯¬ð	1óð ô #+¨4¯;©;×"7Ñ"7‘¸T¿[¹[ˆà�]Ó"ð ˆD�KÜ˜Ÿ
™
¤C×(Ñ(Ø�z‰z˜WÓ$æDJ˜Ÿ™ A›×,Ñ,Ó.°!·&±&³(¸q±Ò@ÐPQ×PUÑPUÓPW�Ø<AÀQ»J˜c Q§W¡W¨Q¡Z°%Ñ%7Ò8ÈC�•Ø—‘˜vÓ%Ø! A§G¡G¨A¡JÑ.�”øÜ˜Ÿ
™
¤D×)Ñ)ØŸ*™*ˆDŒKà"&§,§,ˆd×Ò°D·O±OˆØ�<�<Ü�* "Ò%à�{‰{œ2Ÿ8š8 C›=×,Ñ,Ó-ˆÙˆA�-¨fÒGô &-¨Q°×%8Ñ%8˜!Ÿ'š'¸y¸lˆŒð
  Ÿ?™?×/Ñ/Ó1ˆÔØŸ?™?ˆÔØ�:‰:Ð,Ó,´°T·]±]Ó1CÀqÓ1HØ�OŠO˜rÑ!�OØ#Ÿ™Ð.ˆDŒOà-1¯\¯\�D×$Ñ$×)Ò)¸t×?OÑ?Oˆ	Ü!Ÿ{š{¨4×+;Ñ+;Ó<×@Ñ@ÓBÐÜ!Ÿ{š{¨9Ó5×9Ñ9Ó;ÐÞ$Ö)=Üð!óð ð �:‰:Ð,Ó,ØŸ>™>ˆDŒLð ˆð  Ÿ>™>×.Ñ.Ó0ˆDŒLàˆr;   c                 óN   • [        USS9R                  [        R                  SS9$ )zhValidation of y and class_weight.

Default implementation for SVR and one-class; overridden in BaseSVC.
T©ÚwarnF)r•   )r   Úastyper(   r�   )rd   r¢   s     r9   r‚   ÚBaseLibSVM._validate_targets  s%   € ô
 ˜A DÑ)×0Ñ0´·±À%Ð0ÐHÐHr;   c                 óš   • U R                   S;   d   eU R                   S:X  a)  [        R                  " SU R                  -  [        5        g g )N©r   r   r   znSolver terminated early (max_iter=%i).  Consider pre-processing your data with StandardScaler or MinMaxScaler.)Úfit_status_Úwarningsr°   r^   r   ri   s    r9   Ú_warn_from_fit_statusÚ BaseLibSVM._warn_from_fit_status&  sL   € Ø×Ñ 6Ó)Ð)Ð)Ø×Ñ˜qÓ Ü�MŠMð3à59·]±]ñCô #õ	ð !r;   c                 ó0  • [        U R                  5      (       aB  Xl        U R                  U5      nUR                  S   UR                  S   :w  a  [        S5      e[        R                  " U R                  5        [        R                  " UU40 SU_SU_S[        U S[        R                  " S5      5      _SU_S	U R                  _S
U R                  _SU R                  _SU R                   _SU R"                  _SU R$                  _SU R&                  _SU R(                  _SU R*                  _SU R,                  _SU R.                  _SU_6u	  U l        U l        U l        U l        U l        U l        U l        U l        U l         U RC                  5         g )Nr   r   z(X.shape[0] should be equal to X.shape[1]Úsvm_typer£   r]   Úclass_weight_rR   rW   rX   r[   rS   rZ   rV   r\   rU   rT   rY   r^   ry   )"r~   rR   Ú_BaseLibSVM__XfitÚ_compute_kernelr'   rc   ÚlibsvmÚset_verbosity_wraprN   r©   Úgetattrr(   ÚemptyrW   rX   r[   rS   rZ   rV   r\   rU   r†   rY   r^   Úsupport_Úsupport_vectors_Ú
_n_supportr—   r”   Ú_probAÚ_probBrµ   rž   r·   )rd   r¡   r¢   r£   r¦   rR   ry   s          r9   r�   ÚBaseLibSVM._dense_fit0  s“  € Ü�D—K‘K× Ñ ð ŒKØ×$Ñ$ QÓ'ˆAà�w‰w�q‰z˜QŸW™W Q™ZÓ'Ü Ð!KÓLÐLä×!Ò! $§,¡,Ô/ô �JŠJØØò
ñ !ð
ñ (ð	
ô
 !  ¼¿ºÀ»ÔDð
ñ ð
ð �fŠfð
ð �wŠwð
ð ×(Ò(ð
ð —;’;ð
ð —n’nð
ð —’ð
ð —’ð
ð —*’*ð
ð —+’+ð
ð  —L’Lð!
ð" —]’]ð#
ñ$ $ð%
ñ
	
ØŒMØÔ!ØŒOØŒOØŒOØŒKØŒKØÔØŒNð, 	×"Ñ"Õ$r;   c                 ó4  • [         R                  " UR                  [         R                  SS9Ul        UR	                  5         U R
                  R                  U5      n[        R                  " U R                  5        [        R                  " UR                  S   UR                  UR                  UR                  UUUU R                  U R                  U R                   U R"                  U R$                  ['        U S[         R(                  " S5      5      UU R*                  U R,                  U R.                  [1        U R2                  5      [1        U R4                  5      U R6                  U5      u	  U l        U l        nU l        U l        U l         U l!        U l"        U l#        U RI                  5         [K        U S5      (       a  [M        U RN                  5      S-
  n	OSn	U R:                  R                  S   n
[         RP                  " [         RR                  " U
5      U	5      nU
(       d  [T        RV                  " / 5      U l,        g [         RR                  " SURZ                  S-   URZ                  U	-  5      n[T        RV                  " X‹U4Xš45      U l,        g )NrW   ©ro   rp   r   r»   r   rš   ).r(   rƒ   r›   r�   Úsort_indicesÚ_sparse_kernelsr„   Úlibsvm_sparser¿   rN   Úlibsvm_sparse_trainr'   ÚindicesÚindptrrS   r†   rU   rV   rW   rÀ   rÁ   rX   r\   rY   ÚintrZ   r[   r^   rÂ   rÃ   r”   rÄ   rÅ   rÆ   rµ   rž   r·   r’   r™   rš   ÚtileÚaranger{   Ú
csr_matrixr—   Úsize)rd   r¡   r¢   r£   r¦   rR   ry   Úkernel_typeÚdual_coef_datar0   Ún_SVÚdual_coef_indicesÚdual_coef_indptrs                r9   rŒ   ÚBaseLibSVM._sparse_fit_  sð  € Ü—’˜AŸF™F¬"¯*©*¸CÑ@ˆŒØ	�‰Ôà×*Ñ*×0Ñ0°Ó8ˆä×(Ò(¨¯©Ô6ô ×-Ò-Ø�G‰G�A‰JØ�F‰FØ�I‰IØ�H‰HØØØØ�K‰KØ�K‰KØ�J‰JØ�H‰HØ�F‰FÜ�D˜/¬2¯8ª8°A«;Ó7ØØ�G‰GØ�O‰OØ�L‰LÜ�—‘ÓÜ�× Ñ Ó!Ø�M‰MØó+
ñ
	
ØŒMØÔ!ØØŒOØŒOØŒKØŒKØÔØŒNð2 	×"Ñ"Ô$ä�4˜×$Ñ$Ü˜$Ÿ-™-Ó(¨1Ñ,‰GàˆGØ×$Ñ$×*Ñ*¨1Ñ-ˆäŸGšG¤B§I¢I¨d£O°WÓ=ÐÞÜ Ÿmšm¨BÓ/ˆD�Oä!ŸyšyØÐ$×)Ñ)¨AÑ-Ð/@×/EÑ/EÈÑ/Oó Ðô !ŸmšmØÐ4DÐEÈÀóˆD�Or;   c                 ó†   • U R                  U5      nU R                  (       a  U R                  OU R                  nU" U5      $ )ap  Perform regression on samples in X.

For an one-class model, +1 (inlier) or -1 (outlier) is returned.

Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
    For kernel="precomputed", the expected shape of X is
    (n_samples_test, n_samples_train).

Returns
-------
y_pred : ndarray of shape (n_samples,)
    The predicted values.
)Ú_validate_for_predictr   Ú_sparse_predictÚ_dense_predict)rd   r¡   Úpredicts      r9   rß   ÚBaseLibSVM.predictœ  s7   € ð  ×&Ñ& qÓ)ˆØ*.¯,¯,�$×&Ò&¸D×<OÑ<OˆÙ�q‹zÐr;   c                 óš  • U R                  U5      nUR                  S:X  a  [        USSS9nU R                  n[	        U R                  5      (       aL  SnUR
                  S   U R                  S   :w  a*  [        SUR
                  S   U R                  S   4-  5      e[        R                  U R                  5      n[        R                  " UU R                  U R                  U R                  U R                   U R"                  U R$                  U R&                  UUU R(                  U R*                  U R,                  U R.                  S9$ )	Nr   rW   F)rp   rr   rC   r   úMX.shape[1] = %d should be equal to %d, the number of samples at training time)rº   rR   rS   rU   rT   r\   )r½   Úndimr   rR   r~   r'   r“   rc   rb   r„   ra   r¾   rß   rÂ   rÃ   rÄ   r˜   r–   rÅ   rÆ   rS   rU   r†   r\   )rd   r¡   rR   rº   s       r9   rÞ   ÚBaseLibSVM._dense_predict°  s  € Ø× Ñ  Ó#ˆØ�6‰6�Q‹;Ü˜A S¸eÑDˆAà—‘ˆÜ�D—K‘K× Ñ Ø"ˆFØ�w‰w�q‰z˜TŸ_™_¨QÑ/Ó/Ü ð=à—w‘w˜q‘z 4§?¡?°1Ñ#5Ð6ñ7óð ô ×$Ñ$ T§Z¡ZÓ0ˆä�~Š~ØØ�M‰MØ×!Ñ!Ø�O‰OØ×ÑØ×ÑØ�K‰KØ�K‰KØØØ—;‘;Ø—*‘*Ø—+‘+Ø—‘ñ
ð 	
r;   c                 ó  • U R                   n[        U5      (       a  SnU R                  R                  U5      nSn[        R
                  " UR                  UR                  UR                  U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  [        R                  U R                  5      UU R                  U R                  U R                   U R"                  U[%        U S[&        R(                  " S5      5      U R*                  U R,                  U R.                  U R0                  U R2                  U R4                  U R6                  5      $ )NrC   rH   r»   r   )rR   r~   rË   r„   rÌ   Úlibsvm_sparse_predictr›   rÎ   rÏ   rÃ   r˜   r–   rb   ra   rS   r†   rU   rV   rÀ   r(   rÁ   rX   rY   rZ   r[   rÄ   rÅ   rÆ   )rd   r¡   rR   rÕ   rW   s        r9   rÝ   ÚBaseLibSVM._sparse_predictÒ  s  € à—‘ˆÜ�F×ÑØ"ˆFà×*Ñ*×0Ñ0°Ó8ˆàˆä×2Ò2Ø�F‰FØ�I‰IØ�H‰HØ×!Ñ!×&Ñ&Ø×!Ñ!×)Ñ)Ø×!Ñ!×(Ñ(Ø×Ñ×!Ñ!Ø×ÑÜ×Ñ˜dŸj™jÓ)ØØ�K‰KØ�K‰KØ�J‰JØ�H‰HØÜ�D˜/¬2¯8ª8°A«;Ó7Ø�G‰GØ�L‰LØ�N‰NØ×ÑØ�O‰OØ�K‰KØ�K‰Kó/
ð 	
r;   c                 ó  • [        U R                  5      (       aj  U R                  XR                  5      n[        R                  " U5      (       a  UR                  5       n[        R                  " U[        R                  SS9nU$ )z0Return the data transformed by a callable kernelrW   rÉ   )	r~   rR   r¼   r{   r|   Útoarrayr(   rƒ   r�   ©rd   r¡   rR   s      r9   r½   ÚBaseLibSVM._compute_kernelö  s[   € ä�D—K‘K× Ñ ð —[‘[ §K¡KÓ0ˆFÜ�{Š{˜6×"Ñ"ØŸ™Ó)�Ü—
’
˜6¬¯©¸3Ñ?ˆAØˆr;   c                 ó&  • U R                  U5      nU R                  U5      nU R                  (       a  U R                  U5      nOU R	                  U5      nU R
                  S;   a*  [        U R                  5      S:X  a  UR                  5       * $ U$ )a  Evaluates the decision function for the samples in X.

Parameters
----------
X : array-like of shape (n_samples, n_features)

Returns
-------
X : array-like of shape (n_samples, n_class * (n_class-1) / 2)
    Returns the decision function of the sample for each class
    in the model.
rz   r   )	rÜ   r½   r   Ú_sparse_decision_functionÚ_dense_decision_functionra   r™   rš   Úravel)rd   r¡   Údec_funcs      r9   Ú_decision_functionÚBaseLibSVM._decision_function  s   € ð ×&Ñ& qÓ)ˆØ× Ñ  Ó#ˆà�<�<Ø×5Ñ5°aÓ8‰Hà×4Ñ4°QÓ7ˆHð �:‰:Ð,Ó,´°T·]±]Ó1CÀqÓ1HØ—N‘NÓ$Ð$Ð$àˆr;   c                 óÊ  • [        U[        R                  SSS9nU R                  n[	        U5      (       a  Sn[
        R                  " UU R                  U R                  U R                  U R                  U R                  U R                  U R                  [        R                  U R                   5      UU R"                  U R$                  U R&                  U R(                  S9$ )NrW   F)ro   rp   rr   rC   ©rº   rR   rS   r\   rU   rT   )r   r(   r�   rR   r~   r¾   Údecision_functionrÂ   rÃ   rÄ   r˜   r–   rÅ   rÆ   rb   r„   ra   rS   r\   rU   r†   rê   s      r9   rî   Ú#BaseLibSVM._dense_decision_function  s­   € Ü˜¤§¡°3ÈEÑRˆà—‘ˆÜ�F×ÑØ"ˆFä×'Ò'ØØ�M‰MØ×!Ñ!Ø�O‰OØ×ÑØ×ÑØ�K‰KØ�K‰KÜ ×&Ñ& t§z¡zÓ2ØØ—;‘;Ø—‘Ø—*‘*Ø—+‘+ñ
ð 	
r;   c                 óŒ  • [         R                  " UR                  [         R                  SS9Ul        U R                  n[        US5      (       a  SnU R                  R                  U5      n[        R                  " UR                  UR                  UR                  U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  [        R                  U R                   5      UU R"                  U R$                  U R&                  U R(                  U R*                  [-        U S[         R.                  " S5      5      U R0                  U R2                  U R4                  U R6                  U R8                  U R:                  U R<                  5      $ )NrW   rÉ   Ú__call__rC   r»   r   )r(   rƒ   r›   r�   rR   r’   rË   r„   rÌ   Úlibsvm_sparse_decision_functionrÎ   rÏ   rÃ   r˜   r–   rb   ra   rS   r†   rU   rV   rW   rÀ   rÁ   rX   rY   rZ   r[   rÄ   rÅ   rÆ   ©rd   r¡   rR   rÕ   s       r9   rí   Ú$BaseLibSVM._sparse_decision_function7  s;  € Ü—’˜AŸF™F¬"¯*©*¸CÑ@ˆŒà—‘ˆÜ�6˜:×&Ñ&Ø"ˆFà×*Ñ*×0Ñ0°Ó8ˆä×<Ò<Ø�F‰FØ�I‰IØ�H‰HØ×!Ñ!×&Ñ&Ø×!Ñ!×)Ñ)Ø×!Ñ!×(Ñ(Ø×Ñ×!Ñ!Ø×ÑÜ×Ñ˜dŸj™jÓ)ØØ�K‰KØ�K‰KØ�J‰JØ�H‰HØ�F‰FÜ�D˜/¬2¯8ª8°A«;Ó7Ø�G‰GØ�L‰LØ�N‰NØ×ÑØ�O‰OØ�K‰KØ�K‰Kó/
ð 	
r;   c           	      óÒ  • [        U 5        [        U R                  5      (       d"  U R                  US[        R
                  SSSS9nU R                  (       a1  [        R                  " U5      (       d  [        R                  " U5      nU R                  (       a  UR                  5         [        R                  " U5      (       aL  U R                  (       d;  [        U R                  5      (       d!  [        S[        U 5      R                  -  5      eU R                  S:X  aJ  UR                  S   U R                  S   :w  a*  [        S	UR                  S   U R                  S   4-  5      eU R                   nU R                  (       d^  UR"                  S:”  aN  U R$                  R'                  5       UR                  S   :w  a#  [        S
U R(                  R                   S35      eU$ )Nrn   rW   F)rq   ro   rp   rr   Úresetz3cannot use sparse input in %r trained on dense datarC   r   r   râ   zThe internal representation of z was altered)r   r~   rR   r€   r(   r�   r   r{   r|   rÓ   rÊ   rc   ÚtypeÚ__name__r'   r“   rÃ   rÔ   Ú
n_support_ÚsumÚ	__class__)rd   r¡   Úsvs      r9   rÜ   Ú BaseLibSVM._validate_for_predictZ  sx  € Ü˜Ôä˜Ÿ™×$Ñ$Ø×#Ñ#ØØ#Ü—j‘jØØ$)Øð $ð ˆAð �<�<¤§¢¨A§¡Ü—’˜aÓ ˆAØ�<�<Ø�N‰NÔä�;Š;�q�>‰> $§,§,´xÀÇÁ×7LÑ7LÜØEÜ�t“*×%Ñ%ñ&óð ð
 �;‰;˜-Ó'Ø�w‰w�q‰z˜TŸ_™_¨QÑ/Ó/Ü ð=à—w‘w˜q‘z 4§?¡?°1Ñ#5Ð6ñ7óð ð ×"Ñ"ˆØ�|�| §¡¨!£°·±×0CÑ0CÓ0EÈÏÉÐRSÉÓ0TÜØ1°$·.±.×2IÑ2IÐ1JÈ,ÐWóð ð ˆr;   c                 óî   • U R                   S:w  a  [        S5      eU R                  5       n[        R                  " U5      (       a  SUR
                  R                  l        U$ SUR                  l        U$ )zsWeights assigned to the features when `kernel="linear"`.

Returns
-------
ndarray of shape (n_features, n_classes)
rA   z2coef_ is only available when using a linear kernelF)rR   ÚAttributeErrorÚ	_get_coefr{   r|   r›   ÚflagsÚ	writeable©rd   r1   s     r9   Úcoef_ÚBaseLibSVM.coef_‚  sc   € ð �;‰;˜(Ó"Ü Ð!UÓVÐVà�~‰~Óˆô �;Š;�t×Ñà(-ˆD�I‰I�O‰OÔ%ð ˆð $)ˆD�J‰JÔ Øˆr;   c                 óB   • [        U R                  U R                  5      $ ©N)r   r˜   rÃ   ri   s    r9   r  ÚBaseLibSVM._get_coef™  s   € Ü˜t×/Ñ/°×1FÑ1FÓGÐGr;   c                 óì   •  [        U 5        [        R	                  U R
                  5      nUS;   a  U R                  $ [        R                  " U R                  S   /5      $ ! [         a    [        ef = f)z)Number of support vectors for each class.r´   r   )	r   r   r  rb   r„   ra   rÄ   r(   Úarray)rd   rº   s     r9   r   ÚBaseLibSVM.n_support_œ  sk   € ð	!Ü˜DÔ!ô ×$Ñ$ T§Z¡ZÓ0ˆØ�vÓØ—?‘?Ð"ô —8’8˜TŸ_™_¨QÑ/Ð0Ó1Ð1øô ó 	!Ü Ð ð	!ús   ‚A" Á"A3)rW   Ú__Xfitr˜   r†   r–   rÄ   rž   rÅ   rÆ   r   r\   r]   rU   rS   r—   rY   rµ   rT   r”   rR   r^   rŸ   rX   r[   rP   r“   rZ   rÂ   rÃ   rV   rN   r  )$rÿ   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r~   r   r   r   Údictr_   Ú__annotations__rË   r   re   rj   r
   r©   r‚   r·   r�   rŒ   rß   rÞ   rÝ   r½   rñ   rî   rí   rÜ   Úpropertyr  r  r   Ú__static_attributes__© r;   r9   r=   r=   A   s¨  ‡ ññ ÒJÓKØð
ñ ˜H a¨°fÑ=Ð>á˜ Ð(Ó)Ù�T˜3 ¨VÑ4ð
ñ ˜4  t°IÑ>Ð?Ù˜˜s D°Ñ;Ð<Ù�t˜S $¨wÑ7Ð8Ù˜˜c 3¨wÑ7Ð8Ù˜T 3¨°VÑ<Ð=Ø�[Ø!�{Ù  a¨°iÑ@ÐAÙ# Z LÓ1°4¸Ð>Ø�;Ù˜h¨¨D¸Ñ@ÐAØ'Ð(ñ+$Ð˜Dó ò6 J€Oàñ%)ó ð%)òN:ñ °Ñ5óJó 6ðJòXIòò-%ò^;òzò( 
òD"
òH	òò<
ò0!
òF&ðP ñó ðò,Hð ñ2ó ó2r;   r=   )Ú	metaclassc                   ó8  ^ • \ rS rSr% Sr0 \R                  E\" SS15      /S/S.Er\\	S'   S H  r
\R                  \
5        M     \U 4S	 j5       rS
 rS rU 4S jrS r\" \5      S 5       r\" \5      S 5       rS rS rS r\S 5       r\S 5       rSrU =r$ )ÚBaseSVCi­  z!ABC for LibSVM-based classifiers.ÚovrÚovorL   )Údecision_function_shapeÚ
break_tiesr_   )rY   rX   c                 óV   >• Xàl         UU l        [        TU ]  UUUUUUUSUU	U
UUUUS9  g )NrH   rQ   )r"  r#  Úsuperre   )rd   rR   rS   rT   rU   rV   rW   rX   rZ   r[   r\   r]   rN   r^   r"  rP   r#  r  s                    €r9   re   ÚBaseSVC.__init__¸  sQ   ø€ ð( (?Ô$Ø$ˆŒÜ‰ÑØØØØØØØØØØ#Ø!Ø%ØØØ%ð 	ò 	
r;   c                 ó,  • [        USS9n[        U5        [        R                  " USS9u  p1[	        U R
                  X2S9U l        [        U5      S:  a  [        S[        U5      -  5      eX0l	        [        R                  " U[        R                  SS9$ )	NTr¯   )Úreturn_inverse©Úclassesr¢   r   z>The number of classes has to be greater than one; got %d classrW   rÉ   )r   r   r(   Úuniquer   r]   r»   r™   rc   rš   rƒ   r�   )rd   r¢   Úy_Úclss       r9   r‚   ÚBaseSVC._validate_targetsà  s‚   € Ü˜! $Ñ'ˆÜ$ QÔ'Ü—’˜2¨dÑ3‰ˆÜ1°$×2CÑ2CÈSÑWˆÔÜˆs‹8�a‹<ÜØPÜ�c“(ñóð ð
 Œä�zŠz˜!¤2§:¡:°SÑ9Ð9r;   c                 óÂ   • U R                  U5      nU R                  S:X  a=  [        U R                  5      S:”  a$  [	        US:  U* [        U R                  5      5      $ U$ )a„  Evaluate the decision function for the samples in X.

Parameters
----------
X : array-like of shape (n_samples, n_features)
    The input samples.

Returns
-------
X : ndarray of shape (n_samples, n_classes * (n_classes-1) / 2)
    Returns the decision function of the sample for each class
    in the model.
    If decision_function_shape='ovr', the shape is (n_samples,
    n_classes).

Notes
-----
If decision_function_shape='ovo', the function values are proportional
to the distance of the samples X to the separating hyperplane. If the
exact distances are required, divide the function values by the norm of
the weight vector (``coef_``). See also `this question
<https://stats.stackexchange.com/questions/14876/
interpreting-distance-from-hyperplane-in-svm>`_ for further details.
If decision_function_shape='ovr', the decision function is a monotonic
transformation of ovo decision function.
r   r   r   )rñ   r"  r™   rš   r   )rd   r¡   Údecs      r9   rõ   ÚBaseSVC.decision_functionï  sU   € ð6 ×%Ñ% aÓ(ˆØ×'Ñ'¨5Ó0´S¸¿¹Ó5GÈ!Ó5KÜ)¨#°©'°C°4¼¸T¿]¹]Ó9KÓLÐLØˆ
r;   c                 óÆ  >• [        U 5        U R                  (       a  U R                  S:X  a  [        S5      eU R                  (       aN  U R                  S:X  a>  [	        U R
                  5      S:”  a%  [        R                  " U R                  U5      SS9nO[        TU ])  U5      nU R
                  R                  [        R                  " U[        R                  S95      $ )aŸ  Perform classification on samples in X.

For an one-class model, +1 or -1 is returned.

Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features) or                 (n_samples_test, n_samples_train)
    For kernel="precomputed", the expected shape of X is
    (n_samples_test, n_samples_train).

Returns
-------
y_pred : ndarray of shape (n_samples,)
    Class labels for samples in X.
r!  z>break_ties must be False when decision_function_shape is 'ovo'r   r   r   )Úaxisrs   )r   r#  r"  rc   r™   rš   r(   Úargmaxrõ   r%  rß   Útakerƒ   Úintp)rd   r¡   r¢   r  s      €r9   rß   ÚBaseSVC.predict  s¦   ø€ ô" 	˜ÔØ�?�?˜t×;Ñ;¸uÓDÜØPóð ð
 �O�OØ×,Ñ,°Ó5Ü�D—M‘MÓ" QÓ&ä—	’	˜$×0Ñ0°Ó3¸!Ñ<‰Aä‘‘ Ó"ˆAØ�}‰}×!Ñ!¤"§*¢*¨Q´b·g±gÑ">Ó?Ð?r;   c                 ór   • U R                   (       d  [        S5      eU R                  S;  a  [        S5      eg)Nz5predict_proba is not available when probability=Falserz   z0predict_proba only implemented for SVC and NuSVCT)r[   r  ra   ri   s    r9   Ú_check_probaÚBaseSVC._check_proba4  s9   € Ø××Ü ØGóð ð �:‰:Ð0Ó0Ü Ð!SÓTÐTØr;   c                 ó  • U R                  U5      nU R                  R                  S:X  d  U R                  R                  S:X  a  [	        S5      eU R
                  (       a  U R                  OU R                  nU" U5      $ )a$  Compute probabilities of possible outcomes for samples in X.

The model needs to have probability information computed at training
time: fit with attribute `probability` set to True.

Parameters
----------
X : array-like of shape (n_samples, n_features)
    For kernel="precomputed", the expected shape of X is
    (n_samples_test, n_samples_train).

Returns
-------
T : ndarray of shape (n_samples, n_classes)
    Returns the probability of the sample for each class in
    the model. The columns correspond to the classes in sorted
    order, as they appear in the attribute :term:`classes_`.

Notes
-----
The probability model is created using cross validation, so
the results can be slightly different than those obtained by
predict. Also, it will produce meaningless results on very small
datasets.
r   zApredict_proba is not available when fitted with probability=False)rÜ   ÚprobA_rÔ   ÚprobB_r   r   Ú_sparse_predict_probaÚ_dense_predict_proba)rd   r¡   Ú
pred_probas      r9   Úpredict_probaÚBaseSVC.predict_proba=  sq   € ð6 ×&Ñ& qÓ)ˆØ�;‰;×Ñ˜qÓ  D§K¡K×$4Ñ$4¸Ó$9Ü ØSóð ð +/¯,¯,ˆD×&Ò&¸D×<UÑ<Uð 	ñ ˜!‹}Ðr;   c                 óL   • [         R                  " U R                  U5      5      $ )ab  Compute log probabilities of possible outcomes for samples in X.

The model need to have probability information computed at training
time: fit with attribute `probability` set to True.

Parameters
----------
X : array-like of shape (n_samples, n_features) or                 (n_samples_test, n_samples_train)
    For kernel="precomputed", the expected shape of X is
    (n_samples_test, n_samples_train).

Returns
-------
T : ndarray of shape (n_samples, n_classes)
    Returns the log-probabilities of the sample for each class in
    the model. The columns correspond to the classes in sorted
    order, as they appear in the attribute :term:`classes_`.

Notes
-----
The probability model is created using cross validation, so
the results can be slightly different than those obtained by
predict. Also, it will produce meaningless results on very small
datasets.
)r(   ÚlogrA  )rd   r¡   s     r9   Úpredict_log_probaÚBaseSVC.predict_log_probab  s   € ô8 �vŠv�d×(Ñ(¨Ó+Ó,Ð,r;   c                 óÀ  • U R                  U5      nU R                  n[        U5      (       a  Sn[        R	                  U R
                  5      n[        R                  " UU R                  U R                  U R                  U R                  U R                  U R                  U R                  UUU R                  U R                   U R"                  U R$                  S9nU$ )NrC   rô   )r½   rR   r~   rb   r„   ra   r¾   rA  rÂ   rÃ   rÄ   r˜   r–   rÅ   rÆ   rS   r\   rU   r†   )rd   r¡   rR   rº   Úpprobs        r9   r?  ÚBaseSVC._dense_predict_proba€  s²   € Ø× Ñ  Ó#ˆà—‘ˆÜ�F×ÑØ"ˆFä×$Ñ$ T§Z¡ZÓ0ˆÜ×$Ò$ØØ�M‰MØ×!Ñ!Ø�O‰OØ×ÑØ×ÑØ�K‰KØ�K‰KØØØ—;‘;Ø—‘Ø—*‘*Ø—+‘+ñ
ˆð" ˆr;   c                 óŠ  • [         R                  " UR                  [         R                  SS9Ul        U R                  n[        U5      (       a  SnU R                  R                  U5      n[        R                  " UR                  UR                  UR                  U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  [        R                  U R                   5      UU R"                  U R$                  U R&                  U R(                  U R*                  [-        U S[         R.                  " S5      5      U R0                  U R2                  U R4                  U R6                  U R8                  U R:                  U R<                  5      $ )NrW   rÉ   rC   r»   r   )r(   rƒ   r›   r�   rR   r~   rË   r„   rÌ   Úlibsvm_sparse_predict_probarÎ   rÏ   rÃ   r˜   r–   rb   ra   rS   r†   rU   rV   rW   rÀ   rÁ   rX   rY   rZ   r[   rÄ   rÅ   rÆ   rú   s       r9   r>  ÚBaseSVC._sparse_predict_proba›  s9  € Ü—’˜AŸF™F¬"¯*©*¸CÑ@ˆŒà—‘ˆÜ�F×ÑØ"ˆFà×*Ñ*×0Ñ0°Ó8ˆä×8Ò8Ø�F‰FØ�I‰IØ�H‰HØ×!Ñ!×&Ñ&Ø×!Ñ!×)Ñ)Ø×!Ñ!×(Ñ(Ø×Ñ×!Ñ!Ø×ÑÜ×Ñ˜dŸj™jÓ)ØØ�K‰KØ�K‰KØ�J‰JØ�H‰HØ�F‰FÜ�D˜/¬2¯8ª8°A«;Ó7Ø�G‰GØ�L‰LØ�N‰NØ×ÑØ�O‰OØ�K‰KØ�K‰Kó/
ð 	
r;   c                 óŽ  • U R                   R                  S   S:X  a"  [        U R                   U R                  5      nU$ [	        U R                   U R
                  U R                  5      n[        R                  " US   5      (       a&  [        R                  " U5      R                  5       nU$ [        R                  " U5      nU$ )Nr   r   )r—   r'   r   rÃ   r:   rÄ   r{   r|   ÚvstackÚtocsrr(   r
  s     r9   r  ÚBaseSVC._get_coef¾  s�   € Ø�?‰?× Ñ  Ñ# qÓ(ä" 4§?¡?°D×4IÑ4IÓJˆDð ˆô $Ø—‘ §¡°$×2GÑ2GóˆDô �{Š{˜4 ™7×#Ñ#Ü—y’y “×,Ñ,Ó.�ð ˆô —y’y “�àˆr;   c                 ó   • U R                   $ ©z�Parameter learned in Platt scaling when `probability=True`.

Returns
-------
ndarray of shape  (n_classes * (n_classes - 1) / 2)
)rÅ   ri   s    r9   r<  ÚBaseSVC.probA_Î  ó   € ð �{‰{Ðr;   c                 ó   • U R                   $ rR  )rÆ   ri   s    r9   r=  ÚBaseSVC.probB_Ø  rT  r;   )r#  r»   rš   r"  )rÿ   r  r  r  r  r=   r_   r   r  r  Úunused_paramÚpopr   re   r‚   rõ   rß   r9  r   rA  rE  r?  r>  r  r  r<  r=  r  Ú__classcell__)r  s   @r9   r  r  ­  sí   ø‡ Ù+ð$Ø
×
+Ñ
+ð$á$.°°u¨~Ó$>Ð#?Ø �kò$Ð˜Dó ó
 *ˆØ×"Ñ" <Ö0ñ *ð ô%
ó ð%
òN:òõ@@òJñ �,Óñ"ó  ð"ñH �,Óñ-ó  ð-ò:ò6!
òFð  ñó ðð ñó ör;   r  c           
      ó„  • SS0SSS.S.SSS	00SS
0SSS.S.SSS00SSSS.0SS.nU S:X  a  X@   $ U S:w  a  [        SU -  5      eUR                  US5      nUc  SU-  nOGUR                  US5      nUc  SU< SU< S3nO&UR                  US5      nUc  SU< SU< SU< 3nOU$ [        SU< SU< SU< SU< 35      e)zöFind the liblinear magic number for the solver.

This number depends on the values of the following attributes:
  - multi_class
  - penalty
  - loss
  - dual

The same number is also internally used by LibLinear to determine
which solver to use.
Fé   r   é   )FT)Úl1Úl2r^  Té   é   r   r   é   é   é   é   )Úlogistic_regressionÚhingeÚsquared_hingeÚepsilon_insensitiveÚsquared_epsilon_insensitiveÚcrammer_singerrj  r   z<`multi_class` must be one of `ovr`, `crammer_singer`, got %rNzloss='%s' is not supportedzThe combination of penalty='z' and loss='z' is not supportedz' are not supported when dual=zUnsupported set of arguments: z, Parameters: penalty=z, loss=z, dual=)rc   Úget)	Úmulti_classÚpenaltyÚlossÚdualÚ_solver_type_dictÚ_solver_penÚerror_stringÚ_solver_dualÚ
solver_nums	            r9   Ú_get_liblinear_solver_typeru  ã  s&  € ð" (-¨a jÀÈÑ8KÑLØ˜˜q˜	Ð"Ø!&¨ 
¸!À1Ñ2EÑFØ $ t¨R jÐ1Ø(,°bÀÑ.CÐ'DØñÐð Ð&Ó&Ø Ñ-Ð-Ø	˜Ó	ÜØJÈ[ÑXó
ð 	
ð $×'Ñ'¨¨dÓ3€KØÑØ3°dÑ:‰à"—‘ w°Ó5ˆØÒó ›Dð"ñ ð
 &×)Ñ)¨$°Ó5ˆJØÒ!ó CJË4ÒQUðWñ ð
 "Ð!Ý
ã›£$ªð	.óð r;   c                 ó¶  • US;  aS  [        5       nUR                  U5      nUR                  n[        U5      S:  a  [	        SUS   -  5      e[        UUUS9nO%[        R                  " S[        R                  S9nUn[        R                  " U5        [        U5      nU(       a
  [        SSS	9  S
nU(       a  US::  a  [	        SU-  5      eUn[        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                   " U 5      (       a  [#        U 5        [        R$                  " U[        R                  S9R'                  5       n[        R(                  " USS9n[+        Xð[        R                  S9n[-        XÆX×5      n[        R.                  " U U[        R                   " U 5      UU
UUUU	UR1                  [        R2                  " S5      R4                  5      UU5      u  nn[5        U5      nUU	:¼  a  [6        R8                  " S[:        5        U(       a  USS2SS24   nUUSS2S4   -  nOUnSnUUU4$ )aê  Used by Logistic Regression (and CV) and LinearSVC/LinearSVR.

Preprocessing is done in this function before supplying it to liblinear.

Parameters
----------
X : {array-like, sparse matrix} of shape (n_samples, n_features)
    Training vector, where `n_samples` is the number of samples and
    `n_features` is the number of features.

y : array-like of shape (n_samples,)
    Target vector relative to X

C : float
    Inverse of cross-validation parameter. The lower the C, the higher
    the penalization.

fit_intercept : bool
    Whether or not to fit an intercept. If set to True, the feature vector
    is extended to include an intercept term: ``[x_1, ..., x_n, 1]``, where
    1 corresponds to the intercept. If set to False, no intercept will be
    used in calculations (i.e. data is expected to be already centered).

intercept_scaling : float
    Liblinear internally penalizes the intercept, treating it like any
    other term in the feature vector. To reduce the impact of the
    regularization on the intercept, the `intercept_scaling` parameter can
    be set to a value greater than 1; the higher the value of
    `intercept_scaling`, the lower the impact of regularization on it.
    Then, the weights become `[w_x_1, ..., w_x_n,
    w_intercept*intercept_scaling]`, where `w_x_1, ..., w_x_n` represent
    the feature weights and the intercept weight is scaled by
    `intercept_scaling`. This scaling allows the intercept term to have a
    different regularization behavior compared to the other features.

class_weight : dict or 'balanced', default=None
    Weights associated with classes in the form ``{class_label: weight}``.
    If not given, all classes are supposed to have weight one. For
    multi-output problems, a list of dicts can be provided in the same
    order as the columns of y.

    The "balanced" mode uses the values of y to automatically adjust
    weights inversely proportional to class frequencies in the input data
    as ``n_samples / (n_classes * np.bincount(y))``

penalty : {'l1', 'l2'}
    The norm of the penalty used in regularization.

dual : bool
    Dual or primal formulation,

verbose : int
    Set verbose to any positive number for verbosity.

max_iter : int
    Number of iterations.

tol : float
    Stopping condition.

random_state : int, RandomState instance or None, default=None
    Controls the pseudo random number generation for shuffling the data.
    Pass an int for reproducible output across multiple function calls.
    See :term:`Glossary <random_state>`.

multi_class : {'ovr', 'crammer_singer'}, default='ovr'
    `ovr` trains n_classes one-vs-rest classifiers, while `crammer_singer`
    optimizes a joint objective over all classes.
    While `crammer_singer` is interesting from an theoretical perspective
    as it is consistent it is seldom used in practice and rarely leads to
    better accuracy and is more expensive to compute.
    If `crammer_singer` is chosen, the options loss, penalty and dual will
    be ignored.

loss : {'logistic_regression', 'hinge', 'squared_hinge',             'epsilon_insensitive', 'squared_epsilon_insensitive},             default='logistic_regression'
    The loss function used to fit the model.

epsilon : float, default=0.1
    Epsilon parameter in the epsilon-insensitive loss function. Note
    that the value of this parameter depends on the scale of the target
    variable y. If unsure, set epsilon=0.

sample_weight : array-like of shape (n_samples,), default=None
    Weights assigned to each sample.

Returns
-------
coef_ : ndarray of shape (n_features, n_features + 1)
    The coefficient vector got by minimizing the objective function.

intercept_ : float
    The intercept term added to the vector.

n_iter_ : array of int
    Number of iterations run across for each class.
)rh  ri  r   zeThis solver needs samples of at least 2 classes in the data, but the data contains only one class: %rr   r)  rs   z[LibLinear]ru   rv   g      ð¿zqIntercept scaling is %r but needs to be greater than 0. To disable fitting an intercept, set fit_intercept=False.ÚW)Úrequirementsrx   z@Liblinear failed to converge, increase the number of iterations.NrO   rH   )r   Úfit_transformrš   r™   rc   r   r(   rÁ   r�   Ú	liblinearr¿   r   rŽ   r¾   rÌ   r{   r|   r   rƒ   rï   Úrequirer   ru  Ú
train_wrapr�   r�   r‘   r¶   r°   r   )r¡   r¢   rW   Úfit_interceptÚintercept_scalingr]   rm  ro  rN   r^   rV   rP   rl  rn  rY   r£   ÚencÚy_indrš   r»   r¤   Úbiasr¦   Ú	raw_coef_rŸ   Ú
n_iter_maxr  r”   s                               r9   Ú_fit_liblinearr„    s$  € ðh ÐIÓIÜ‹nˆØ×!Ñ! !Ó$ˆØ—<‘<ˆÜˆx‹=˜1ÓÜðà'¨™{ñ+óð ô -¨\À8ÈqÑQ‰äŸš ¬"¯*©*Ñ5ˆØˆÜ× Ò  Ô)Ü
˜\Ó
*€CÞÜˆm Ò$ð €DÞØ Ó!Üð,à.?ñ@óð ð %ˆDä
×Ò˜gÔ&Ü×$Ò$ WÔ-Ü× Ò  Ô)ô 
‡{‚{�1‡~�~Ü˜AÔô �JŠJ�u¤B§J¡JÑ/×5Ñ5Ó7€EÜ�JŠJ�u¨3Ñ/€Eä(¨ÄÇÁÑL€Mä,¨[À4ÓN€KÜ"×-Ò-Ø	ØÜ
�Š�A‹ØØØØ	ØØØ�‰”B—H’H˜S“M×%Ñ%Ó&ØØóÑ€Iˆwô$ �W“€JØ�XÓÜ�ŠØNÜô	
ö
 Øš!˜S˜b˜S˜&Ñ!ˆØ&¨²1°b°5Ñ)9Ñ9‰
àˆØˆ
à�*˜gÐ%Ð%r;   )Nr   re  gš™™™™™¹?N)7r¶   Úabcr   r   Únumbersr   r   Únumpyr(   Úscipy.sparser¥   r{   Úbaser   r	   r
   Ú
exceptionsr   r   Úpreprocessingr   Úutilsr   r   r   r   Úutils._param_validationr   r   Úutils.extmathr   Úutils.metaestimatorsr   Úutils.multiclassr   r   Úutils.validationr   r   r   r   r   ru   r   rz  r   r¾   r    rÌ   rb   r:   r=   r  ru  r„  r  r;   r9   Ú<module>r’     s•   ðÛ ß 'ß "ã Ý ç ?Ñ ?ß ;Ý (ß WÓ Wß :Ý +Ý /ß S÷õ õ &õ  Ý -âG€òô@i	2�¨'ò i	2ôXsˆo˜z°Wò sòl	6ðJ ØØ	ØØõ!C&r;   