Ë
    8Ò^j).  ã                   ó¤	  — d dl Zd dl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 d dlmZmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ  e
«       Z ed«      Z ej>                  ej@                  jB                  d    «      Z"ejG                  e"«       ej@                  e"   Z$ejJ                  e"   Z& G d„ de«      Z'ejP                  jS                  d«      ejP                  jU                  dddg«      ejP                  jU                  dddg«      ejP                  jU                  ddge¢«      d„ «       «       «       «       Z+ejP                  jS                  d«      ejP                  jU                  dddg«      ejP                  jU                  ddge¢«      d„ «       «       «       Z,ejP                  jS                  d«      d„ «       Z-ejP                  jS                  d«      ejP                  jU                  ddge¢«      ejP                  jU                  dd«      d„ «       «       «       Z.ejP                  jS                  d«      ejP                  jU                  dg d¢«      d„ «       «       Z/ejP                  jS                  d«      d„ «       Z0ejP                  jS                  d«      d„ «       Z1ejP                  jS                  d«      d „ «       Z2ejP                  jS                  d«      d!„ «       Z3ejP                  jS                  d«      ejP                  jU                  dddg«      ejP                  jU                  dddg«      ejP                  jU                  ddge¢«      d"„ «       «       «       «       Z4ejP                  jS                  d«      ejP                  jU                  dddg«      ejP                  jU                  ddge¢«      d#„ «       «       «       Z5ejP                  jS                  d«      ejP                  jU                  ddge¢«      ejP                  jU                  dd$«      d%„ «       «       «       Z6ejP                  jS                  d«      d&„ «       Z7ejP                  jU                  d'eeg«      d(„ «       Z8ejP                  jU                  dd)gd*d+g«      d,„ «       Z9ejP                  jU                  dd)gd-d.g«      d/„ «       Z:y)0é    N)Úassert_allclose)Úissparse)ÚClassifierMixin)Ú	load_irisÚmake_classificationÚmake_regression)ÚPassiveAggressiveClassifierÚPassiveAggressiveRegressorÚSGDClassifierÚSGDRegressor)ÚSPARSE_INTERCEPT_DECAY)ÚDEFAULT_EPSILON)Úcheck_random_state)Úassert_almost_equalÚassert_array_equal)ÚCSR_CONTAINERSé   c                   ó,   — e Zd Zdeddddfd„Zd„ Zd„ Zy)	ÚMyPassiveAggressiveç      ð?ÚhingeTé   Nc                 óJ   — || _         || _        || _        || _        || _        y ©N)ÚCÚepsilonÚlossÚfit_interceptÚn_iter)Úselfr   r   r   r   r   Úrandom_states          ú}/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/sklearn/linear_model/tests/test_passive_aggressive.pyÚ__init__zMyPassiveAggressive.__init__!   s(   € ð ˆŒØˆŒØˆŒ	Ø*ˆÔØˆ�ó    c           	      óº  — |j                   \  }}t        j                  |t        j                  ¬«      | _        d| _        d}t        |«      rt        }|j                  «       }t        | j                  «      D �]_  }t        |«      D �]M  }| 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  z  c_        �ŒP �Œb y )
N)Údtypeç        r   ©r   Úsquared_hinger   r   )r   Úepsilon_insensitive)r)   Úsquared_epsilon_insensitiveé   )ÚshapeÚnpÚzerosÚfloat64ÚwÚbr   r   ÚtoarrayÚranger   Úprojectr   ÚmaxÚabsr   ÚdotÚminr   Úsignr   )r    ÚXÚyÚ	n_samplesÚ
n_featuresÚintercept_decayÚtÚiÚpr   ÚsqnormÚsteps               r"   ÚfitzMyPassiveAggressive.fit0   s�  € Ø !§¡Ñˆ	�:Ü—‘˜*¬B¯J©JÔ7ˆŒØˆŒð ˆÜ�AŒ;Ü4ˆOØ—	‘	“ˆAä�t—{‘{Ó#ó 	5ˆAÜ˜9Ó%ó 5�Ø—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˜o°Ñ4Ñ4—Fò+5ñ	5r$   c                 ó\   — t        j                  || j                  «      | j                  z   S r   )r.   r8   r1   r2   )r    r;   s     r"   r5   zMyPassiveAggressive.projectS   s    € Ü�v‰v�a˜Ÿ™Ó  4§6¡6Ñ)Ð)r$   )Ú__name__Ú
__module__Ú__qualname__r   r#   rE   r5   © r$   r"   r   r       s&   „ ð ØØØØØóò!5óF*r$   r   zignore::FutureWarningÚ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!   rK   ÚtolçHáz®Gé?Ú_average_coefÚ_average_interceptÚ_standard_interceptÚ_standard_coef)r;   r	   rE   r<   ÚscoreÚhasattr)rL   r   rK   ÚdataÚclfrV   s         r"   Útest_classifier_accuracyrZ   W   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!   rK   rO   rN   rQ   rR   rS   rT   rU   )	r.   Úuniquer<   r;   r	   r4   Úpartial_fitrV   rW   )rL   rK   ÚclassesrX   rY   r@   rV   s          r"   Útest_classifier_partial_fitra   o   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 )Nr\   ©rO   éÿÿÿÿ)
r	   rE   r;   r<   r   Úclasses_r.   r^   ÚirisÚtarget_names©rY   s    r"   Útest_classifier_refitri   �   sj   € ô &¨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                 óH  — t         j                  «       }d|t         dk7  <   |� |t        «      nt        }t        | d¬«      }|j	                  ||«       t        | ddd ¬«      }|j	                  ||«       t        |j                  |j                  j                  «       «       y ©Nrd   r   é   )r   r   F)r   rO   ÚshufflerP   )
r<   Úcopyr;   r   rE   r	   r   r1   Úcoef_Úravel)r   rL   Úy_binrX   Úclf1Úclf2s         r"   Útest_classifier_correctnessrt   Œ   s�   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�MØ,Ð8‰=œÔ¼a€Dä D°Ô3€DØ‡H�HˆT�5Ôä&¨D¸1ÀeÐQUÔV€DØ‡H�HˆT�5Ôä�D—F‘F˜DŸJ™J×,Ñ,Ó.Õ/r$   Ú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   rc   )r	   ÚpytestÚraisesÚAttributeErrorÚgetattr)ru   rY   s     r"   Ú!test_classifier_undefined_methodsr€   �   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   rd   rd   çš™™™™™¹?r{   )r   rO   Úclass_weightr!   gš™™™™™É?r   gü©ñÒMbP?rd   )r.   Úarrayr	   rE   r   Úpredict©ÚX2Úy2rY   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Úbalancedr{   ©r†   rO   )r`   )	r	   r|   r}   Ú
ValueErrorr_   r;   r<   r.   r^   rh   s    r"   Ú&test_partial_fit_weight_class_balancedr‘   ¾   sK   € ô &°:ÈÔ
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   rP   r†   rŽ   ç      à?)r   r   r,   )Údecimal)r	   rE   r   ro   )rŠ   r‹   rY   Ú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)
Nr‚   r   rƒ   r   r'   r„   r“   r{   r�   )r.   r‡   r	   r|   r}   r�   rE   r‰   s      r"   Útest_wrong_class_weight_labelr™   Û   st   € ô 
�‰�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 )Nrd   r   r   r   r\   )r   r   r!   rK   rO   r,   ç333333û?rR   rS   rT   rU   )	r<   rn   r;   r
   rE   rˆ   r.   ÚmeanrW   )rL   r   rK   rq   rX   Ú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 )Nrd   r   r   r{   r]   é2   r,   r›   rR   rS   rT   rU   )
r<   rn   r;   r
   r4   r_   rˆ   r.   rœ   rW   )rL   rK   rq   rX   r�   r@   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                 óH  — t         j                  «       }d|t         dk7  <   |� |t        «      nt        }t        | d¬«      }|j	                  ||«       t        | ddd ¬«      }|j	                  ||«       t        |j                  |j                  j                  «       «       y rk   )
r<   rn   r;   r   rE   r
   r   r1   ro   rp   )r   rL   rq   rX   Úreg1Úreg2s         r"   Útest_regressor_correctnessr¦     s�   € ô �F‰F‹H€EØ€EŒ!ˆq‰&�MØ,Ð8‰=œÔ¼a€Dä D°Ô3€DØ‡H�HˆT�5Ôä%¨4¸!ÀUÐPTÔU€DØ‡H�HˆT�5Ôä�D—F‘F˜DŸJ™J×,Ñ,Ó.Õ/r$   c                  ó¢   — t        d¬«      } t        j                  t        «      5  | j	                  t
        «       d d d «       y # 1 sw Y   y xY wrz   )r
   r|   r}   r~   rx   r;   )r�   s    r"   Ú test_regressor_undefined_methodsr¨   &  s9   € ä
$¨cÔ
2€CÜ	�‰”~Ó	&ñ Ø�‰”aÔ÷÷ ñ ús   ¦AÁAÚ	Estimatorc                 ór   — t        j                  t        d¬«      5   | «        d d d «       y # 1 sw Y   y xY w)Nz&Class PassiveAggressive.+is deprecated)Úmatch)r|   ÚwarnsÚFutureWarning)r©   s    r"   Útest_class_deprecationr®   .  s-   € ô 
�‰”mÐ+SÔ	Tñ ÙŒ÷÷ ñ ús   œ-­6Úlr)r   Úpa1)r)   Úpa2c                 óø   — t        dddd¬«      \  }}t        | dd¬«      j                  ||«      }t        d	d
|dd¬«      j                  ||«      }t	        |j                  |«      |j                  |«      «       y
)úTest that both are equivalent.r{   é
   r\   éÒ  ©r=   r>   Ún_informativer!   ç/Ý$�•ï?é*   )r   r   r!   r   N)r   ÚpenaltyÚlearning_rateÚeta0r!   )r   r	   rE   r   r   Údecision_function©r   r¯   r;   r<   ÚpaÚsgds         r"   Ú)test_passive_aggressive_classifier_vs_sgdrÁ   8  s~   € ô Ø "°AÀDô�D€A€qô 
%¨$°%ÀbÔ	I×	MÑ	MÈaÐQRÓ	S€BÜ
Ø˜d°"¸5Èrôç	�cˆ!ˆQƒið ô �B×(Ñ(¨Ó+¨S×-BÑ-BÀ1Ó-EÕFr$   )r*   r°   )r+   r±   c                 óü   — t        dddd¬«      \  }}t        | ddd¬	«      j                  ||«      }t        d
dd|dd¬«      j                  ||«      }t	        |j                  |«      |j                  |«      «       y)r³   r{   r´   r\   rµ   r¶   g°rh‘í|¿?r¸   r¹   )r   r   r   r!   r*   N)r   r   rº   r»   r¼   r!   )r   r
   rE   r   r   rˆ   r¾   s         r"   Ú(test_passive_aggressive_regressor_vs_sgdrÃ   E  sˆ   € ô Ø "°AÀDô�D€A€qô 
$Ø˜5 E¸ô
ç	�cˆ!ˆQƒið ô Ø"ØØØØØô÷ 
�cˆ!ˆQƒið ô �B—J‘J˜q“M 3§;¡;¨q£>Õ2r$   );Únumpyr.   r|   Únumpy.testingr   Úscipy.sparser   Úsklearn.baser   Úsklearn.datasetsr   r   r   Úsklearn.linear_modelr	   r
   r   r   Úsklearn.linear_model._baser   Ú)sklearn.linear_model._stochastic_gradientr   Úsklearn.utilsr   Úsklearn.utils._testingr   r   Úsklearn.utils.fixesr   rf   r!   ÚarangerX   r-   Úindicesrm   r;   Útargetr<   r   ÚmarkÚfilterwarningsÚparametrizerZ   ra   ri   rt   r€   rŒ   r‘   r—   r™   rŸ   r¢   r¦   r¨   r®   rÁ   rÃ   rJ   r$   r"   ú<module>rÕ      s×  ðÛ Û Ý )Ý !å (ß LÑ L÷ó õ >Ý EÝ ,÷õ /áƒ{€Ù! "Ó%€Ø
ˆ"�)‰)�D—I‘I—O‘O AÑ&Ó
'€Ø × Ñ �WÔ Ø‡I�IˆgÑ€Ø‡K�K�Ñ€ô4*˜/ô 4*ðn ‡�×ÑÐ3Ó4Ø‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 9ó 3ó 5ð.ð( ‡�×ÑÐ3Ó4Ø‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 3ó 5ð.ð ‡�×ÑÐ3Ó4ñ8ó 5ð8ð ‡�×ÑÐ3Ó4Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBØ‡�×Ñ˜Ð!;Ó<ñ0ó =ó Có 5ð0ð ‡�×ÑÐ3Ó4Ø‡�×ÑØÒJóñ&óó 5ð&ð ‡�×ÑÐ3Ó4ñCó 5ðCð, ‡�×ÑÐ3Ó4ñ4ó 5ð4ð ‡�×ÑÐ3Ó4ñBó 5ðBð( ‡�×ÑÐ3Ó4ñó 5ðð ‡�×ÑÐ3Ó4Ø‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 9ó 3ó 5ð.ð, ‡�×ÑÐ3Ó4Ø‡�×Ñ˜ U¨D MÓ2Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBñ.ó Có 3ó 5ð.ð$ ‡�×ÑÐ3Ó4Ø‡�×Ñ˜¨4Ð*A°.Ð*AÓBØ‡�×Ñ˜Ð!WÓXñ0ó Yó Có 5ð0ð ‡�×ÑÐ3Ó4ñó 5ðð ‡�×ÑØÐ-Ð/IÐJóñóðð ‡�×Ñ˜& $˜Ð*:Ð<TÐ)UÓVñ	Gó Wð	Gð ‡�×ÑØˆT€NØ#Ð%KÐLóñ3ó	ñ3r$   