§
    rŠtj&  ã                   óÀ  — 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	 d dl
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 d
„ Zd„ Zej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd&d„Zej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zd&d„Zd„ Zd„ Zd„ Z ej                             ddg d¢g¦  «        d„ ¦   «         Z!ej                             d d!d"g¦  «        d#„ ¦   «         Z"ej                             dg d$¢¦  «        d%„ ¦   «         Z#dS )'é    N)Ú
make_blobs)ÚNotFittedError)ÚGridSearchCV)ÚKDTreeÚKernelDensityÚNearestNeighbors)Úkernel_norm)Úmake_pipeline)ÚStandardScaler)Úassert_allclosec                 ó  — |dk    r"|j         d         d|j         d         dz   z  z  }n;|dk    r5|j         d         |j         d         dz   z  dz  d|j         d         dz   z  z  }t          j        | d d …d d d …f         |z
  dz                       d¦  «        ¦  «        }t	          ||j         d         |¦  «        |j         d         z  }|dk    r6|t          j        d	||z  z  ||z  z  ¦  «                             d¦  «        z  S |d
k    r|||k                          d¦  «        z  S |dk    r+|d||z  ||z  z  z
  ||k     z                       d¦  «        z  S |dk    r.|t          j        | |z  ¦  «                             d¦  «        z  S |dk    r%|d||z  z
  ||k     z                       d¦  «        z  S |dk    rD|t          j        dt          j        z  |z  |z  ¦  «        ||k     z                       d¦  «        z  S t          d¦  «        ‚)NÚscottr   éÿÿÿÿé   é   Ú	silvermané   Úgaussiang      à¿ÚtophatÚepanechnikovç      ð?ÚexponentialÚlinearÚcosineg      à?zkernel not recognized)	ÚshapeÚnpÚsqrtÚsumr	   ÚexpÚcosÚpiÚ
ValueError)ÚYÚXÚkernelÚhÚdÚnorms         ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/neighbors/tests/test_kde.pyÚcompute_kernel_slowr*      s#  € ØˆG‚|€|ØŒG�AŒJ˜2 ¤¨¤¨a¡Ñ0Ñ1ˆˆØ	
ˆkÒ	Ð	ØŒW�QŒZ˜1œ7 1œ:¨™>Ñ*¨QÑ.°B¸!¼'À!¼*Àq¹.Ñ4IÑJˆå
Œ�!�A�A�A�t˜Q˜Q˜Q�J”- !Ñ#¨Ñ)×.Ò.¨rÑ2Ô2Ñ3Ô3€AÝ�q˜!œ' !œ* fÑ-Ô-°´¸´
Ñ:€Dà�ÒÐØ•b”f˜T Q¨¡U™^¨q°1©uÑ5Ñ6Ô6×:Ò:¸2Ñ>Ô>Ñ>Ð>Ø	�8Ò	Ð	Ø�q˜1’u—k’k "‘o”oÑ%Ð%Ø	�>Ò	!Ð	!Ø˜˜q 1™u¨¨Q©Ñ/Ñ/°A¸²EÑ:×?Ò?ÀÑCÔCÑCÐCØ	�=Ò	 Ð	 Ø•r”v˜q˜b 1™f‘~”~×*Ò*¨2Ñ.Ô.Ñ.Ð.Ø	�8Ò	Ð	Ø˜˜A ™E™	 a¨!¢eÑ,×1Ò1°"Ñ5Ô5Ñ5Ð5Ø	�8Ò	Ð	Ø•r”v˜c¥B¤E™k¨A™o°Ñ1Ñ2Ô2°a¸!²eÑ<×AÒAÀ"ÑEÔEÑEÐEåÐ0Ñ1Ô1Ð1ó    c           	      ó’  — t          | |||¬¦  «        }|                     |¦  «                             |¦  «        }t          t	          j        |¦  «        ||t          d|¦  «        ¬¦  «         t          t	          j        |                     |¦  «        ¦  «        t	          j        |¦  «        |t          d|¦  «        ¬¦  «         d S )N)r%   Ú	bandwidthÚatolÚrtolgH¯¼šò×z>)r.   r/   )	r   ÚfitÚscore_samplesr   r   r   ÚmaxÚscoreÚprod)	r%   r-   r.   r/   r$   r#   Ú	dens_trueÚkdeÚlog_denss	            r)   Úcheck_resultsr8   )   s®   € Ý
˜v°ÀÈDÐ
QÑ
QÔ
Q€CØ�wŠw�q‰zŒz×'Ò'¨Ñ*Ô*€HÝ•B”F˜8Ñ$Ô$ i°dÅÀTÈ4ÁÄÐQÑQÔQÐQÝÝ
Œˆs�yŠy˜‰|Œ|ÑÔ�bœg iÑ0Ô0°tÅ#ÀdÈDÁ/Ä/ðñ ô ð ð ð r+   r%   )r   r   r   r   r   r   r-   )ç{®Gáz„?çš™™™™™¹?r   r   r   c                 ó  — d\  }}t           j                             d¦  «        }|                     ||¦  «        }|                     ||¦  «        }t	          ||| |¦  «        }dD ]!}dD ]}	dD ]}
t          | ||	||||¦  «         ŒŒŒ"d S )N©éd   é   r   )r   gñhãˆµøä>)g�íµ ÷Æ°>r9   )TF)r   ÚrandomÚRandomStateÚrandnr*   r8   )r%   r-   Ú	n_samplesÚ
n_featuresÚrngr$   r#   r5   r/   r.   Úbreadth_firsts              r)   Útest_kernel_densityrF   2   sÄ   € ð
 %Ñ€Iˆzå
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�)˜ZÑ(Ô(€AØ�	Š	�)˜ZÑ(Ô(€Aå# A q¨&°)Ñ<Ô<€Iàð Nð NˆØ ð 	Nð 	NˆDØ!.ð Nð N�Ý˜f i°°t¸QÀÀ9ÑMÔMÐMÐMðNð	NðNð Nr+   r=   r>   c                 ó¤  — t           j                             d¦  «        }|                     | |¦  «        }d}dD ]Î}t	          ||¬¦  «                             |¦  «        }|                     d¦  «        }|j        |j        k    sJ ‚t          d¬¦  «                             |¦  «        }| 	                    |d¬	¦  «        \  }	}
|d
k    rt          j
        |	|k     ¦  «        sJ ‚Œ«|dk    rt          j
        |	d|z  k     ¦  «        sJ ‚ŒÏdD ]l}t	          ||¬¦  «                             |¦  «        }t          j        t          ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   Œm|                     dd¦  «        }t	          d¬¦  «                             |¦  «        }|                     ¦   «         j        dk    sJ ‚d S )Nr   çš™™™™™É?)r   r   )r-   r%   r=   r   )Ún_neighborsT)Úreturn_distancer   r   é   )r   r   r   r   r   ©r%   )r   r   )r   r?   r@   rA   r   r0   Úsampler   r   Ú
kneighborsÚallÚpytestÚraisesÚNotImplementedError)rB   rC   rD   r$   r-   r%   r6   ÚsampÚnbrsÚdistÚinds              r)   Útest_kernel_density_samplingrW   E   s  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�)˜ZÑ(Ô(€Aà€Ià(ð 0ð 0ˆå i¸Ð?Ñ?Ô?×CÒCÀAÑFÔFˆØ�zŠz˜#‰ŒˆØŒw˜$œ*Ò$Ð$Ð$Ð$õ  ¨AÐ.Ñ.Ô.×2Ò2°1Ñ5Ô5ˆØ—O’O A°t�OÑ<Ô<‰	ˆˆcà�XÒÐÝ”6˜$ Ò*Ñ+Ô+Ð+Ð+Ð+Ð+Ø�zÒ!Ð!õ ”6˜$  Y¡Ò.Ñ/Ô/Ð/Ð/Ð/øð Fð ð ˆÝ i¸Ð?Ñ?Ô?×CÒCÀAÑFÔFˆÝŒ]Õ.Ñ/Ô/ð 	ð 	Ø�JŠJ�s‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð 	�	Š	�!�Q‰Œ€AÝ
˜zÐ
*Ñ
*Ô
*×
.Ò
.¨qÑ
1Ô
1€CØ�:Š:‰<Œ<Ô Ò'Ð'Ð'Ð'Ð'Ð's   Å
E,Å,E0	Å3E0	Ú	algorithm©ÚautoÚ	ball_treeÚkd_treeÚmetric)Ú	euclideanÚ	minkowskiÚ	manhattanÚ	chebyshevÚ	haversinec                 ó  — t           j                             d¦  «        }|                     dd¦  «        }|                     dd¦  «        }t	          | |¬¦  «        }| dk    rY|t
          j        vrKt          j        t          d¬¦  «        5  | 
                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S | 
                    |¦  «         |                     |¦  «        }|j        |j        d d…         k    sJ ‚d S )	Nr   é
   r   ©rX   r]   r\   zinvalid metric)Úmatchr   )r   r?   r@   rA   r   r   Úvalid_metricsrP   rQ   r"   r0   r1   r   )rX   r]   rD   r$   r#   r6   Úy_denss          r)   Ú test_kde_algorithm_metric_choiceri   h   s9  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�aÑÔ€AØ�	Š	�"�aÑÔ€Aå
 )°FÐ
;Ñ
;Ô
;€Cà�IÒÐ &µÔ0DÐ"DÐ"DÝŒ]�:Ð-=Ð>Ñ>Ô>ð 	ð 	Ø�GŠG�A‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	�Š�‰
Œ
ˆ
Ø×"Ò" 1Ñ%Ô%ˆØŒ|˜qœw r¨ rœ{Ò*Ð*Ð*Ð*Ð*Ð*s   ÂB/Â/B3Â6B3c                 ó   — d S )N© )rB   rC   s     r)   Útest_kde_scorerl   }   s   € Ø€Dr+   c                  ó.  — t          ¦   «         } t          j        t          ¦  «        5  |                      t
          j                             d¦  «        t
          j                             d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  |                      t
          j                             d¦  «        t
          j                             d¦  «         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)éÈ   rd   ©Úsample_weightrn   )r   rP   rQ   r"   r0   r   r?   )r6   s    r)   Útest_kde_sample_weights_errorrq   …   sx  € Ý
‰/Œ/€CÝ	Œ•zÑ	"Ô	"ð Xð XØ�Š•”	× Ò  Ñ+Ô+½2¼9×;KÒ;KÈIÑ;VÔ;VˆÑWÔWÐWðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xå	Œ•zÑ	"Ô	"ð Sð SØ�Š•”	× Ò  Ñ+Ô+½B¼I×<LÒ<LÈSÑ<QÔ<QÐ;QˆÑRÔRÐRðSð Sð Sñ Sô Sð Sð Sð Sð Sð Sð Sð Søøøð Sð Sð Sð Sð Sð Ss%   ¨ABÂB
ÂB
Â*AD
Ä
DÄDc                  ó2  — t          ddddgddgddgg¬¦  «        \  } }t          t          dd¬¦  «        t          d¬¦  «        ¦  «        }t	          g d	¢¬
¦  «        }t          ||¬¦  «        }|                     | ¦  «         |j        d         dk    sJ ‚d S )Nr:   r   r   )Úcluster_stdÚrandom_stateÚcentersF)Ú	with_meanÚwith_stdr   rL   )çü©ñÒMbP?r9   r:   r   rd   )Úkerneldensity__bandwidth)Ú
param_gridry   )r   r
   r   r   Údictr   r0   Úbest_params_)r$   Ú_Úpipe1ÚparamsÚsearchs        r)   Útest_kde_pipeline_gridsearchr�   �   s·   € å #°AÀÀAÀÈÈAÈÐQRÐTUÐPVÐ?WÐXÑXÔX�D€A€qÝÝ °Ð7Ñ7Ô7Ý˜ZÐ(Ñ(Ô(ñô €Eõ Ð+DÐ+DÐ+DÐEÑEÔE€FÝ˜%¨FÐ3Ñ3Ô3€FØ
‡J‚Jˆq�M„M€MØÔÐ9Ô:¸cÒAÐAÐAÐAÐAÐAr+   c            	      ó~  — d} d}t          j        | d¦  «        }dD �]Ÿ}t           j                             d¦  «        }|                     | |¦  «        }dd|                     d¬¦  «        z                       t           j        ¦  «        z   }t          j        ||d¬¦  «        }||z  }|                     ||¦  «        }	d	D �]ø}
d
D �]ñ}|
dk    s|t          j
        v �rÙt          |
|¬¦  «        }|                     ||¬¦  «         |                     |	¦  «        }|                     d¬¦  «        }|                     |¦  «         |                     |	¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         |                     ||¬¦  «         |                     |	¦  «        }|                     d¬¦  «        }|                     |¦  «         |                     |	¦  «        }|                     d¬¦  «        }t          ||¦  «         t          ||¦  «         t          j        t          j        ||z
  ¦  «        ¦  «        }|dk    sJ ‚|                     ¦   «         }|                     |||z  ¬¦  «         |                     |	¦  «        }t          ||¦  «         �Œó�Œú�Œ¡d S )Ni�  é   ç      @)r   r   rd   r   r   rd   )ÚaxisrY   )r^   r_   r`   ra   r\   re   ro   iÒ  )rt   rx   )r   Úfullr?   r@   Úrandr   ÚastypeÚint8Úrepeatr   rg   r   r0   r1   rM   r   r2   Úabs)rB   Ú	size_testÚweights_neutralr'   rD   r$   ÚweightsÚX_repetitionsÚn_samples_testÚtest_pointsrX   r]   r6   Úscores_const_weightÚsample_const_weightÚscores_no_weightÚsample_no_weightÚscores_weightrp   Úscores_ref_samplingÚsample_ref_samplingÚdiffÚscale_factorÚscores_scaled_weights                           r)   Útest_kde_sample_weightsrœ   š   sË  € Ø€IØ€IÝ”g˜i¨Ñ-Ô-€OØð (Iñ (IˆÝŒi×#Ò# AÑ&Ô&ˆØ�HŠH�Y Ñ"Ô"ˆØ�r˜AŸEšE q˜E™MœMÑ)×1Ò1µ"´'Ñ:Ô:Ñ:ˆÝœ	 ! W°1Ð5Ñ5Ô5ˆØ" a™ˆØ—h’h˜~¨qÑ1Ô1ˆØ9ð !	Iñ !	IˆIØNð  Iñ  I�Ø 	Ò)Ð)¨VµvÔ7KÐ-KÑ-KÝ'°)ÀFÐKÑKÔK�Cð —G’G˜A¨_�GÑ=Ô=Ð=Ø*-×*;Ò*;¸KÑ*HÔ*HÐ'Ø*-¯*ª*À$¨*Ñ*GÔ*GÐ'Ø—G’G˜A‘J”J�JØ'*×'8Ò'8¸Ñ'EÔ'EÐ$Ø'*§z¢z¸t zÑ'DÔ'DÐ$Ý#Ð$7Ð9IÑJÔJÐJÝ#Ð$7Ð9IÑJÔJÐJð —G’G˜A¨W�GÑ5Ô5Ð5Ø$'×$5Ò$5°kÑ$BÔ$B�MØ$'§J¢J¸D JÑ$AÔ$A�MØ—G’G˜MÑ*Ô*Ð*Ø*-×*;Ò*;¸KÑ*HÔ*HÐ'Ø*-¯*ª*À$¨*Ñ*GÔ*GÐ'Ý# MÐ3FÑGÔGÐGÝ# MÐ3FÑGÔGÐGõ œ6¥"¤&Ð)9¸MÑ)IÑ"JÔ"JÑKÔK�DØ %š<˜<˜<˜<ð $'§8¢8¡:¤:�LØ—G’G˜A¨l¸WÑ.D�GÑFÔFÐFØ+.×+<Ò+<¸[Ñ+IÔ+IÐ(Ý#Ð$8¸-ÑHÔHÐHùñA Iñ!	Ið(Ið (Ir+   rp   )r:   rH   g333333Ó?c                 ó¶  — t          ¦   «         }t          j        g d¢d¦  «        }|                     ||¬¦  «         t          j        ddgd¦  «        }|                     |¦  «        }t          |                      d¦  «        ¦  «        }t          j        ||¦  «         t          j	        |¦  «        }|                     |¦  «        }t          ||¦  «         d S )N)r   g       @r„   )r   r   ro   gš™™™™™ñ?gÍÌÌÌÌÌ @zdump.pkl)r   r   Úreshaper0   r1   ÚstrÚjoinÚjoblibÚdumpÚloadr   )Útmpdirrp   r6   Údatar$   ÚscoresÚ	file_pathÚscores_pickleds           r)   Útest_picklingr©   É   sÃ   € õ ‰/Œ/€CÝŒ:�o�o�o wÑ/Ô/€DØ‡G‚GˆD €GÑ.Ô.Ð.å
Œ
�C˜�:˜wÑ'Ô'€AØ×Ò˜qÑ!Ô!€Få�F—K’K 
Ñ+Ô+Ñ,Ô,€IÝ
„K��YÑÔÐÝ
Œ+�iÑ
 Ô
 €CØ×&Ò& qÑ)Ô)€Nå�F˜NÑ+Ô+Ð+Ð+Ð+r+   Úmethodr1   rM   c                 ó"  — t           j                             d¦  «        }|                     dd¦  «        }t	          ¦   «         }t          j        t          ¦  «        5   t          || ¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rd   r   )	r   r?   r@   rA   r   rP   rQ   r   Úgetattr)rª   rD   r$   r6   s       r)   Útest_check_is_fittedr­   Þ   sÃ   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�"�aÑÔ€AÝ
‰/Œ/€Cå	Œ•~Ñ	&Ô	&ð  ð  Ø���VÑÔ˜QÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÁBÂBÂB)r   r   r:   c                 ó^  — d\  }}t           j                             d¦  «        }|                     ||¦  «        }t	          | ¬¦  «                             |¦  «        }|                     d¦  «        }|                     |¦  «        }|j        |j        k    sJ ‚|j        |fk    sJ ‚| dk    r"|j        d         d|j        d         dz   z  z  }n>| d	k    r6|j        d         |j        d         d
z   z  dz  d|j        d         dz   z  z  }n| }|j	        t          j        |¦  «        k    sJ ‚d S )Nr<   r   )r-   r=   r   r   r   r   r   r   )r   r?   r@   rA   r   r0   rM   r1   r   Ú
bandwidth_rP   Úapprox)	r-   rB   rC   rD   r$   r6   rS   Úkde_scr&   s	            r)   Útest_bandwidthr²   ê   s4  € à$Ñ€IˆzÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�)˜ZÑ(Ô(€AÝ
 )Ð
,Ñ
,Ô
,×
0Ò
0°Ñ
3Ô
3€CØ�:Š:�c‰?Œ?€DØ×Ò˜qÑ!Ô!€FØŒ7�d”jÒ Ð Ð Ð ØŒ<˜I˜<Ò'Ð'Ð'Ð'ð �GÒÐØŒG�AŒJ˜2 ¤¨¤¨a¡Ñ0Ñ1ˆˆØ	�kÒ	!Ð	!ØŒW�QŒZ˜1œ7 1œ:¨™>Ñ*¨QÑ.°B¸!¼'À!¼*Àq¹.Ñ4IÑJˆˆàˆØŒ>�Vœ]¨1Ñ-Ô-Ò-Ð-Ð-Ð-Ð-Ð-r+   r<   )$r¡   Únumpyr   rP   Úsklearn.datasetsr   Úsklearn.exceptionsr   Úsklearn.model_selectionr   Úsklearn.neighborsr   r   r   Úsklearn.neighbors._ball_treer	   Úsklearn.pipeliner
   Úsklearn.preprocessingr   Úsklearn.utils._testingr   r*   r8   ÚmarkÚparametrizerF   rW   ri   rl   rq   r�   rœ   r©   r­   r²   rk   r+   r)   ú<module>r¾      s°  ðØ €€€Ø Ð Ð Ð Ø €€€à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø -Ð -Ð -Ð -Ð -Ð -Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð2ð 2ð 2ð2ð ð ð „×ÒØÐWÐWÐWñô ð „×Ò˜Ð&JÐ&JÐ&JÑKÔKðNð Nñ LÔKñô ðNð (ð  (ð  (ð  (ðF „×Ò˜Ð&FÐ&FÐ&FÑGÔGØ„×ÒØÐOÐOÐOñô ð+ð +ñô ñ HÔGð+ð"	ð 	ð 	ð 	ðSð Sð Sð
Bð 
Bð 
Bð,Ið ,Ið ,Ið^ „×Ò˜¨4°°°Ð*AÑBÔBð,ð ,ñ CÔBð,ð( „×Ò˜ O°XÐ#>Ñ?Ô?ð ð  ñ @Ô?ð ð „×Ò˜Ð&AÐ&AÐ&AÑBÔBð.ð .ñ CÔBð.ð .ð .r+   