Ë
    ÷Q(hH$  ã                   óÄ  — d dl Zd dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZmZmZ d dlmZ  e«       Z ed«      Z ej(                  ej*                  j,                  d    «      Zej1                  e«       ej*                  e   Zej4                  e   Z G d	„ d
e«      Zej:                  j=                  dddg«      ej:                  j=                  dddg«      ej:                  j=                  ddge¢«      d„ «       «       «       Zej:                  j=                  dddg«      ej:                  j=                  ddge¢«      d„ «       «       Z d„ Z!ej:                  j=                  ddge¢«      ej:                  j=                  dd«      d„ «       «       Z"ej:                  j=                  dg d¢«      d„ «       Z#d„ Z$d„ Z%d„ Z&d„ Z'ej:                  j=                  dddg«      ej:                  j=                  dddg«      ej:                  j=                  ddge¢«      d„ «       «       «       Z(ej:                  j=                  dddg«      ej:                  j=                  ddge¢«      d„ «       «       Z)ej:                  j=                  ddge¢«      ej:                  j=                  dd«      d „ «       «       Z*d!„ Z+ej:                  j=                  d"ee	g«      d#„ «       Z,y)$é    N)ÚClassifierMixin)Ú	load_iris)ÚPassiveAggressiveClassifierÚPassiveAggressiveRegressor)Úcheck_random_state)Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)ÚCSR_CONTAINERSé   c                   ó,   — e Zd Z	 	 	 	 	 	 dd„Zd„ Zd„ Zy)ÚMyPassiveAggressiveNc                 óJ   — || _         || _        || _        || _        || _        y ©N)ÚCÚepsilonÚlossÚfit_interceptÚn_iter)Úselfr   r   r   r   r   Úrandom_states          úp/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/linear_model/tests/test_passive_aggressive.pyÚ__init__zMyPassiveAggressive.__init__   s(   € ð ˆŒØˆŒØˆŒ	Ø*ˆÔØˆ�ó    c           	      ón  — |j                   \  }}t        j                  |t        j                  ¬«      | _        d| _        t        | j                  «      D �]\  }t        |«      D �]J  }| j                  ||   «      }| j                  dv rt        d||   |z  z
  d«      }n2t        t        j                  |||   z
  «      | j                  z
  d«      }t        j                  ||   ||   «      }	| j                  dv rt        | j                  ||	z  «      }
n&| j                  dv r||	dd	| j                  z  z  z   z  }
| j                  dv r	
||   z  }
n
t        j                   ||   |z
  «      z  }
| xj                  |
||   z  z  c_        | j"                  s�Œ6| xj
                  |
z  c_        �ŒM �Œ_ y )
N)Údtypeç        ©ÚhingeÚsquared_hingeé   r   )r   Úepsilon_insensitive)r    Úsquared_epsilon_insensitiveç      ð?é   )ÚshapeÚnpÚzerosÚfloat64ÚwÚbÚranger   Úprojectr   ÚmaxÚabsr   ÚdotÚminr   Úsignr   )r   ÚXÚyÚ	n_samplesÚ
n_featuresÚtÚiÚpr   ÚsqnormÚsteps              r   ÚfitzMyPassiveAggressive.fit'   sy  € Ø !§¡Ñˆ	�:Ü—‘˜*¬B¯J©JÔ7ˆŒØˆŒä�t—{‘{Ó#ó 	#ˆAÜ˜9Ó%ó #�Ø—L‘L  1¡Ó&�Ø—9‘9Ð :Ñ:Ü˜q 1 Q¡4¨!¡8™|¨QÓ/‘DäœrŸv™v a¨!¨A©$¡hÓ/°$·,±,Ñ>ÀÓB�DäŸ™  !¡ a¨¡dÓ+�à—9‘9Ð @Ñ@Ü˜tŸv™v t¨f¡}Ó5‘DØ—Y‘YÐ"RÑRØ 6¨C°1°t·v±v±:Ñ,>Ñ#>Ñ?�Dà—9‘9Ð :Ñ:Ø˜A˜a™D‘L‘DàœBŸG™G A a¡D¨1¡HÓ-Ñ-�Dà—’˜$  1¡™+Ñ%•Ø×%Ô%Ø—F’F˜d‘N—Fò+#ñ	#r   c                 ó\   — t        j                  || j                  «      | j                  z   S r   )r'   r0   r*   r+   )r   r3   s     r   r-   zMyPassiveAggressive.projectD   s    € Ü�v‰v�a˜Ÿ™Ó  4§6¡6Ñ)Ð)r   )r$   g{®Gáz„?r   Tr!   N)Ú__name__Ú
__module__Ú__qualname__r   r<   r-   © r   r   r   r      s%   „ ð ØØØØØóò#ó:*r   r   ÚaverageFTr   Úcsr_containerc                 ó*  — | � | t         «      nt         }t        dd|d|d ¬«      }|j                  |t        «       |j	                  |t        «      }|dkD  sJ ‚|r9t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d	«      sJ ‚y y )
Nr$   é   r!   )r   Úmax_iterr   r   rB   ÚtolçHáz®Gé?Ú_average_coefÚ_average_interceptÚ_standard_interceptÚ_standard_coef)r3   r   r<   r4   ÚscoreÚhasattr)rC   r   rB   ÚdataÚclfrM   s         r   Útest_classifier_accuracyrQ   H   s¨   € ð  -Ð8‰=œÔ¼a€DÜ
%Ø
ØØ#ØØØô€Cð ‡G�GˆD”!ÔØ�I‰I�dœAÓ€EØ�4Š<Ðˆ<ÙÜ�s˜OÔ,Ð,Ð,Ü�sÐ0Ô1Ð1Ð1Ü�sÐ1Ô2Ð2Ð2Ü�sÐ,Ô-Ð-Ñ-ð	 r   c                 óx  — t        j                  t        «      }| � | t        «      nt        }t	        d|d¬«      }t        d«      D ]  }|j                  |t        |«       Œ |j                  |t        «      }|dkD  sJ ‚|r9t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d	«      sJ ‚y y )
Nr   é   ©r   rB   rF   rE   rH   rI   rJ   rK   rL   )	r'   Úuniquer4   r3   r   r,   Úpartial_fitrM   rN   )rC   rB   ÚclassesrO   rP   r7   rM   s          r   Útest_classifier_partial_fitrX   _   s»   € ô �i‰iœ‹l€GØ,Ð8‰=œÔ¼a€DÜ
%°1¸gÐPQÔ
R€CÜ�2‹Yò *ˆØ�‰˜œa Õ)ð*à�I‰I�dœAÓ€EØ�4Š<Ðˆ<ÙÜ�s˜OÔ,Ð,Ð,Ü�sÐ0Ô1Ð1Ð1Ü�sÐ1Ô2Ð2Ð2Ü�sÐ,Ô-Ð-Ñ-ð	 r   c                  óV  — t        d¬«      j                  t        t        «      } t	        | j
                  t        j                  t        «      «       | j                  t        d d …d d…f   t        j                  t           «       t	        | j
                  t        j                  «       y )NrS   ©rF   éÿÿÿÿ)
r   r<   r3   r4   r
   Úclasses_r'   rU   ÚirisÚtarget_names©rP   s    r   Útest_classifier_refitr`   p   sh   € ä
%¨qÔ
1×
5Ñ
5´a¼Ó
;€CÜ�s—|‘|¤R§Y¡Y¬q£\Ô2à‡G�GŒAŠa��"�ˆf‰I”t×(Ñ(¬Ñ+Ô,Ü�s—|‘|¤T×%6Ñ%6Õ7r   r   r   c                 óT  — t         j                  «       }d|t         dk7  <   t        | d¬«      }|j                  t        |«       |� |t        «      nt        }t        | ddd ¬«      }|j                  ||«       t        |j                  |j                  j                  «       d¬«       y )Nr[   r!   r%   ©r   r   F)r   rF   ÚshufflerG   ©Údecimal)
r4   Úcopyr   r<   r3   r   r	   r*   Úcoef_Úravel)r   rC   Úy_binÚclf1rO   Úclf2s         r   Útest_classifier_correctnessrl   y   sƒ   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�Mä D°Ô3€DØ‡H�HŒQ�Ôà,Ð8‰=œÔ¼a€DÜ&¨D¸1ÀeÐQUÔV€DØ‡H�HˆT�5Ôä˜dŸf™f d§j¡j×&6Ñ&6Ó&8À!ÖDr   Úresponse_method)Úpredict_probaÚpredict_log_probaÚ	transformc                 ó�   — t        d¬«      }t        j                  t        «      5  t	        || «       d d d «       y # 1 sw Y   y xY w©Néd   rZ   )r   ÚpytestÚraisesÚAttributeErrorÚgetattr)rm   rP   s     r   Ú!test_classifier_undefined_methodsrx   ‰   s9   € ô &¨sÔ
3€CÜ	�‰”~Ó	&ñ &Ü��_Ô%÷&÷ &ñ &ús	   ¦<¼Ac                  ó¤  — t        j                  ddgddgddgddgddgg«      } g d¢}t        ddd d¬	«      }|j                  | |«       t	        |j                  d
dgg«      t        j                  dg«      «       t        ddddid¬	«      }|j                  | |«       t	        |j                  d
dgg«      t        j                  dg«      «       y )Nç      ð¿r   çš™™™™™é¿r$   r   ©r!   r!   r!   r[   r[   çš™™™™™¹?rs   )r   rF   Úclass_weightr   gš™™™™™É?r!   gü©ñÒMbP?r[   )r'   Úarrayr   r<   r
   Úpredict©ÚX2Úy2rP   s      r   Útest_class_weightsr„   ’   sÆ   € ä	�‰�D˜$�< $¨ ¨T°4¨L¸3À¸*ÀsÈCÀjÐQÓ	R€BÚ	€Bä
%Ø
˜¨$¸Sô€Cð ‡G�GˆB�„OÜ�s—{‘{ S¨$ K =Ó1´2·8±8¸Q¸C³=ÔAô &Ø
˜¨1¨e¨*À3ô€Cð ‡G�GˆB�„Oô �s—{‘{ S¨$ K =Ó1´2·8±8¸R¸D³>ÕBr   c                  óà   — t        dd¬«      } t        j                  t        «      5  | j	                  t
        t        t        j                  t        «      ¬«       d d d «       y # 1 sw Y   y xY w)NÚbalancedrs   ©r~   rF   )rW   )	r   rt   ru   Ú
ValueErrorrV   r3   r4   r'   rU   r_   s    r   Ú&test_partial_fit_weight_class_balancedr‰   ¨   sI   € ä
%°:ÈÔ
L€CÜ	�‰”zÓ	"ñ 4Ø�‰œœ1¤b§i¡i´£lˆÔ3÷4÷ 4ñ 4ús   §4A$Á$A-c                  óv  — ddgddgddgddgg} g d¢}t        dd d ¬«      }|j                  | |«       t        dd d¬«      }|j                  | |«       t        dd dddœ¬«      }|j                  | |«       t        |j                  |j                  d	¬
«       t        |j                  |j                  d	¬
«       y )Nr!   r   )r   r   r!   r!   r}   )r   rG   r~   r†   ç      à?)r   r!   r%   rd   )r   r<   r   rg   )r‚   rƒ   rP   Úclf_balancedÚclf_weighteds        r   Útest_equal_class_weightrŽ   ¯   s¶   € Øˆaˆ&�1�a�&˜1˜a˜& 1 a &Ð	)€BÚ	€BÜ
%¨°ÀDÔ
I€CØ‡G�GˆB�„Oô /°¸$ÈZÔX€LØ×Ñ�R˜Ôä.Ø
�4¨#°#Ñ&6ô€Lð ×Ñ�R˜Ôô ˜Ÿ	™	 <×#5Ñ#5¸qÕAÜ˜Ÿ	™	 <×#5Ñ#5¸qÖAr   c                  óò   — t        j                  ddgddgddgddgddgg«      } g d¢}t        ddid¬	«      }t        j                  t
        «      5  |j                  | |«       d d d «       y # 1 sw Y   y xY w)
Nrz   r   r{   r$   r   r|   r‹   rs   r‡   )r'   r   r   rt   ru   rˆ   r<   r�   s      r   Útest_wrong_class_weight_labelr�   Ã   sr   € ä	�‰�D˜$�< $¨ ¨T°4¨L¸3À¸*ÀsÈCÀjÐQÓ	R€BÚ	€Bä
%°A°s°8ÀcÔ
J€CÜ	�‰”zÓ	"ñ Ø�‰��BŒ÷÷ ñ ús   ÁA-Á-A6c                 óˆ  — t         j                  «       }d|t         dk7  <   | � | t        «      nt        }t        d|d|d¬«      }|j	                  ||«       |j                  |«      }t        j                  ||z
  dz  «      dk  sJ ‚|r9t        |d	«      sJ ‚t        |d
«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚y y )Nr[   r!   r$   r   rS   )r   r   r   rB   rF   r%   ç333333û?rI   rJ   rK   rL   )	r4   rf   r3   r   r<   r€   r'   ÚmeanrN   )rC   r   rB   ri   rO   ÚregÚpreds          r   Útest_regressor_mser–   Í   sÏ   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�Mà,Ð8‰=œÔ¼a€DÜ
$Ø
Ø#ØØØô€Cð ‡G�GˆD�%ÔØ�;‰;�tÓ€DÜ�7‰7�D˜5‘L QÑ&Ó'¨#Ò-Ð-Ð-ÙÜ�s˜OÔ,Ð,Ð,Ü�sÐ0Ô1Ð1Ð1Ü�sÐ1Ô2Ð2Ð2Ü�sÐ,Ô-Ð-Ñ-ð	 r   c                 ó¤  — t         j                  «       }d|t         dk7  <   | � | t        «      nt        }t        d|d¬«      }t	        d«      D ]  }|j                  ||«       Œ |j                  |«      }t        j                  ||z
  dz  «      dk  sJ ‚|r9t        |d	«      sJ ‚t        |d
«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚y y )Nr[   r!   r   rs   rT   é2   r%   r’   rI   rJ   rK   rL   )
r4   rf   r3   r   r,   rV   r€   r'   r“   rN   )rC   rB   ri   rO   r”   r7   r•   s          r   Útest_regressor_partial_fitr™   æ   sÕ   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�Mà,Ð8‰=œÔ¼a€DÜ
$°!¸WÈsÔ
S€CÜ�2‹Yò %ˆØ�‰˜˜eÕ$ð%à�;‰;�tÓ€DÜ�7‰7�D˜5‘L QÑ&Ó'¨#Ò-Ð-Ð-ÙÜ�s˜OÔ,Ð,Ð,Ü�sÐ0Ô1Ð1Ð1Ü�sÐ1Ô2Ð2Ð2Ü�sÐ,Ô-Ð-Ñ-ð	 r   )r"   r#   c                 óT  — t         j                  «       }d|t         dk7  <   t        | d¬«      }|j                  t        |«       |� |t        «      nt        }t        d | dd¬«      }|j                  ||«       t        |j                  |j                  j                  «       d¬«       y )Nr[   r!   r%   rb   F)rG   r   rF   rc   rd   )
r4   rf   r   r<   r3   r   r	   r*   rg   rh   )r   rC   ri   Úreg1rO   Úreg2s         r   Útest_regressor_correctnessr�   ù   s‚   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�Mä D°Ô3€DØ‡H�HŒQ�Ôà,Ð8‰=œÔ¼a€DÜ%¨$°TÀAÈuÔU€DØ‡H�HˆT�5Ôä˜dŸf™f d§j¡j×&6Ñ&6Ó&8À!ÖDr   c                  ó¢   — t        d¬«      } t        j                  t        «      5  | j	                  t
        «       d d d «       y # 1 sw Y   y xY wrr   )r   rt   ru   rv   rp   r3   )r”   s    r   Ú test_regressor_undefined_methodsrŸ   	  s9   € Ü
$¨cÔ
2€CÜ	�‰”~Ó	&ñ Ø�‰”aÔ÷÷ ñ ús   ¦AÁAÚ	Estimatorc                 óª   —  | d¬«      }t        j                  t        d¬«      5  |j                  t        t
        «       d d d «       y # 1 sw Y   y xY w)Nr   )rB   z	average=0)Úmatch)rt   ÚwarnsÚFutureWarningr<   r3   r4   )r    Úests     r   Ú*test_passive_aggressive_deprecated_averager¦     s>   € ñ ˜AÔ
€CÜ	�‰”m¨;Ô	7ñ Ø�‰””1Œ÷÷ ñ ús   ¥A	Á	A)-Únumpyr'   rt   Úsklearn.baser   Úsklearn.datasetsr   Úsklearn.linear_modelr   r   Úsklearn.utilsr   Úsklearn.utils._testingr   r	   r
   Úsklearn.utils.fixesr   r]   r   ÚarangerO   r&   Úindicesrc   r3   Útargetr4   r   ÚmarkÚparametrizerQ   rX   r`   rl   rx   r„   r‰   rŽ   r�   r–   r™   r�   rŸ   r¦   rA   r   r   ú<module>r³      sþ  ðÛ Û å (Ý &ß XÝ ,÷ñ õ
 /áƒ{€Ù! "Ó%€Ø
ˆ"�)‰)�D—I‘I—O‘O AÑ&Ó
'€Ø × Ñ �WÔ Ø‡I�IˆgÑ€Ø‡K�K�Ñ€ô.*˜/ô .*ðb ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 9ó 3ð.ð( ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 3ð.ò8ð ‡�×Ñ˜¨4Ð*A°.Ð*AÓBØ‡�×Ñ˜Ð!;Ó<ñEó =ó CðEð ‡�×ÑØÒJóñ&óð&òCò,4òBò(ð ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 9ó 3ð.ð, ‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 3ð.ð" ‡�×Ñ˜¨4Ð*A°.Ð*AÓBØ‡�×Ñ˜Ð!WÓXñEó Yó CðEòð ‡�×ÑØÐ-Ð/IÐJóñóñr   