§
    rŠtjV•  ã                   óZ	  — d dl Z d dlZ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mZ d dl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mZmZ d d
l m!Z! eeeegZ"e"egz   Z# ej$        ddgddgddgddgddgddgg¦  «        Z% ej$        g d¢¦  «        Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4ej5         6                    de"¦  «        d„ ¦   «         Z7ej5         6                    de"¦  «        d „ ¦   «         Z8ej5         6                    d!e#¦  «        d"„ ¦   «         Z9d#„ Z:ej5         6                    de"¦  «        d$„ ¦   «         Z;ej5         6                    de"¦  «        d%„ ¦   «         Z<ej5         6                    de"¦  «        d&„ ¦   «         Z=ej5         6                    de"¦  «        d'„ ¦   «         Z>ej5         6                    de"¦  «        ej5         6                    d(d)d*g¦  «        ej5         6                    d+d)d*g¦  «        d,„ ¦   «         ¦   «         ¦   «         Z?ej5         6                    d-d.¦  «        ej5         6                    d/e!¦  «        d0„ ¦   «         ¦   «         Z@d1„ ZAd2„ ZBd3„ ZCd4„ ZDd5„ ZEej5         6                    d6d7 ej$        g d8¢g d9¢g¦  «         ej$        g d9¢g d9¢g¦  «         ej$        d dgg¦  «         ej$        d7d7g¦  «        fd7d:g ej$        g d8¢g d9¢g¦  «         ej$        g d;¢g d;¢g¦  «         ej$        d d7gg¦  «         ej$        d7d:g¦  «        fd ej$        dd gddgg¦  «         ej$        ddgddgg¦  «         ej$        d dgg¦  «         ej$        ddg¦  «        gg¦  «        d<„ ¦   «         ZFej5         6                    d=d7dgdd:ggd>fg¦  «        d?„ ¦   «         ZGej5         6                    d/e!¦  «        d@„ ¦   «         ZHdA„ ZIdB„ ZJdC„ ZKej5         6                    dDe#¦  «        dE„ ¦   «         ZLej5         6                    dDe#¦  «        dF„ ¦   «         ZMej5         6                    dGd)d*g¦  «        ej5         6                    dHd)d*g¦  «        ej5         6                    dI e¦   «         ¦  «        dJ„ ¦   «         ¦   «         ¦   «         ZNdS )Ké    N)Ú	logsumexp)Úconfig_context)Úload_digitsÚ	load_iris)Úcross_val_scoreÚtrain_test_split)ÚBernoulliNBÚCategoricalNBÚComplementNBÚ
GaussianNBÚMultinomialNB©Údevice)Úmove_toÚ)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)ÚCSR_CONTAINERSéþÿÿÿéÿÿÿÿé   é   )r   r   r   r   r   r   c                 óØ   — t           j                             | ¦  «        }|                     d¬¦  «        }|                     d¬¦  «        dk                         t
          ¦  «        }||fS )N)é
   é   ©Úsizer   r   )ÚnpÚrandomÚRandomStateÚnormalÚastypeÚint)Úglobal_random_seedÚrngÚX1Úy1s       ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/tests/test_naive_bayes.pyÚget_random_normal_x_binary_yr,   *   sZ   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ	�Š˜ˆÑ	!Ô	!€BØ
�*Š*˜"ˆ*Ñ
Ô
 Ò
!×	)Ò	)­#Ñ	.Ô	.€BØˆrˆ6€Mó    c                 ó¢   — t           j                             | ¦  «        }|                     dd¬¦  «        }t          j        g d¢¦  «        }||fS )Né   )é   éd   r   )r   r   r   r   r   r   )r!   r"   r#   ÚrandintÚarray)r'   r(   ÚX2Úy2s       r+   Ú$get_random_integer_x_three_classes_yr6   2   sN   € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ	�Š�Q˜XˆÑ	&Ô	&€BÝ	ŒÐ$Ð$Ð$Ñ	%Ô	%€BØˆrˆ6€Mr-   c                  ó2  — t          ¦   «         } |                      t          t          ¦  «                             t          ¦  «        }t          |t          ¦  «         |                      t          ¦  «        }|                      t          ¦  «        }t          t          j
        |¦  «        |d¦  «         t          j        t          d¬¦  «        5  t          ¦   «                              t          t          ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né   z;The target label.* in y do not exist in the initial classes©Úmatchr   r   ©Úclasses)r   ÚfitÚXÚyÚpredictr   Úpredict_probaÚpredict_log_probar   r!   ÚlogÚpytestÚraisesÚ
ValueErrorÚpartial_fit)ÚclfÚy_predÚy_pred_probaÚy_pred_log_probas       r+   Útest_gnbrL   ;   s(  € õ
 ‰,Œ,€CØ�WŠW•Q�‰]Œ]×"Ò"¥1Ñ%Ô%€FÝ�v�qÑ!Ô!Ð!à×$Ò$¥QÑ'Ô'€LØ×,Ò,­QÑ/Ô/ÐÝ�bœf \Ñ2Ô2Ð4DÀaÑHÔHÐHõ
 
ŒÝÐWð
ñ 
ô 
ð 7ð 7õ 	‰Œ× Ò ¥¥A°°1¨vÐ Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   Ã1DÄDÄDc                 ón  — t          ¦   «                              t          t          ¦  «        }t	          t          j        ddg¦  «        dz  |j        d¦  «         t          | ¦  «        \  }}t          ¦   «                              ||¦  «        }t	          |j         	                    ¦   «         d¦  «         d S )Nr   ç      @r8   r   )
r   r=   r>   r?   r   r!   r3   Úclass_prior_r,   Úsum)r'   rH   r)   r*   s       r+   Útest_gnb_priorrQ   Q   s“   € å
‰,Œ,×
Ò
�1�aÑ
 Ô
 €CÝ�bœh¨¨1 vÑ.Ô.°Ñ4°cÔ6FÈÑJÔJÐJÝ)Ð*<Ñ=Ô=�F€BˆÝ
‰,Œ,×
Ò
˜2˜rÑ
"Ô
"€Cå˜cÔ.×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ð8Ð8r-   c                 ó¾  — t          j        d¦  «        }t          ¦   «                              t          t
          ¦  «        }t          ¦   «                              t          t
          |¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         t           j	         
                    | ¦  «        }|                     t
          j        d         ¦  «        }t          ¦   «                              t          t
          |¬¦  «        }t          ¦   «                              t          t
          ddg|dz  ¬¦  «        }|                     t          t
          |dz  ¬¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         |                     dt          j        d         d¦  «        }t          j        |t          j        d         ¬¦  «        }t          ¦   «                              t          |         t
          |         ¦  «        }	t          ¦   «                              t          t
          |¦  «        }t          |	j        |j        ¦  «         t          |	j        |j        ¦  «         t
          dk                         t           j        ¦  «        }t          ¦   «                              t          t
          |¬¦  «        }d	S )
z5Test whether sample weights are properly used in GNB.r0   r   ©Úsample_weightr   r   ©r<   rT   é   )Ú	minlengthN)r!   Úonesr   r=   r>   r?   r   Útheta_Úvar_r"   r#   ÚrandÚshaperG   r2   Úbincountr%   Úfloat64)
r'   ÚswrH   Úclf_swr(   Úclf1Úclf2ÚindrT   Úclf_dupls
             r+   Útest_gnb_sample_weightre   [   sÿ  € õ 
Œ�‰Œ€BÝ
‰,Œ,×
Ò
�1�aÑ
 Ô
 €CÝ‰\Œ\×Ò�a¥ BÑ'Ô'€Få˜cœj¨&¬-Ñ8Ô8Ð8Ý˜cœh¨¬Ñ4Ô4Ð4õ Œ)×
Ò
Ð 2Ñ
3Ô
3€Cà	�Š•!”'˜!”*Ñ	Ô	€BÝ‰<Œ<×Ò�A�q°ÐÑ3Ô3€DÝ‰<Œ<×#Ò#¥A¥q°1°a°&ÈÈQÉÐ#ÑOÔO€DØ×Ò•Q�¨¨a©ÐÑ0Ô0Ð0å˜dœk¨4¬;Ñ7Ô7Ð7Ý˜dœi¨¬Ñ3Ô3Ð3ð �+Š+�a�œ œ RÑ
(Ô
(€CÝ”K ­q¬w°q¬zÐ:Ñ:Ô:€Må‰|Œ|×Ò¥ #¤­¨#¬Ñ/Ô/€HÝ‰\Œ\×Ò�a¥ MÑ2Ô2€Få˜hœo¨v¬}Ñ=Ô=Ð=Ý˜hœm¨V¬[Ñ9Ô9Ð9õ ˜!’V—O’O¥B¤JÑ/Ô/€MÝ
‰,Œ,×
Ò
�1�a¨}Ð
Ñ
=Ô
=€C€C€Cr-   c                  óú   — t          t          j        ddg¦  «        ¬¦  «        } d}t          j        t
          |¬¦  «        5  |                      t          t          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z:Test whether an error is raised in case of negative priorsg      ð¿ç       @©ÚpriorszPriors must be non-negativer9   N©	r   r!   r3   rD   rE   rF   r=   r>   r?   ©rH   Úmsgs     r+   Útest_gnb_neg_priorsrm   ‚   s¯   € å
�BœH d¨C [Ñ1Ô1Ð
2Ñ
2Ô
2€Cà
'€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   Á!A0Á0A4Á7A4c                  óT  — t          t          j        ddg¦  «        ¬¦  «                             t          t
          ¦  «        } t          |                      ddgg¦  «        t          j        ddgg¦  «        d¦  «         t          | j        t          j        ddg¦  «        ¦  «         dS )	z6Test whether the class prior override is properly usedç333333Ó?gffffffæ?rh   çš™™™™™¹¿g[È9ãhê?g–Žßs\Æ?r8   N)	r   r!   r3   r=   r>   r?   r   rA   rO   ©rH   s    r+   Útest_gnb_priorsrs   ‹   sœ   € å
�BœH c¨3 ZÑ0Ô0Ð
1Ñ
1Ô
1×
5Ò
5µa½Ñ
;Ô
;€CÝØ×Ò˜D $˜<˜.Ñ)Ô)Ý
ŒÐ$Ð&7Ð8Ð9Ñ:Ô:Ø	ñô ð õ
 ˜cÔ.µ´¸#¸s¸Ñ0DÔ0DÑEÔEÐEÐEÐEr-   c                  ó  — 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g
¦  «        } t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          |¬¦  «        }|                     | |¦  «         d S )Nr   r   éýÿÿÿéüÿÿÿéûÿÿÿr   r   r   é   r/   )
g{®Gáz´?çìQ¸…ëÁ?g¸…ëQ¸ž?ç{®GázÄ?ç)\�Âõ(¼?rz   gìQ¸…ë±?ry   r{   ç        )
r   r   r   rx   r/   r0   é   r8   é	   r   rh   )r!   r3   r   r=   )r>   ri   ÚYrH   s       r+   Útest_gnb_priors_sum_iscloser€   –   s±   € å
Œà�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆHØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð	
ñ	ô 	€Aõ ŒXÐQÐQÐQÑRÔR€FÝ
ŒÐ0Ð0Ð0Ñ1Ô1€AÝ
˜FÐ
#Ñ
#Ô
#€Cà‡G‚GˆAˆq�M„M€M€M€Mr-   c                  óú   — t          t          j        g d¢¦  «        ¬¦  «        } d}t          j        t
          |¬¦  «        5  |                      t          t          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z`Test whether an error is raised if the number of prior is different
    from the number of class)ç      Ð?r‚   r‚   r‚   rh   ú-Number of priors must match number of classesr9   Nrj   rk   s     r+   Útest_gnb_wrong_nb_priorsr„   ­   s´   € õ �BœHÐ%=Ð%=Ð%=Ñ>Ô>Ð
?Ñ
?Ô
?€Cà
9€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rn   c                  óú   — t          t          j        ddg¦  «        ¬¦  «        } d}t          j        t
          |¬¦  «        5  |                      t          t          ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z?Test if an error is raised if the sum of prior greater than onerg   ç      ð?rh   z!The sum of the priors should be 1r9   Nrj   rk   s     r+   Útest_gnb_prior_greater_oner‡   ·   s¯   € å
�BœH c¨3 ZÑ0Ô0Ð
1Ñ
1Ô
1€Cà
-€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š••1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rn   c                  óð   — t          t          j        ddg¦  «        ¬¦  «        } |                      t          t
          ¦  «         |                      ddgg¦  «        t          j        dg¦  «        k    sJ ‚dS )z@Test if good prediction when class prior favor largely one classg{®Gáz„?g®Gáz®ï?rh   rq   r   N)r   r!   r3   r=   r>   r?   r@   rr   s    r+   Útest_gnb_prior_large_biasr‰   À   sd   € å
�BœH d¨D \Ñ2Ô2Ð
3Ñ
3Ô
3€CØ‡G‚G�A�q�M„M€MØ�;Š;˜˜t˜�~Ñ&Ô&­"¬(°A°3©-¬-Ò7Ð7Ð7Ð7Ð7Ð7r-   c                  ó²   — d} d}d}t          j        dt          j        d         f¦  «        }t	          j        | |||¦  «        \  }}||k    sJ ‚||k    sJ ‚dS )z4Test when the partial fit is called without any datar1   r|   r†   r   r   N)r!   Úemptyr>   r\   r   Ú_update_mean_variance)Úprev_pointsÚmeanÚvarÚx_emptyÚtmeanÚtvars         r+   Ú"test_gnb_check_update_with_no_datar“   Ç   sd   € ð €KØ€DØ
€CÝŒh˜�1œ7 1œ:�Ñ'Ô'€GÝÔ2°;ÀÀcÈ7ÑSÔS�K€Eˆ4Ø�DŠ=ˆ=ˆ=ˆ=Ø�3Š;ˆ;ˆ;ˆ;ˆ;ˆ;r-   c                 ó^  — t                                | ¦  «        }t          ¦   «                              |t          ¦  «        }t          ¦   «                              |t          t          j        t          ¦  «        ¦  «        }dD ]R}t          ||¦  «        }t          ||¦  «        }|j	        |j	        cxk    r|j	        k    sn J ‚t          ||¦  «         ŒSt          ¦   «                              |dd d…d d …f         t          dd d…         t          j        t          ¦  «        ¦  «        }|                     |dd d…         t          dd d…         ¦  «         dD ]R}t          ||¦  «        }t          ||¦  «        }|j	        |j	        cxk    r|j	        k    sn J ‚t          ||¦  «         ŒSd S )N)rO   rY   rZ   r   r   r   )r>   r%   r   r=   r?   rG   r!   ÚuniqueÚgetattrÚdtyper   )	Úglobal_dtypeÚX_rH   Úclf_pfÚfitted_attrÚclf_attrÚclf_pf_attrÚclf_pf2Úclf_pf2_attrs	            r+   Útest_gnb_partial_fitr    Ó   sš  € Ý	
�Š�,Ñ	Ô	€BÝ
‰,Œ,×
Ò
˜2�qÑ
!Ô
!€CÝ‰\Œ\×%Ò% b­!­R¬Yµq©\¬\Ñ:Ô:€FØ9ð 9ð 9ˆÝ˜3 Ñ,Ô,ˆÝ˜f kÑ2Ô2ˆØŒ~ Ô!2Ð>Ð>Ò>Ð>°b´hÒ>Ð>Ð>Ð>Ð>Ð>Ý! (¨KÑ8Ô8Ð8Ð8å‰lŒl×&Ò& r¨!¨$¨Q¨$°°°¨'¤{µA°a°d¸°d´G½R¼YÅq¹\¼\ÑJÔJ€GØ×Ò˜˜1˜4˜a˜4œ¥! A D q D¤'Ñ*Ô*Ð*Ø9ð :ð :ˆÝ˜3 Ñ,Ô,ˆÝ˜w¨Ñ4Ô4ˆØŒ~ Ô!3Ð?Ð?Ò?Ð?°r´xÒ?Ð?Ð?Ð?Ð?Ð?Ý! (¨LÑ9Ô9Ð9Ð9ð	:ð :r-   c                  óÒ   ‡‡— t          ¦   «         } | j        | j        cŠŠˆˆfd„dD ¦   «         }t          |d         |d         ¦  «         t          |d         |d         ¦  «         d S )Nc                 ó†   •— g | ]=}t          ¦   «                              |‰z  ‰¦  «                             |‰z  ¦  «        ‘Œ>S © )r   r=   r@   )Ú.0Úfr>   r?   s     €€r+   ú
<listcomp>z9test_gnb_naive_bayes_scale_invariance.<locals>.<listcomp>ê   sC   ø€ ÐRÐRÐR¸A�j‰lŒl×Ò˜q 1™u aÑ(Ô(×0Ò0°°Q±Ñ7Ô7ÐRÐRÐRr-   )ç»½×Ùß|Û=r   g    _ Br   r   r   )r   ÚdataÚtargetr   )ÚirisÚlabelsr>   r?   s     @@r+   Ú%test_gnb_naive_bayes_scale_invariancer¬   æ   so   øø€ å‰;Œ;€DØŒ9�d”k€D€A€qØRÐRÐRÐRÐRÐAQÐRÑRÔR€FÝ�v˜a”y &¨¤)Ñ,Ô,Ð,Ý�v˜a”y &¨¤)Ñ,Ô,Ð,Ð,Ð,r-   ÚDiscreteNaiveBayesc                 óä   — t          |¦  «        \  }} | ¦   «                              ||¦  «        }t          t          j        t          j        g d¢¦  «        dz  ¦  «        |j        d¦  «         d S )N)r   r   r   rN   r8   )r6   r=   r   r!   rC   r3   Úclass_log_prior_)r­   r'   r4   r5   rH   s        r+   Útest_discretenb_priorr°   ï   sw   € õ 2Ð2DÑEÔE�F€BˆØ
Ð
Ñ
Ô
×
"Ò
" 2 rÑ
*Ô
*€CÝÝ
Œ�rŒx˜	˜	˜	Ñ"Ô" SÑ(Ñ)Ô)¨3Ô+?Àñô ð ð ð r-   c                 óî  —  | ¦   «         }|                      ddgddgddggg d¢¦  «          | ¦   «         }|                     ddgddgddggg d¢ddg¬¦  «         t          |j        |j        ¦  «         | t          u rKt          t          |j        ¦  «        ¦  «        D ](}t          |j        |         |j        |         ¦  «         Œ)nt          |j        |j        ¦  «          | ¦   «         }|                     ddggdgddg¬¦  «         |                     ddggdg¦  «         |                     ddggdg¦  «         t          |j        |j        ¦  «         | t          u �rxt          t          |j        ¦  «        ¦  «        D ]€}t          |j        |         j	        |j        |         j	        ¦  «         t          t          j        |j        |         d¬¦  «        t          j        |j        |         d¬¦  «        ¦  «         Œ�t          |j        d         d         t          j        ddg¦  «        ¦  «         t          |j        d         d         t          j        ddg¦  «        ¦  «         t          |j        d         d         t          j        ddg¦  «        ¦  «         t          |j        d         d         t          j        ddg¦  «        ¦  «         d S t          |j        |j        ¦  «         d S )Nr   r   ©r   r   r   r;   ©Úaxisr   )r=   rG   r   Úclass_count_r
   ÚrangeÚlenÚcategory_count_Úfeature_count_r\   r!   rP   r3   )r­   ra   rb   ÚiÚclf3s        r+   Útest_discretenb_partial_fitr¼   ù   s  € àÐÑÔ€DØ‡H‚Hˆq�!ˆf�q˜!�f˜q !˜fÐ% y y yÑ1Ô1Ð1àÐÑÔ€DØ×Ò�q˜!�f˜q !˜f q¨! fÐ-¨y¨y¨yÀ1ÀaÀ&ÐÑIÔIÐIÝ�tÔ(¨$Ô*;Ñ<Ô<Ð<Ø�]Ð*Ð*Ý•s˜4Ô/Ñ0Ô0Ñ1Ô1ð 	Qð 	QˆAÝ˜tÔ3°AÔ6¸Ô8LÈQÔ8OÑPÔPÐPÐPð	Qõ 	˜4Ô.°Ô0CÑDÔDÐDàÐÑÔ€Dà×Ò�q˜!�f�X ˜s¨Q°¨FÐÑ3Ô3Ð3Ø×Ò�q˜!�f�X ˜sÑ#Ô#Ð#Ø×Ò�q˜!�f�X ˜sÑ#Ô#Ð#Ý�tÔ(¨$Ô*;Ñ<Ô<Ð<Ø�]Ð*Ñ*õ •s˜4Ô/Ñ0Ô0Ñ1Ô1ð 	ð 	ˆAÝØÔ$ QÔ'Ô-¨tÔ/CÀAÔ/FÔ/Lñô ð õ Ý”�tÔ+¨AÔ.°QÐ7Ñ7Ô7Ý”�tÔ+¨AÔ.°QÐ7Ñ7Ô7ñô ð ð õ 	˜4Ô/°Ô2°1Ô5µr´xÀÀAÀÑ7GÔ7GÑHÔHÐHõ 	˜4Ô/°Ô2°1Ô5µr´xÀÀAÀÑ7GÔ7GÑHÔHÐHõ 	˜4Ô/°Ô2°1Ô5µr´xÀÀAÀÑ7GÔ7GÑHÔHÐHõ 	˜4Ô/°Ô2°1Ô5µr´xÀÀAÀÑ7GÔ7GÑHÔHÐHÐHÐHå˜4Ô.°Ô0CÑDÔDÐDÐDÐDr-   Ú
NaiveBayesc                 óð  — t          |¦  «        \  }}t          j        t          d¬¦  «        5   | ¦   «                              ||¦  «         d d d ¦  «         n# 1 swxY w Y    | ¦   «         }|                     ||t          j        |¦  «        ¬¦  «         t          j        t          d¬¦  «        5  |                     ||t          j        d¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz8classes must be passed on the first call to partial_fit.r9   r;   ú.is not the same as on last call to partial_fité*   )r6   rD   rE   rF   rG   r!   r•   Úarange)r½   r'   r4   r5   rH   s        r+   Ú$test_NB_partial_fit_no_first_classesrÂ   +  sv  € õ 2Ð2DÑEÔE�F€Bˆå	ŒÝÐTð
ñ 
ô 
ð )ð )ð 	ˆ
‰Œ× Ò   RÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð ˆ*‰,Œ,€CØ‡O‚O�B˜¥B¤I¨b¡M¤M€OÑ2Ô2Ð2Ý	ŒÝÐJð
ñ 
ô 
ð 7ð 7ð 	�Š˜˜B­¬	°"©¬ˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s#   ®AÁAÁ AÂ3+C+Ã+C/Ã2C/c            	      óŒ  — g d¢g d¢g d¢g} ddgddgddgg}g d¢}t          t          t          g| |g¦  «        D ]Á\  }} |¦   «                              ||¦  «        }|                     |d	d …         ¦  «        d
k    sJ ‚|                     |d         g¦  «        j        dk    sJ ‚t          |                     |d d
…         ¦  «                             d¬¦  «        t          j
        ddg¦  «        d¦  «         ŒÂg d¢}t          t          t          g| |g¦  «        D �]%\  }} |¦   «                              ||¦  «        }|                     |dd…         ¦  «        j        dk    sJ ‚|                     |d d
…         ¦  «        j        dk    sJ ‚t          t          j        |                     |d         g¦  «        ¦  «        d¦  «         t          t          j        |                     |d	         g¦  «        ¦  «        d¦  «         t          t          j        t          j        |j        ¦  «        ¦  «        d¦  «         �Œ'd S )N)r   r1   r   ©r   r   r   )r   r1   r   r   r   r   rx   )r   r   r   r   r   )r   r   r³   r†   r0   ©r   r   r   )r   r   )r   r   )Úzipr	   r   r=   r@   rA   r\   r   rP   r!   r3   r   Úexpr¯   )ÚX_bernoulliÚX_multinomialr?   r­   r>   rH   s         r+   Útest_discretenb_predict_probarÊ   >  sn  € ð
 �;�; 	 	 	¨;¨;¨;Ð7€KØ˜�V˜a ˜V a¨ VÐ,€Mð 	ˆ	ˆ	€AÝ!$Ý	•mÐ$ {°MÐ&Bñ"ô "ð 
ð 
ÑÐ˜Að !Ð Ñ"Ô"×&Ò& q¨!Ñ,Ô,ˆØ�{Š{˜1˜R˜S˜Sœ6Ñ"Ô" aÒ'Ð'Ð'Ð'Ø× Ò  ! A¤$ Ñ(Ô(Ô.°&Ò8Ð8Ð8Ð8Ý!Ø×Ò˜a   œeÑ$Ô$×(Ò(¨aÐ(Ñ0Ô0µ"´(¸CÀ¸:Ñ2FÔ2FÈñ	
ô 	
ð 	
ð 	
ð
 	ˆ	ˆ	€AÝ!$Ý	•mÐ$ {°MÐ&Bñ"ô "ð Eñ EÑÐ˜Að !Ð Ñ"Ô"×&Ò& q¨!Ñ,Ô,ˆØ× Ò   1 Q 3¤Ñ(Ô(Ô.°&Ò8Ð8Ð8Ð8Ø× Ò   2 A 2¤Ñ'Ô'Ô-°Ò7Ð7Ð7Ð7Ý�BœF 3×#4Ò#4°a¸´d°VÑ#<Ô#<Ñ=Ô=¸qÑAÔAÐAÝ�BœF 3×#4Ò#4°a¸´e°WÑ#=Ô#=Ñ>Ô>ÀÑBÔBÐBÝ�BœF¥2¤6¨#Ô*>Ñ#?Ô#?Ñ@Ô@À!ÑDÔDÐDÑDðEð Er-   c                 óü   —  | ¦   «         }|                      d¬¦  «         |                     dgdgdggg d¢¦  «         t          j        |j        ¦  «        }t          |t          j        ddg¦  «        ¦  «         d S )NF)Ú	fit_priorr   r   ©r   r   r   ç      à?)Ú
set_paramsr=   r!   rÇ   r¯   r   r3   )r­   rH   Úpriors      r+   Útest_discretenb_uniform_priorrÑ   _  s€   € ð
 Ð
Ñ
Ô
€CØ‡N‚N˜U€NÑ#Ô#Ð#Ø‡G‚GˆaˆS�1�#˜�sˆO˜Y˜Y˜YÑ'Ô'Ð'ÝŒF�3Ô'Ñ(Ô(€EÝ˜e¥R¤X¨s°C¨jÑ%9Ô%9Ñ:Ô:Ð:Ð:Ð:r-   c                 ó*  —  | ddg¬¦  «        }|                      dgdgdggg d¢¦  «         t          j        |j        ¦  «        }t	          |t          j        ddg¦  «        ¦  «         d}t          j        t          |¬¦  «        5  |                      dgdgdggg d	¢¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  | 	                    dgdggddgg d¢¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÎ   ©Úclass_priorr   r   rÍ   rƒ   r9   r   rÅ   r¿   r²   r;   )
r=   r!   rÇ   r¯   r   r3   rD   rE   rF   rG   )r­   rH   rÐ   rl   s       r+   Útest_discretenb_provide_priorrÕ   k  s¬  € ð Ð
¨#¨s¨Ð
4Ñ
4Ô
4€CØ‡G‚GˆaˆS�1�#˜�sˆO˜Y˜Y˜YÑ'Ô'Ð'ÝŒF�3Ô'Ñ(Ô(€EÝ˜e¥R¤X¨s°C¨jÑ%9Ô%9Ñ:Ô:Ð:ð :€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ,ð ,Ø�Š�!��q�c˜A˜3�   Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ;€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ?ð ?Ø�Š˜!˜˜q˜c˜
 Q¨ F°I°I°IˆÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s$   ÂB2Â2B6Â9B6Ã!DÄDÄDc                 ó|  — t          ¦   «         }t          |j        |j        dd¬¦  «        \  }}}}d g d¢fD ]„} | |¬¦  «        }|                     |j        |j        ¦  «          | |¬¦  «        }|                     ||g d¢¬¦  «         |                     ||¦  «         t          |j        |j        ¦  «         Œ…d S )Nçš™™™™™Ù?iŸ  )Ú	test_sizeÚrandom_state)rp   rp   r×   rÓ   rÅ   r;   )r   r   r¨   r©   r=   rG   r   r¯   )	r­   rª   Ú
iris_data1Ú
iris_data2Úiris_target1Úiris_target2rÐ   Úclf_fullÚclf_partials	            r+   Ú.test_discretenb_provide_prior_with_partial_fitrà   ~  sð   € õ
 ‰;Œ;€DÝ9IØŒ	�4”;¨#¸Cð:ñ :ô :Ñ6€J�
˜L¨,ð ˜˜˜Ð(ð 
ð 
ˆØ%Ð%°%Ð8Ñ8Ô8ˆØ�Š�T”Y ¤Ñ,Ô,Ð,Ø(Ð(°UÐ;Ñ;Ô;ˆØ×Ò 
¨LÀ)À)À)ÐÑLÔLÐLØ×Ò 
¨LÑ9Ô9Ð9Ý!ØÔ% {Ô'Cñ	
ô 	
ð 	
ð 	
ð
ð 
r-   c                 óª  — g d¢g d¢g d¢g d¢g}g d¢}t          j        g d¢t           j        ¬¦  «        }||                     ¦   «         z  } | ¦   «                              |||¬¦  «        }t          |                     |¦  «        g d¢¦  «          | ¦   «         }|                     |d d	…         |d d	…         g d
¢|d d	…         ¬¦  «         |                     |d	d…         |d	d…         |d	d…         ¬¦  «         |                     |dd …         |dd …         |dd …         ¬¦  «         t          |                     |¦  «        g d¢¦  «         d S )NrÍ   r²   ©r   r   r   )r   r   r   r   ©r   r   r   r   )r—   rS   )r   r   r   r   r   rÅ   rU   r   )r!   r3   r^   rP   r=   r   r@   rG   )r­   r>   r?   rT   rH   s        r+   Ú(test_discretenb_sample_weight_multiclassrä   “  ss  € ð 	ˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	Øˆ	ˆ	ð		€Að 	ˆˆ€AÝ”H˜\˜\˜\µ´Ð<Ñ<Ô<€MØ�]×&Ò&Ñ(Ô(Ñ(€MØ
Ð
Ñ
Ô
×
"Ò
" 1 a°}Ð
"Ñ
EÔ
E€CÝ�s—{’{ 1‘~”~ | | |Ñ4Ô4Ð4ð Ð
Ñ
Ô
€CØ‡O‚O�A�b�q�b”E˜1˜R˜a˜Rœ5¨)¨)¨)À=ÐQSÐRSÐQSÔCT€OÑUÔUÐUØ‡O‚O�A�a˜�c”F˜A˜a ˜cœF°-ÀÀ!ÀÔ2D€OÑEÔEÐEØ‡O‚O�A�a�b�b”E˜1˜Q˜R˜Rœ5°¸a¸b¸bÔ0A€OÑBÔBÐBÝ�s—{’{ 1‘~”~ | | |Ñ4Ô4Ð4Ð4Ð4r-   Úuse_partial_fitFTÚtrain_on_single_class_yc                 óN  — g d¢g d¢g d¢g}g d¢}|r|d d…         }|d d…         }t          t          t          |¦  «        ¦  «        ¦  «        }t          |¦  «        } | ¦   «         }|r|                     |||¬¦  «         n|                     ||¦  «         |                     |d d…         ¦  «        |d         k    sJ ‚g d	¢}|D ]\}	t          ||	d ¦  «        }
|
€Œt          |
t          j
        ¦  «        r|
j        d         |k    sJ ‚ŒD|
D ]}|j        d         |k    sJ ‚ŒŒ]d S )
Nrâ   rÄ   rÍ   )r   r   r   r   r;   r   r   )Úclasses_rµ   r¯   r¹   Úfeature_log_prob_)ÚsortedÚlistÚsetr·   rG   r=   r@   r–   Ú
isinstancer!   Úndarrayr\   )r­   rå   ræ   r>   r?   r<   Únum_classesrH   Úattribute_namesÚattribute_nameÚ	attributeÚelements               r+   Ú)test_discretenb_degenerate_one_class_caserô   ª  s|  € ð" 
ˆˆ�I�I�I˜y˜y˜yÐ)€AØˆ	ˆ	€AØð ØˆcˆrˆcŒFˆØˆcˆrˆcŒFˆÝ•T�#˜a™&œ&‘\”\Ñ"Ô"€GÝ�g‘,”,€Kà
Ð
Ñ
Ô
€CØð Ø�Š˜˜1 gˆÑ.Ô.Ð.Ð.à�Š��1‰ŒˆØ�;Š;�q˜˜!˜”uÑÔ  1¤Ò%Ð%Ð%Ð%ðð ð €Oð *ð 
7ð 
7ˆÝ˜C °Ñ6Ô6ˆ	ØÐàÝ�i¥¤Ñ,Ô,ð 	7Ø”? 1Ô%¨Ò4Ð4Ð4Ð4Ð4ð %ð 7ð 7�Ø”} QÔ'¨;Ò6Ð6Ð6Ð6Ð6ð7ð
7ð 
7r-   Úkind)ÚdenseÚsparseÚcsr_containerc                 óþ  — t          |¦  «        \  }}| dk    r|}n| dk    r ||¦  «        }t          ¦   «         }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ||¦  «                             |¦  «        }t          ||¦  «         |                     |¦  «        }	| 	                    |¦  «        }
t          t          j        |	¦  «        |
d¦  «         t          ¦   «         }|                     |d d…         |d d…         t          j        |¦  «        ¬¦  «         |                     |dd…         |dd…         ¦  «         |                     |dd …         |dd …         ¦  «         |                     |¦  «        }t          ||¦  «         |                     |¦  «        }| 	                    |¦  «        }t          t          j        |¦  «        |d¦  «         t          ||	¦  «         t          ||
¦  «         t          ¦   «         }|                     ||t          j        |¦  «        ¬¦  «         |                     |¦  «        }t          ||¦  «         |                     |¦  «        }| 	                    |¦  «        }t          t          j        |¦  «        |d¦  «         t          ||	¦  «         t          ||
¦  «         d S )	Nrö   r÷   z!Negative values in data passed tor9   r8   r   r;   r/   )r6   r   rD   rE   rF   r=   r@   r   rA   rB   r   r!   rC   rG   r•   )rõ   r'   rø   r4   r5   r>   rH   rl   rI   rJ   rK   rb   Úy_pred2Úy_pred_proba2Úy_pred_log_proba2r»   Úy_pred3Úy_pred_proba3Úy_pred_log_proba3s                      r+   Ú	test_mnnbr   ß  s
  € õ 2Ð2DÑEÔE�F€Bˆàˆw‚€ØˆˆØ	�Ò	Ð	ØˆM˜"ÑÔˆõ ‰/Œ/€Cà
-€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š���B‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�WŠW�Q˜‰^Œ^×#Ò# AÑ&Ô&€Få�v˜rÑ"Ô"Ð"ð ×$Ò$ QÑ'Ô'€LØ×,Ò,¨QÑ/Ô/ÐÝ�bœf \Ñ2Ô2Ð4DÀaÑHÔHÐHõ ‰?Œ?€DØ×Ò�Q�r˜�r”U˜B˜r ˜rœF­B¬I°b©M¬MÐÑ:Ô:Ð:Ø×Ò�Q�q˜�s”V˜R  ! œWÑ%Ô%Ð%Ø×Ò�Q�q�r�r”U˜B˜q˜r˜rœFÑ#Ô#Ð#à�lŠl˜1‰oŒo€GÝ�w Ñ#Ô#Ð#à×&Ò& qÑ)Ô)€MØ×.Ò.¨qÑ1Ô1ÐÝ�bœf ]Ñ3Ô3Ð5FÈÑJÔJÐJÝ˜m¨\Ñ:Ô:Ð:ÝÐ/Ð1AÑBÔBÐBõ ‰?Œ?€DØ×Ò�Q˜¥B¤I¨b¡M¤MÐÑ2Ô2Ð2à�lŠl˜1‰oŒo€GÝ�w Ñ#Ô#Ð#Ø×&Ò& qÑ)Ô)€MØ×.Ò.¨qÑ1Ô1ÐÝ�bœf ]Ñ3Ô3Ð5FÈÑJÔJÐJÝ˜m¨\Ñ:Ô:Ð:ÝÐ/Ð1AÑBÔBÐBÐBÐBs   ÁA<Á<B ÂB c                  óf  — t          j        ddgddgg¦  «        } t          j        ddg¦  «        }t          ¦   «         }t          j        ¦   «         5  t          j        dt          ¦  «         |                     | |g d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ddgg¦  «        dk    sJ ‚|                     ddgg¦  «        dk    sJ ‚|                     ddgg¦  «        dk    sJ ‚t          j        ¦   «         5  t          j        dt          ¦  «         |                     ddggdg¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ddgg¦  «        dk    sJ ‚|                     ddgg¦  «        dk    sJ ‚|                     ddgg¦  «        dk    sJ ‚d S )Nr   r   ÚerrorrÅ   r;   r   )	r!   r3   r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningrG   r@   )r>   r?   rH   s      r+   Ú!test_mnb_prior_unobserved_targetsr    s@  € õ 	Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"€AÝ
Œ�!�Q�ÑÔ€Aå
‰/Œ/€Cå	Ô	 Ñ	"Ô	"ð 1ð 1ÝÔ˜g¥~Ñ6Ô6Ð6à�Š˜˜1 i i iˆÑ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð
 �;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%Ø�;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%Ø�;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%õ 
Ô	 Ñ	"Ô	"ð 'ð 'ÝÔ˜g¥~Ñ6Ô6Ð6à�Š˜!˜Q˜˜ 1 #Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð
 �;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%Ø�;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%Ø�;Š;˜˜A˜�xÑ Ô  AÒ%Ð%Ð%Ð%Ð%Ð%s$   Á5BÂBÂBÄ5EÅEÅEc                  óŠ  — t          j        g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          d¬¦  «        }|                     | |¦  «         t          j        dd	g¦  «        }t	          t          j        |j        ¦  «        |¦  «         t          j        g d
¢g d¢g¦  «        }t	          t          j        |j        ¦  «        |¦  «         t          j        g d¢g¦  «        }t          j        ddgg¦  «        }|t          j        |¦  «        z  }t	          | 	                    |¦  «        |¦  «         d S )N©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   r   r   r†   ©Úalphag      è?r‚   )r×   gš™™™™™é?çš™™™™™É?r×   r×   r  )çUUUUUUÕ?çUUUUUUå?r  r  r  r  g¦@fgÑ;u?gÇ¿à€y–?)
r!   r3   r	   r=   r   rÇ   r¯   ré   rP   rA   )r>   r   rH   rÔ   Úfeature_probÚX_testÚunnorm_predict_probarA   s           r+   Útest_bnbr  5  s_  € õ 	ŒØ	Ð	Ð	Ð/Ð/Ð/Ð1CÐ1CÐ1CÐEWÐEWÐEWÐXñ	ô 	€Aõ
 	Œ���ÑÔ€Aõ ˜CÐ
 Ñ
 Ô
 €CØ‡G‚GˆAˆq�M„M€Mõ ”(˜D $˜<Ñ(Ô(€KÝ�bœf SÔ%9Ñ:Ô:¸KÑHÔHÐHõ ”8à*Ð*Ð*ØBÐBÐBð	
ñô €Lõ �bœf SÔ%:Ñ;Ô;¸\ÑJÔJÐJõ ŒXÐ)Ð)Ð)Ð*Ñ+Ô+€Fõ œ8Ð&:Ð<OÐ%PÐ$QÑRÔRÐØ(­2¬6Ð2FÑ+GÔ+GÑG€MÝ˜c×/Ò/°Ñ7Ô7¸ÑGÔGÐGÐGÐGr-   c                  ó®  — t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          d¬¦  «        }|                     | |¦  «         t          j        |j        dz   ¦  «        }t          j        t          j        |j        dz   ¦  «        | j        d	         d	f¦  «        j	        }t          |j        ||z
  ¦  «         d S )
N)r   r   r   ©r   r   r   rÄ   )r   r   r   )r   r   r   r   r   r†   r  rg   r   )r!   r3   r	   r=   rC   r¹   Útilerµ   r\   ÚTr   ré   )r>   r   rH   ÚnumÚdenoms        r+   Útest_bnb_feature_log_probr  d  sÐ   € õ 	Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	°9°9°9¸i¸i¸iÐHÑIÔI€AÝ
Œ���Ñ!Ô!€Aõ ˜CÐ
 Ñ
 Ô
 €CØ‡G‚GˆAˆq�M„M€Mõ Œ&�Ô# cÑ)Ñ
*Ô
*€CÝŒG•B”F˜3Ô+¨cÑ1Ñ2Ô2°Q´W¸Q´ZÀ°OÑDÔDÔF€Eõ ˜cÔ3°c¸E±kÑCÔCÐCÐCÐCr-   c                  ój  — t          j        g d¢g d¢g d¢g d¢g¦  «        } t          j        g d¢¦  «        }t          j        g d¢g d¢g¦  «        }t          j        |j        ¦  «        }t          j        |j        ¦  «        }t	          d¦  «        D ]F}t          j        ||         ¦  «         ||<   ||         ||                              ¦   «         z  ||<   ŒGt          d	¬
¦  «        }t          j	        d¦  «        }t          j        t          |¬¦  «        5  |                     |  |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     | |¦  «         t          j        g d¢g d¢g¦  «        }t          |j        |¦  «         t          j        ddg¦  «        }	t          |j        |	¦  «         t          j        g d¢¦  «        }
t          |j        |
¦  «         t%          |j        |¦  «         t          d	d¬¦  «        }|                     | |¦  «         t%          |j        |¦  «         d S )Nr	  r
  r  r  r  )çÇqÇq¼?çÇqÇqÌ?r   r  r  r   )çUUUUUUÅ?r  çUUUUUUµ?r!  r!  r"  r   r†   r  z8Negative values in data passed to ComplementNB (input X)r9   )r   r   r   r   r   r   r   r   )r   rx   r   r   r   r   T)r  Únorm)r!   r3   Úzerosr\   r¶   rC   rP   r   ÚreÚescaperD   rE   rF   r=   r   r¹   rµ   Úfeature_all_r   ré   )r>   r   ÚthetaÚweightsÚnormed_weightsrº   rH   rl   Úfeature_countÚclass_countÚfeature_alls              r+   Útest_cnbr.  {  s…  € õ 	ŒØ	Ð	Ð	Ð/Ð/Ð/Ð1CÐ1CÐ1CÐEWÐEWÐEWÐXñ	ô 	€Aõ
 	Œ���ÑÔ€Aõ ŒHðð ð ðð ð ð	
ñô €Eõ* Œh�u”{Ñ#Ô#€GÝ”X˜eœkÑ*Ô*€NÝ�1‰XŒXð :ð :ˆÝ”f˜U 1œXÑ&Ô&Ð&ˆ�‰
Ø# AœJ¨°¬¯ªÑ)9Ô)9Ñ9ˆ�qÑÐõ ˜SÐ
!Ñ
!Ô
!€Cå
Œ)ÐNÑ
OÔ
O€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ø�Š���A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ‡G‚GˆAˆq�M„M€Mõ ”HÐ0Ð0Ð0Ð2DÐ2DÐ2DÐEÑFÔF€MÝ�sÔ)¨=Ñ9Ô9Ð9Ý”(˜A˜q˜6Ñ"Ô"€KÝ�sÔ'¨Ñ5Ô5Ð5Ý”(Ð-Ð-Ð-Ñ.Ô.€KÝ�sÔ'¨Ñ5Ô5Ð5Ý˜cÔ3°WÑ=Ô=Ð=å
˜S tÐ
,Ñ
,Ô
,€CØ‡G‚GˆAˆq�M„M€MÝ˜cÔ3°^ÑDÔDÐDÐDÐDs   ÄD<Ä<E ÅE c           	      óø  — t          ¦   «         }t          | ¦  «        \  }}|                     ||¦  «                             |¦  «        }t	          ||¦  «         t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          dd¬¦  «        }|                     ||¦  «         t	          |j        t          j        ddg¦  «        ¦  «         t          j        d	d
gg¦  «        }t          j        dg¦  «        }t          j	        d¦  «        }	t          j        t          |	¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |	¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgg¦  «        }
t          j        ddgg¦  «        }|                     ¦   «         }t          |                     |
¦  «        ||z  ¦  «         t!          |j        ¦  «        |j        d         k    sJ ‚t          j        d	d	gd	dgd	d	gddgg¦  «        }t          j        g d¢¦  «        }t          dd¬¦  «        }|                     ||¦  «         t	          |                     t          j        d	d	gg¦  «        ¦  «        t          j        dg¦  «        ¦  «         t	          |j        t          j        ddg¦  «        ¦  «         dD ]î}t          j        d	d	gd	dgd	d	gddgg¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        |z  }t          dd¬¦  «        }|                     |||¬¦  «         t	          |                     t          j        d	d	gg¦  «        ¦  «        t          j        dg¦  «        ¦  «         t	          |j        t          j        ddg¦  «        ¦  «         Œïd S )Nr   rx   r   r/   F)r  rÌ   r   r0   r   r   z9Negative values in data passed to CategoricalNB (input X)r9   r  çÇqÇqÜ?rã   )r†   rp   r/   g-Cëâ6?)r   r   r   çš™™™™™¹?rS   )r
   r6   r=   r@   r   r!   r3   Ún_categories_r%  r&  rD   rE   rF   rP   r   rA   r·   r¸   r\   )r'   rH   r4   r5   rI   ÚX3Úy3r>   r?   Ú	error_msgÚX3_testÚbayes_numeratorÚbayes_denominatorÚfactorrT   s                  r+   Útest_categoricalnbr:  Â  s%  € å
‰/Œ/€CÝ1Ð2DÑEÔE�F€Bˆà�WŠW�R˜‰_Œ_×$Ò$ RÑ(Ô(€FÝ�v˜rÑ"Ô"Ð"å	Œ�A�q�6˜A˜q˜6Ð"Ñ	#Ô	#€BÝ	Œ�1�a�&Ñ	Ô	€BÝ
˜a¨5Ð
1Ñ
1Ô
1€Cà‡G‚GˆB��O„O€OÝ�sÔ(­"¬(°A°q°6Ñ*:Ô*:Ñ;Ô;Ð;õ 	Œ�1�b�'�ÑÔ€AÝ
Œ�!�‰Œ€AÝ”	ÐUÑVÔV€IÝ	Œ•z¨Ð	3Ñ	3Ô	3ð ð Ø�Š�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•z¨Ð	3Ñ	3Ô	3ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Œh˜˜A˜�xÑ Ô €Gõ ”h °Ð >Ð?Ñ@Ô@€OØ'×+Ò+Ñ-Ô-ÐÝØ×Ò˜'Ñ"Ô" OÐ6GÑ$Gñô ð õ
 ˆsÔ"Ñ#Ô# r¤x°¤{Ò2Ð2Ð2Ð2õ 	Œ�1�a�&˜1˜a˜& 1 a &¨1¨a¨&Ð1Ñ2Ô2€AÝ
Œ���ÑÔ€AÝ
˜a¨5Ð
1Ñ
1Ô
1€CØ‡G‚GˆAˆq�M„M€MÝ�s—{’{¥2¤8¨a°¨V¨HÑ#5Ô#5Ñ6Ô6½¼À!À¹¼ÑFÔFÐFÝ�sÔ(­"¬(°A°q°6Ñ*:Ô*:Ñ;Ô;Ð;à'ð @ð @ˆÝŒH�q˜!�f˜q !˜f q¨! f¨q°!¨fÐ5Ñ6Ô6ˆÝŒH�\�\�\Ñ"Ô"ˆÝœ   Ñ1Ô1°FÑ:ˆÝ !¨uÐ5Ñ5Ô5ˆØ�Š��1 MˆÑ2Ô2Ð2Ý˜3Ÿ;š;¥r¤x°!°Q°°Ñ'9Ô'9Ñ:Ô:½B¼HÀaÀS¹M¼MÑJÔJÐJÝ˜3Ô,­b¬h¸¸1°vÑ.>Ô.>Ñ?Ô?Ð?Ð?ð@ð @s$   Ä5EÅEÅEÅ=F Æ F$Æ'F$zDmin_categories, exp_X1_count, exp_X2_count, new_X, exp_n_categories_r   )r   r   r   r  rx   )r   r   r   r   c                 ó´  — t          j        ddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          j        dg¦  «        }t          dd| ¬¦  «        }|                     ||¦  «         |j        \  }	}
t          |	|¦  «         t          |
|¦  «         |                     |¦  «        }t          ||¦  «         t          |j        |¦  «         d S )Nr   r   rã   F©r  rÌ   Úmin_categories)r!   r3   r
   r=   r¸   r   r@   r2  )r=  Úexp_X1_countÚexp_X2_countÚnew_XÚexp_n_categories_ÚX_n_categoriesÚy_n_categoriesÚexpected_predictionrH   ÚX1_countÚX2_countÚpredictionss               r+   Ú&test_categoricalnb_with_min_categoriesrH  ù  sá   € õD ”X  1˜v¨¨1 v°°1¨v¸¸1°vÐ>Ñ?Ô?€NÝ”X˜l˜l˜lÑ+Ô+€NÝœ( A 3™-œ-Ðå
˜a¨5ÀÐ
PÑ
PÔ
P€CØ‡G‚GˆN˜NÑ+Ô+Ð+ØÔ,Ñ€HˆhÝ�x Ñ.Ô.Ð.Ý�x Ñ.Ô.Ð.Ø—+’+˜eÑ$Ô$€KÝ�{Ð$7Ñ8Ô8Ð8Ý�sÔ(Ð*;Ñ<Ô<Ð<Ð<Ð<r-   zmin_categories, error_msgz"'min_categories' should have shapec                 ó*  — t          j        ddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          dd| ¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   rã   Fr<  r9   )r!   r3   r
   rD   rE   rF   r=   )r=  r5  r>   r?   rH   s        r+   Ú(test_categoricalnb_min_categories_errorsrJ  )  sÝ   € õ 	Œ�1�a�&˜1˜a˜& 1 a &¨1¨a¨&Ð1Ñ2Ô2€AÝ
Œ���ÑÔ€Aå
˜a¨5ÀÐ
PÑ
PÔ
P€CÝ	Œ•z¨Ð	3Ñ	3Ô	3ð ð Ø�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á$BÂBÂBc                 óš  — t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          dd¬¦  «        }d}t          j        t
          |¬¦  «        5  |                     ||ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgg¦  «        }t          | 	                    |¦  «        |¦  «         t          dd¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d	d
gddgg¦  «        }t          | 	                    |¦  «        |¦  «         t          dd¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgg¦  «        }t          | 	                    |¦  «        |¦  «          | |¦  «        }t          dd¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgg¦  «        }t          | 	                    |¦  «        |¦  «         t          dd¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d	d
gddgg¦  «        }t          | 	                    |¦  «        |¦  «         d S )Nr   r   r|   F©r  Úforce_alphazFalpha too small will result in numeric errors, setting alpha = 1.0e-10r9   r;   r  r  r†   )r!   r3   r	   rD   ÚwarnsÚUserWarningrG   r=   r   rA   r   r
   )rø   r>   r?   Únbrl   Úprobs         r+   Ú
test_alpharR  8  s@  € õ 	Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"€AÝ
Œ�!�Q�ÑÔ€AÝ	˜3¨EÐ	2Ñ	2Ô	2€BØ
R€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð -ð -Ø
�Š�q˜! a¨ VˆÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒ8�a˜�V˜a ˜VÐ$Ñ%Ô%€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8å	˜S¨eÐ	4Ñ	4Ô	4€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð -ð -Ø
�Š�q˜! a¨ VˆÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒ8�g˜wÐ'¨!¨Q¨Ð0Ñ1Ô1€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8å	˜S¨eÐ	4Ñ	4Ô	4€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒ8�c˜3�Z # s Ð,Ñ-Ô-€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8ð 	ˆ�aÑÔ€AÝ	˜3¨EÐ	2Ñ	2Ô	2€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒ8�a˜�V˜a ˜VÐ$Ñ%Ô%€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8å	˜S¨eÐ	4Ñ	4Ô	4€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åŒ8�g˜wÐ'¨!¨Q¨Ð0Ñ1Ô1€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8Ð8Ð8s~   ÁBÂB
ÂB
Â,CÃCÃCÅE*Å*E.Å1E.ÆF3Æ3F7Æ:F7È'I
É
IÉIË	K,Ë,K0Ë3K0Í NÎNÎ
Nc                  ó†  — t          j        ddgddgg¦  «        } t          j        ddg¦  «        }t          j        ddg¦  «        }t          |d¬¦  «        }|                     | |ddg¬¦  «         t          j        ddgdd	gg¦  «        }t	          |j        t          j        |¦  «        ¦  «         t          j        d
dgddgg¦  «        }t	          |                     | ¦  «        |¦  «         t          j        ddg¦  «        }t          |d¬¦  «        }d}t          j	        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        |dz  dg¦  «        }t          |d¬¦  «        }|                     | |ddg¬¦  «         t	          |                     ¦   «         |dgd¬¦  «         t          j        g d¢¦  «        }t          |d¬¦  «        }d}t          j	        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   FrL  r;   rÎ   r×   g333333ã?grÇqÇá?r0  g¼œ‚—Sà?gÖ‡ÆúÐXß?r†   rq   z+All values in alpha must be greater than 0.r9   r§   é   )Údecimal)r†   rg   g      @z7When alpha is an array, it should contains `n_features`)r!   r3   r   rG   r   ré   rC   rA   rD   rE   rF   r=   Ú_check_alpha)	r>   r?   r  rP  r  rQ  Úm_nbÚexpected_msgÚ	ALPHA_MINs	            r+   Útest_alpha_vectorrZ  c  s¿  € Ý
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"€AÝ
Œ�!�Q�ÑÔ€Aõ ŒH�a˜�VÑÔ€EÝ	˜U°Ð	6Ñ	6Ô	6€BØ‡N‚N�1�a ! Q €NÑ(Ô(Ð(õ ”8˜e U˜^¨e°U¨^Ð<Ñ=Ô=€LÝ˜bÔ2µB´F¸<Ñ4HÔ4HÑIÔIÐIõ Œ8�e˜U�^ g¨wÐ%7Ð8Ñ9Ô9€DÝ˜b×.Ò.¨qÑ1Ô1°4Ñ8Ô8Ð8õ ŒH�c˜4�[Ñ!Ô!€EÝ˜u°%Ð8Ñ8Ô8€DØ@€LÝ	Œ•z¨Ð	6Ñ	6Ô	6ð ð Ø�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð €IÝŒH�i !‘m SÐ)Ñ*Ô*€EÝ˜u°%Ð8Ñ8Ô8€DØ×Ò�Q˜ A q 6ÐÑ*Ô*Ð*Ý˜d×/Ò/Ñ1Ô1°I¸sÐ3CÈRÐPÑPÔPÐPõ ŒH�_�_�_Ñ%Ô%€EÝ˜u°%Ð8Ñ8Ô8€DØL€LÝ	Œ•z¨Ð	6Ñ	6Ô	6ð ð Ø�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Ä4EÅEÅEÈH6È6H:È=H:c                  óÈ  — t          d¬¦  «        \  } }t          j        |dk    |dk    ¦  «        }| |         ||         }}t          t	          d¬¦  «        | |d¬¦  «        }|                     ¦   «         dk    sJ ‚t          t	          d¬¦  «        ||d¬¦  «        }|                     ¦   «         d	k    sJ ‚t          t          d¬¦  «        | d
k    |d¬¦  «        }|                     ¦   «         dk    sJ ‚t          t          d¬¦  «        |d
k    |d¬¦  «        }|                     ¦   «         dk    sJ ‚t          t          ¦   «         | |d¬¦  «        }|                     ¦   «         dk    sJ ‚t          t          d¬¦  «        | |d¬¦  «        }|                     ¦   «         dk    sJ ‚t          t          ¦   «         ||d¬¦  «        }|                     ¦   «         dk    sJ ‚d S )NT)Ú
return_X_yr   r8   r   r  )Úcvg…ëQ¸…ë?g®Gázî?rx   g�Âõ(\�ê?gq=
×£pí?g¤p=
×£è?r1  )Úvar_smoothingg{®Gázì?)r   r!   Ú
logical_orr   r   rŽ   r	   r   )r>   r?   Ú
binary_3v8ÚX_3v8Úy_3v8Úscoress         r+   Útest_check_accuracy_on_digitsrd  ‹  sÞ  € õ  $Ð'Ñ'Ô'�D€A€qÝ”˜q Ašv q¨A¢vÑ.Ô.€JØ�Z”= ! J¤-ˆ5€Eõ �]°Ð4Ñ4Ô4°a¸¸rÐBÑBÔB€FØ�;Š;‰=Œ=˜4ÒÐÐÐå�]°Ð4Ñ4Ô4°e¸UÀrÐJÑJÔJ€FØ�;Š;‰=Œ=˜4ÒÐÐÐõ �[¨rÐ2Ñ2Ô2°A¸²E¸1ÀÐDÑDÔD€FØ�;Š;‰=Œ=˜4ÒÐÐÐå�[¨rÐ2Ñ2Ô2°E¸A²I¸uÈÐLÑLÔL€FØ�;Š;‰=Œ=˜4ÒÐÐÐõ �Z™\œ\¨1¨a°BÐ7Ñ7Ô7€FØ�;Š;‰=Œ=˜4ÒÐÐÐå�Z°cÐ:Ñ:Ô:¸A¸qÀRÐHÑHÔH€FØ�;Š;‰=Œ=˜4ÒÐÐÐå�Z™\œ\¨5°%¸BÐ?Ñ?Ô?€FØ�;Š;‰=Œ=˜4ÒÐÐÐÐÐr-   c                  ó¶  — d} t          dd¬¦  «        }|                     ¦   «         dk    sJ ‚t          j        ddg¦  «        }t          |d¬¦  «        }|j        d         |_        t          |                     ¦   «         |¦  «         d| z  }t          dd¬¦  «        }t          j        t          |¬	¦  «        5  |                     ¦   «         | k    sJ ‚	 d
d
d
¦  «         n# 1 swxY w Y   t          dd¬¦  «        }t          j        t          |¬	¦  «        5  |                     ¦   «         | k    sJ ‚	 d
d
d
¦  «         n# 1 swxY w Y   t          |d¬¦  «        }|j        d         |_        t          j        t          |¬	¦  «        5  t          |                     ¦   «         t          j        | dg¦  «        ¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )zÂThe provided value for alpha must only be
    used if alpha < _ALPHA_MIN and force_alpha is True.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/10772
    r§   r   TrL  r|   r†   zCalpha too small will result in numeric errors, setting alpha = %.1eFr9   N)
r	   rV  r!   r3   r\   Ún_features_in_r   rD   rN  rO  )Ú
_ALPHA_MINÚbÚalphasrl   s       r+   Útest_check_alpharj  ¬  s¦  € ð €JÝ˜!¨Ð.Ñ.Ô.€AØ�>Š>ÑÔ˜qÒ Ð Ð Ð åŒX�s˜C�jÑ!Ô!€Få˜&¨dÐ3Ñ3Ô3€Aà”| A”€AÔÝ�q—~’~Ñ'Ô'¨Ñ0Ô0Ð0ð 	NØ
ñ	ð õ 	˜!¨Ð/Ñ/Ô/€AÝ	Œ•k¨Ð	-Ñ	-Ô	-ð .ð .Ø�~Š~ÑÔ :Ò-Ð-Ð-Ð-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 	˜!¨Ð/Ñ/Ô/€AÝ	Œ•k¨Ð	-Ñ	-Ô	-ð .ð .Ø�~Š~ÑÔ :Ò-Ð-Ð-Ð-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 	˜&¨eÐ4Ñ4Ô4€Aà”| A”€AÔÝ	Œ•k¨Ð	-Ñ	-Ô	-ð Jð JÝ˜1Ÿ>š>Ñ+Ô+­R¬X°zÀ3Ð6GÑ-HÔ-HÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Js6   Â:C"Ã"C&Ã)C&ÄEÅEÅEÆ
7GÇGÇGÚ	Estimatorc                 ó4  — t          |¦  «        \  }} | ¦   «                              ||¦  «        }|                     |¦  «        }t          |d¬¦  «        }|t	          j        |¦  «        j        z
  }t          |                     |¦  «        |d¬¦  «         d S )Nr   r³   gê-�™—q=)Úatol)	r6   r=   Úpredict_joint_log_probar   r!   Ú
atleast_2dr  r   rB   )rk  r'   r4   r5   ÚestÚjllÚ
log_prob_xÚlog_prob_x_ys           r+   Útest_predict_joint_probart  Ñ  s’   € å1Ð2DÑEÔE�F€BˆØ
ˆ)‰+Œ+�/Š/˜"˜bÑ
!Ô
!€CØ
×
%Ò
% bÑ
)Ô
)€CÝ˜3 QÐ'Ñ'Ô'€JØ�œ zÑ2Ô2Ô4Ñ4€LÝ�C×)Ò)¨"Ñ-Ô-¨|À%ÐHÑHÔHÐHÐHÐHr-   c                 óŒ   —  | ¦   «                               ¦   «         }| t          u r|j        j        sJ ‚d S |j        j        rJ ‚d S )N)Ú__sklearn_tags__r
   Ú
input_tagsÚcategorical)rk  Útagss     r+   Útest_categorical_input_tagrz  Û  sR   € àˆ9‰;Œ;×'Ò'Ñ)Ô)€DØ•MÐ!Ð!ØŒÔ*Ð*Ð*Ð*Ð*Ð*à”?Ô.Ð.Ð.Ð.Ð.Ð.r-   Ú	use_str_yÚuse_sample_weightz(array_namespace, device_name, dtype_namec           	      ó~  — t          |||¦  «        \  }}t                               |¦  «        }|                     ||¬¦  «        }| r-t	          j        g d¢¦  «        }	t	          j        g d¢¦  «        }
n1t                               |¦  «        }	|                     |	|¬¦  «        }
|rt	          j        g d¢¦  «        }nd}t          ¦   «                              ||	|¬¦  «        }| 	                    |¦  «        }| 
                    |¦  «        }|                     |¦  «        }t          d¬¦  «        5  t          ¦   «                              ||
|¬¦  «        }dD ]{}t          ||¦  «        }t          ||¦  «        }|j        |j        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t!          t#          |t          d	¬
¦  «        |¦  «         Œ|| 	                    |¦  «        }| s9t          |¦  «        t          |¦  «        k    sJ ‚t#          |t          d	¬
¦  «        }t%          ||¦  «         |j        |j        k    sJ ‚| 
                    |¦  «        }|j        |j        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t!          t#          |t          d	¬
¦  «        |¦  «         |                     |¦  «        }|j        |j        k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t!          t#          |t          d	¬
¦  «        |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zETests that :class:`GaussianNB` works correctly with array API inputs.r   )Úar~  r~  rh  rh  rh  )r   r   r   r   r   r   NrS   T)Úarray_api_dispatch)rµ   rO   rY   rZ   Úcpu)Úxpr   )r   r>   r%   Úasarrayr!   r3   r?   r   r=   r@   rA   rB   r   r–   r—   Úarray_api_devicer   r   r   )r{  r|  Úarray_namespaceÚdevice_nameÚ
dtype_namer�  r   ÚX_npÚX_xpÚy_npÚ
y_xp_or_nprT   Úclf_npÚ	y_pred_npÚy_pred_proba_npÚy_pred_log_proba_npÚclf_xpr›   Úxp_attrÚnp_attrÚ	y_pred_xpÚy_pred_proba_xpÚy_pred_log_proba_xps                          r+   Útest_gnb_array_api_compliancer•  ä  s…  € õ & o°{ÀJÑOÔO�J€BˆÝ�8Š8�JÑÔ€DØ�:Š:�d 6ˆ:Ñ*Ô*€DØð 5ÝŒxÐ6Ð6Ð6Ñ7Ô7ˆÝ”XÐ<Ð<Ð<Ñ=Ô=ˆ
ˆ
å�xŠx˜
Ñ#Ô#ˆØ—Z’Z ¨V�ZÑ4Ô4ˆ
àð ÝœÐ!3Ð!3Ð!3Ñ4Ô4ˆˆàˆå‰\Œ\×Ò˜d D¸ÐÑFÔF€FØ—’˜tÑ$Ô$€IØ×*Ò*¨4Ñ0Ô0€OØ ×2Ò2°4Ñ8Ô8ÐÝ	¨4Ð	0Ñ	0Ô	0ð 
ð 
Ý‘”×!Ò! $¨
À-Ð!ÑPÔPˆØMð 	Lð 	LˆKÝ˜f kÑ2Ô2ˆGÝ˜f kÑ2Ô2ˆGØ”= D¤JÒ.Ð.Ð.Ð.Ý# GÑ,Ô,Õ0@ÀÑ0FÔ0FÒFÐFÐFÐFÝ�G Gµ¸5ÐAÑAÔAÀ7ÑKÔKÐKÐKà—N’N 4Ñ(Ô(ˆ	Øð 	@Ý# IÑ.Ô.Õ2BÀ4Ñ2HÔ2HÒHÐHÐHÐHÝ 	­b¸Ð?Ñ?Ô?ˆIÝ˜9 iÑ0Ô0Ð0ØŒ )¤/Ò1Ð1Ð1Ð1à ×.Ò.¨tÑ4Ô4ˆØÔ$¨¬
Ò2Ð2Ð2Ð2Ý Ñ0Ô0Õ4DÀTÑ4JÔ4JÒJÐJÐJÐJÝ� µB¸uÐEÑEÔEÀÑWÔWÐWà$×6Ò6°tÑ<Ô<ÐØ"Ô(¨D¬JÒ6Ð6Ð6Ð6ÝÐ 3Ñ4Ô4Õ8HÈÑ8NÔ8NÒNÐNÐNÐNÝÝÐ'­B°uÐ=Ñ=Ô=Ð?Rñ	
ô 	
ð 	
ð1
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Ä4G1L2Ì2L6Ì9L6)Or%  r  Únumpyr!   rD   Úscipy.specialr   Úsklearn._configr   Úsklearn.datasetsr   r   Úsklearn.model_selectionr   r   Úsklearn.naive_bayesr	   r
   r   r   r   Úsklearn.utils._array_apir   rƒ  r   r   Úsklearn.utils._testingr   r   r   r   r   Úsklearn.utils.fixesr   ÚDISCRETE_NAIVE_BAYES_CLASSESÚALL_NAIVE_BAYES_CLASSESr3   r>   r?   r,   r6   rL   rQ   re   rm   rs   r€   r„   r‡   r‰   r“   r    r¬   ÚmarkÚparametrizer°   r¼   rÂ   rÊ   rÑ   rÕ   rà   rä   rô   r   r  r  r  r.  r:  rH  rJ  rR  rZ  rd  rj  rt  rz  r•  r£   r-   r+   ú<module>r£     sP  ðØ 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #à *Ð *Ð *Ð *Ð *Ð *Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .à +¨]¸LÈ-ÐXÐ Ø6¸*¸ÑEÐ ð €B„Hˆr�2ˆh˜˜R˜ 2 r (¨Q°¨F°Q¸°F¸QÀ¸FÐCÑDÔD€Ø€B„HÐÐÐÑ Ô €ðð ð ðð ð ð7ð 7ð 7ð,9ð 9ð 9ð$>ð $>ð $>ðNð ð ðFð Fð Fðð ð ð.ð ð ðð ð ð8ð 8ð 8ð	ð 	ð 	ð:ð :ð :ð&-ð -ð -ð „×ÒÐ-Ð/KÑLÔLðð ñ MÔLðð „×ÒÐ-Ð/KÑLÔLð.Eð .Eñ MÔLð.Eðb „×Ò˜Ð'>Ñ?Ô?ð7ð 7ñ @Ô?ð7ð$Eð Eð EðB „×ÒÐ-Ð/KÑLÔLð;ð ;ñ MÔLð;ð „×ÒÐ-Ð/KÑLÔLð?ð ?ñ MÔLð?ð$ „×ÒÐ-Ð/KÑLÔLð
ð 
ñ MÔLð
ð( „×ÒÐ-Ð/KÑLÔLð5ð 5ñ MÔLð5ð, „×ÒÐ-Ð/KÑLÔLØ„×ÒÐ*¨U°D¨MÑ:Ô:Ø„×ÒÐ2°U¸D°MÑBÔBð/7ð /7ñ CÔBñ ;Ô:ñ MÔLð/7ðd „×Ò˜Ð!4Ñ5Ô5Ø„×Ò˜¨.Ñ9Ô9ð4Cð 4Cñ :Ô9ñ 6Ô5ð4Cðn&ð &ð &ð:,Hð ,Hð ,Hð^Dð Dð Dð.DEð DEð DEðN4@ð 4@ð 4@ðn „×ÒØJð ØˆBŒH�i�i�i   Ð+Ñ,Ô,ØˆBŒH�i�i�i   Ð+Ñ,Ô,ØˆBŒH�q˜!�f�XÑÔØˆBŒH�a˜�VÑÔð	
ð �ˆFØˆBŒH�i�i�i   Ð+Ñ,Ô,ØˆBŒH�l�l�l L L LÐ1Ñ2Ô2ØˆBŒH�q˜!�f�XÑÔØˆBŒH�a˜�VÑÔð	
ð Ø�”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ø�”˜1˜a˜& 1 a &Ð)Ñ*Ô*Ø�”˜1˜a˜&˜Ñ"Ô"Ø�”˜!˜Q˜Ñ Ô ðð'ñô ð>=ð =ñ?ô ð>=ð" „×ÒØàˆaˆ&�1�a�&Ð	Ð?Ð@ðñô ðð ñô ðð „×Ò˜¨.Ñ9Ô9ð'9ð '9ñ :Ô9ð'9ðT%ð %ð %ðP ð  ð  ðB"Jð "Jð "JðJ „×Ò˜Ð&=Ñ>Ô>ðIð Iñ ?Ô>ðIð „×Ò˜Ð&=Ñ>Ô>ð/ð /ñ ?Ô>ð/ð „×Ò˜ u¨d mÑ4Ô4Ø„×ÒÐ,¨u°d¨mÑ<Ô<Ø„×ÒØ.Ø-Ð-Ñ/Ô/ñô ð1
ð 1
ñ	ô ñ =Ô<ñ 5Ô4ð1
ð 1
ð 1
r-   