§
    qŠtjX=  ã                   ó2  — d 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	m
Z
 ddl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
Z ee¬¦  «        Zd„ Zd„ Zej                             de¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zd„ Zej                             dddg¦  «        ej                             dedgz   ¦  «        d„ ¦   «         ¦   «         Zej                             de¦  «        d„ ¦   «         Z ej                             de¦  «        d„ ¦   «         Z!d„ Z"d„ Z#d„ Z$d„ Z%d „ Z&d!„ Z'd"„ Z(ej                             d#g d$¢¦  «        d%„ ¦   «         Z)d&„ Z*ej                             de¦  «        d'„ ¦   «         Z+dS )(z'
Tests for DBSCAN clustering algorithm
é    N)Údistance)ÚDBSCANÚdbscan)Úgenerate_clustered_data)Úpairwise_distances)ÚNearestNeighbors)Úassert_array_equal)ÚCSR_CONTAINERSÚLIL_CONTAINERSé   )Ú
n_clustersc                  óð  — d} d}t          j        t          j        t          ¦  «        ¦  «        }|t	          j        |¦  «        z  }t          |d| |¬¦  «        \  }}t          t          |¦  «        ¦  «        d|v rdndz
  }|t          k    sJ ‚t          d| |¬¦  «        }|                     |¦  «        j        }t          t          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚d S )Ng333333Ã?é
   Úprecomputed©ÚmetricÚepsÚmin_sampleséÿÿÿÿé   r   )r   Ú
squareformÚpdistÚXÚnpÚmaxr   ÚlenÚsetr   r   ÚfitÚlabels_Úint)r   r   ÚDÚcore_samplesÚlabelsÚn_clusters_1ÚdbÚn_clusters_2s           ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/cluster/tests/test_dbscan.pyÚtest_dbscan_similarityr(      só   € ð €CØ€KåÔ�HœN­1Ñ-Ô-Ñ.Ô.€AØ�Œ�‰Œ�N€Aå!Ø	�- S°kðñ ô Ñ€L�&õ •s˜6‘{”{Ñ#Ô#¨B°&¨L¨L q q¸aÑ@€Là�:Ò%Ð%Ð%Ð%å	�}¨#¸;Ð	GÑ	GÔ	G€BØ�VŠV�A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%Ð%Ð%ó    c                  ó–  — d} d}d}t          t          || |¬¦  «        \  }}t          t          |¦  «        ¦  «        t	          d|v ¦  «        z
  }|t
          k    sJ ‚t          || |¬¦  «        }|                     t          ¦  «        j        }t          t          |¦  «        ¦  «        t	          d|v ¦  «        z
  }|t
          k    sJ ‚d S )Nçš™™™™™é?r   Ú	euclideanr   r   )	r   r   r   r   r    r   r   r   r   ©r   r   r   r"   r#   r$   r%   r&   s           r'   Útest_dbscan_featurer.   /   sÈ   € ð €CØ€KØ€Fõ "¥!¨F¸ÈÐUÑUÔUÑ€L�&õ •s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	�v 3°KÐ	@Ñ	@Ô	@€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%Ð%Ð%r)   Úlil_containerc                 óÀ   — t           | t          ¦  «        dd¬¦  «        \  }}t          t          dd¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )Nr+   r   ©r   r   )r   r   r	   )r/   Úcore_sparseÚlabels_sparseÚ
core_denseÚlabels_denses        r'   Útest_dbscan_sparser6   E   sd   € å!'¨¨µaÑ(8Ô(8¸cÈrÐ!RÑ!RÔ!RÑ€K�Ý%¥a¨S¸bÐAÑAÔAÑ€J�Ý�z ;Ñ/Ô/Ð/Ý�| ]Ñ3Ô3Ð3Ð3Ð3r)   Úinclude_selfFTc                 ó¬  — t          t          ¦  «        }t          d¬¦  «                             t          ¦  «        }| rt          nd }|                     |d¬¦  «        }|j        |j        d         |j        d         dz
  z  k     sJ ‚t          |ddd	¬
¦  «        \  }}t          |ddd	¬
¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )NgÍÌÌÌÌÌì?©Úradiusr   )r   Úmoder   r   r+   r   r   )r   r   r   )	r   r   r   r   Úradius_neighbors_graphÚnnzÚshaper   r	   )	r7   r!   ÚnnÚX_ÚD_sparser2   r3   r4   r5   s	            r'   Útest_dbscan_sparse_precomputedrB   M   sà   € å�1ÑÔ€AÝ	 Ð	%Ñ	%Ô	%×	)Ò	)­!Ñ	,Ô	,€BØÐ	$�ˆ €BØ×(Ò(¨2°JÐ(Ñ?Ô?€HàŒ<˜!œ' !œ*¨¬°¬
°Q©Ñ7Ò7Ð7Ð7Ð7Ý!'Ø�c r°-ð"ñ "ô "Ñ€K�õ  & a¨S¸bÈÐWÑWÔWÑ€J�Ý�z ;Ñ/Ô/Ð/Ý�| ]Ñ3Ô3Ð3Ð3Ð3r)   c                  óÜ  — d} t          | ¬¦  «                             t          ¦  «        }|                     t          d¬¦  «        }t	          || d¬¦  «        }| dz   }t          |¬¦  «                             t          ¦  «        }|                     t          d¬¦  «        }t	          || d¬¦  «        }t          |d         |d         ¦  «         t          |d	         |d	         ¦  «         d S )
Nçš™™™™™É?r9   r   )r;   r   ©r   r   gffffffæ?r   r   )r   r   r   r<   r   r	   )Ú	lower_epsr?   rA   Údbscan_lowerÚ
higher_epsÚdbscan_highers         r'   Ú,test_dbscan_sparse_precomputed_different_epsrJ   ]   sÞ   € ð €IÝ	 Ð	+Ñ	+Ô	+×	/Ò	/µÑ	2Ô	2€BØ×(Ò(­°Ð(Ñ<Ô<€HÝ˜(¨	¸-ÐHÑHÔH€Là˜S‘€JÝ	 Ð	,Ñ	,Ô	,×	0Ò	0µÑ	3Ô	3€BØ×(Ò(­°Ð(Ñ<Ô<€HÝ˜8¨¸=ÐIÑIÔI€Må�| A”¨°aÔ(8Ñ9Ô9Ð9Ý�| A”¨°aÔ(8Ñ9Ô9Ð9Ð9Ð9r)   r   r   Ú	minkowskiÚcsr_containerc                 ód  — t           j                             d¦  «                             dd¦  «        }|� ||¦  «        n|}|                     ¦   «         }t          || ¬¦  «         |�6t          |                     ¦   «         |                     ¦   «         ¦  «         d S t          ||¦  «         d S )Nr   r   ©r   )r   ÚrandomÚRandomStateÚrandÚcopyr   r	   Útoarray)r   rL   r   ÚX_copys       r'   Útest_dbscan_input_not_modifiedrU   n   s¦   € õ 	Œ	×Ò˜aÑ Ô ×%Ò% b¨"Ñ-Ô-€AØ)Ð5ˆˆ�aÑÔÐ¸1€AØ�VŠV‰XŒX€FÝ
ˆ1�VÐÑÔÐàÐ Ý˜1Ÿ9š9™;œ;¨¯ªÑ(8Ô(8Ñ9Ô9Ð9Ð9Ð9å˜1˜fÑ%Ô%Ð%Ð%Ð%r)   c                 óê  — t           j                             d¦  «                             dd¦  «        }t          j        |d¦  «          | |¦  «        }t          d„ t          |                     ¦   «         Ž D ¦   «         ¦  «        sJ ‚|                     ¦   «         }t          |d¬¦  «         |j
        |j
        k    sJ ‚t          |                     ¦   «         |                     ¦   «         ¦  «         dS )z¤Check that we don't modify in-place the pre-computed sparse matrix.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/27508
    r   r   c              3   ó(   K  — | ]\  }}||k    V — Œd S ©N© )Ú.0ÚrowÚcols      r'   ú	<genexpr>zKtest_dbscan_input_not_modified_precomputed_sparse_nodiag.<locals>.<genexpr>Š   s*   è è € Ð<Ð<™h˜c 3ˆs�cŠzÐ<Ð<Ð<Ð<Ð<Ð<r)   r   rN   N)r   rO   rP   rQ   Úfill_diagonalÚallÚzipÚnonzerorR   r   r=   r	   rS   )rL   r   rT   s      r'   Ú8test_dbscan_input_not_modified_precomputed_sparse_nodiagrb   }   sÜ   € õ 	Œ	×Ò˜aÑ Ô ×%Ò% b¨"Ñ-Ô-€Aõ Ô�Q˜ÑÔÐØˆ�aÑÔ€AÝÐ<Ð<­#¨q¯yªy©{¬{Ð*;Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ø�VŠV‰XŒX€FÝ
ˆ1�]Ð#Ñ#Ô#Ð#ð Œ5�F”JÒÐÐÐÝ�q—y’y‘{”{ F§N¢NÑ$4Ô$4Ñ5Ô5Ð5Ð5Ð5r)   c           	      óž  — t           j                             d¦  «        }|                     dd¦  «        }d||dk     <   | | |¦  «        fD ]€}t	          d¬¦  «                             |¦  «        }t          |j        t          j        d|j	        d         f¦  «        ¦  «         t          |j
        d¦  «         |j        j	        d	k    sJ ‚Œ�d S )
Nr   é(   r   r+   é   )r   r   r   )r   )r   rO   rP   rQ   r   r   r	   Úcomponents_Úemptyr>   r   Úcore_sample_indices_)rL   Úrngr   r@   r%   s        r'   Útest_dbscan_no_core_samplesrj   “   sÐ   € å
Œ)×
Ò
 Ñ
"Ô
"€CØ�Š��RÑÔ€AØ€A€aˆ#‚g�Jà�-�- Ñ"Ô"Ð#ð 5ð 5ˆÝ Ð"Ñ"Ô"×&Ò& rÑ*Ô*ˆÝ˜2œ>­2¬8°Q¸¼À¼Ð4DÑ+EÔ+EÑFÔFÐFÝ˜2œ: rÑ*Ô*Ð*ØÔ&Ô,°Ò4Ð4Ð4Ð4Ð4ð	5ð 5r)   c                  ó®  — d} d}t           j        }t          t          || |d¬¦  «        \  }}t	          t          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚t          || |d¬¦  «        }| 	                    t          ¦  «        j
        }t	          t          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚d S )Nr+   r   Ú	ball_tree©r   r   r   Ú	algorithmr   )r   r,   r   r   r   r   r    r   r   r   r   r-   s           r'   Útest_dbscan_callablero       sÖ   € ð €CØ€KåÔ€Fõ "Ý	�&˜c¨{Àkðñ ô Ñ€L�&õ
 •s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	�v 3°KÈ;Ð	WÑ	WÔ	W€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%Ð%Ð%r)   c            	      ó   — d} d}d}t          j        d¬¦  «        5 }t          dd|i| d |d¬	¦  «                             t          ¦  «        }d d d ¦  «         n# 1 swxY w Y   |rJ |d
         j        ¦   «         ‚|j        |j        }}t          d| |d|¬¦  «                             t          ¦  «        }|j        |j        }}t          ||¦  «         t          ||¦  «         t          d| |d¬¦  «                             t          ¦  «        }|j        |j        }
}	t          ||	¦  «         t          ||
¦  «         t          j
        t          d¬¦  «        5  t          dd|i| |dz   |d¬	¦  «                             t          ¦  «        }|j        |j        }}d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         t          ||¦  «         d S )Nr+   r   r   T)ÚrecordrK   Úprl   )r   Úmetric_paramsr   rr   r   rn   r   )r   r   r   rn   rr   Ú	manhattanrm   z\Parameter p is found in metric_params. The corresponding parameter from __init__ is ignored.)Úmatch)ÚwarningsÚcatch_warningsr   r   r   Úmessagerh   r   r	   ÚpytestÚwarnsÚSyntaxWarning)r   r   rr   rz   r%   Úcore_sample_1Úlabels_1Úcore_sample_2Úlabels_2Úcore_sample_3Úlabels_3Úcore_sample_4Úlabels_4s                r'   Útest_dbscan_metric_paramsr„   ¹   s—  € à
€CØ€KØ	€Aõ 
Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝØØ ˜(ØØØ#Ø!ð
ñ 
ô 
÷ Š#�a‰&Œ&ð 	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Ð&Ð&�e˜A”hÔ&Ñ&Ô&ˆ9Ø Ô5°r´z�8€Mõ 
Ø °ÈÐWXð
ñ 
ô 
ç	‚c�!�f„fð ð !Ô5°r´z�8€Må�} mÑ4Ô4Ð4Ý�x Ñ*Ô*Ð*õ 
Ø °Èð
ñ 
ô 
ç	‚c�!�f„fð ð !Ô5°r´z�8€Må�} mÑ4Ô4Ð4Ý�x Ñ*Ô*Ð*å	ŒÝðð
ñ 
ô 
ð Fð Fõ ØØ ˜(ØØ�!‰eØ#Ø!ð
ñ 
ô 
÷ Š#�a‰&Œ&ð 	ð #%Ô"9¸2¼:�xˆð#Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ& �} mÑ4Ô4Ð4Ý�x Ñ*Ô*Ð*Ð*Ð*s$   œ0AÁAÁAÅAF#Æ#F'Æ*F'c                  ó@  — d} d}t          t          ¦  «        }t          |d| |¬¦  «        \  }}t          t	          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚t          d| |d¬¦  «        }|                     t          ¦  «        j	        }t          t	          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚t          d| |d	¬¦  «        }|                     t          ¦  «        j	        }t          t	          |¦  «        ¦  «        t          d|v ¦  «        z
  }|t          k    sJ ‚t          d
| |d¬¦  «        }|                     t          ¦  «        j	        }t          t	          |¦  «        ¦  «        t          d|v ¦  «        z
  }	|	t          k    sJ ‚t          d| |d¬¦  «        }|                     t          ¦  «        j	        }t          t	          |¦  «        ¦  «        t          d|v ¦  «        z
  }
|
t          k    sJ ‚d S )Nr+   r   r   r   r   ç       @rl   )rr   r   r   rn   Úkd_treeç      ð?é   )Ú	leaf_sizer   r   rn   )
r   r   r   r   r   r    r   r   r   r   )r   r   r!   r"   r#   r$   r%   r&   Ún_clusters_3Ún_clusters_4Ún_clusters_5s              r'   Útest_dbscan_balltreerŽ   ö   sì  € à
€CØ€Kå�1ÑÔ€AÝ!Ø	�- S°kðñ ô Ñ€L�&õ
 •s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	�#˜3¨KÀ;Ð	OÑ	OÔ	O€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	�#˜3¨KÀ9Ð	MÑ	MÔ	M€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	�#˜3¨KÀ;Ð	OÑ	OÔ	O€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%å	˜" #°;È+Ð	VÑ	VÔ	V€BØ�VŠV•A‰YŒYÔ€Få•s˜6‘{”{Ñ#Ô#¥c¨"°¨,Ñ&7Ô&7Ñ7€LØ�:Ò%Ð%Ð%Ð%Ð%Ð%r)   c                  óX   — ddgddgg} t          ¦   «                              | ¦  «         d S )Nrˆ   r†   g      @g      @)r   r   )r   s    r'   Útest_input_validationr�     s+   € à
ˆsˆ�c˜3�ZÐ €AÝ
�H„H‡L‚L��O„O€O€O€Or)   c                  óž   — t          ¦   «         } t          j        | ¦  «        }t          t          j        |¦  «        ¦  «        | j        u sJ ‚d S rX   )r   ÚpickleÚdumpsÚtypeÚloadsÚ	__class__)ÚobjÚss     r'   Útest_pickler™   #  sC   € Ý
‰(Œ(€CÝŒ�SÑÔ€AÝ•”˜Q‘”Ñ Ô  C¤MÐ1Ð1Ð1Ð1Ð1Ð1r)   c                  óÈ   — t          dgdggdd¬¦  «        \  } }d| v sJ ‚t          dgdgdggdd¬¦  «        \  } }d| v sJ ‚t          dgdgdggdd¬¦  «        \  } }d| vsJ ‚d S )Nr   r   é   r1   g®Gáz®ï?)r   )ÚcoreÚ_s     r'   Útest_boundariesrž   )  s•   € å�q�c˜A˜3�Z Q°AÐ6Ñ6Ô6�G€Dˆ!Ø�ˆ9ˆ9ˆ9ˆ9å�q�c˜A˜3  �_¨!¸Ð;Ñ;Ô;�G€Dˆ!Ø�ˆ9ˆ9ˆ9ˆ9Ý�q�c˜A˜3  �_¨$¸AÐ>Ñ>Ô>�G€Dˆ!Ø�Dˆ=ˆ=ˆ=ˆ=ˆ=ˆ=r)   c           	      óÂ  — t          j        t          ¦  «        5  t          dgdggdg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          dgdggg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          g t          dgdggd d¬¦  «        d         ¦  «         t	          g t          dgdggddgd¬¦  «        d         ¦  «         t	          dgt          dgdggddgd¬¦  «        d         ¦  «         t	          ddgt          dgdggddgd¬¦  «        d         ¦  «         t	          ddgt          dgdggd	ddgd¬
¦  «        d         ¦  «         t	          g t          dgdggddgd	d¬¦  «        d         ¦  «         t	          ddgt          dgdggddgd	d¬¦  «        d         ¦  «         t	          ddgt          dgdggddgd	d¬¦  «        d         ¦  «         t	          g t          dgdggddgd	d¬¦  «        d         ¦  «         t
          j                             | ¦  «        }|                     ddt          j
        d         ¦  «        }t          t          |¬¦  «        \  }}t          |¦  «        t          t          ¦  «        k    sJ ‚t          j        t          |d¬¦  «        }t          |¦  «        \  }}t          j        |j
        d         t          ¬¦  «        }d||<   t          j        t          j
        d         t          ¬¦  «        }	d|	|<   t	          t          j        |	|¦  «        |¦  «         t          t          ¦  «        }
t          |
|d¬¦  «        \  }}t	          ||¦  «         t	          ||¦  «         t!          ¦   «                              t          |¬¦  «        }|j        }|j        }t	          ||¦  «         t	          ||¦  «         t!          ¦   «         }|                     t          |¬¦  «        }|j        }t	          ||¦  «         t	          ||¦  «         t	          ||j        ¦  «         d S )Nr   r   r›   )Úsample_weight)r›   r   é   re   )r    r   é   g      ø?)r   r    r   )r    r   r   gš™™™™™@çš™™™™™¹?r   )Úaxis)ÚdtypeTr   )r    r   )ry   ÚraisesÚ
ValueErrorr   r	   r   rO   rP   Úrandintr   r>   r   ÚrepeatÚzerosÚboolr   r   r   rh   r   Úfit_predict)Úglobal_random_seedri   r    Úcore1Úlabel1Ú
X_repeatedÚcore_repeatedÚlabel_repeatedÚcore_repeated_maskÚ	core_maskr!   Úcore3Úlabel3ÚestÚcore4Úlabel4Úlabel5Úcore5s                     r'   Útest_weighted_dbscanr¼   4  sõ  € å	Œ•zÑ	"Ô	"ð .ð .Ý���a�Sˆz¨!¨Ð-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .å	Œ•zÑ	"Ô	"ð 4ð 4Ý���a�Sˆz¨¨¨Ð3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ �r�6 A 3¨¨ *¸DÈaÐPÑPÔPÐQRÔSÑTÔTÐTÝ�r�6 A 3¨¨ *¸QÀ¸FÐPQÐRÑRÔRÐSTÔUÑVÔVÐVÝ˜�s�F Q C¨!¨ :¸aÀ¸VÐQRÐSÑSÔSÐTUÔVÑWÔWÐWÝØ	
ˆAˆ•˜˜˜a˜S�z°!°Q°ÀQÐGÑGÔGÈÔJñô ð õ
 Ø	
ˆAˆ•˜˜˜a˜S�z s¸1¸a¸&ÈaÐPÑPÔPÐQRÔSñô ð õ Ø
�F�Q�C˜!˜�:¨a°¨V¸È!ÐLÑLÔLÈQÔOñô ð õ Ø	
ˆAˆ•˜˜˜a˜S�z°#°s°ÀÐRSÐTÑTÔTÐUVÔWñô ð õ Ø	
ˆAˆ•˜˜˜a˜S�z°!°Q°¸SÈaÐPÑPÔPÐQRÔSñô ð õ Ø
�F�Q�C˜!˜�:¨a°¨W¸#È1ÐMÑMÔMÈaÔPñô ð õ
 Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ—K’K  1¥a¤g¨a¤jÑ1Ô1€MÝ�1¨MÐ:Ñ:Ô:�M€Eˆ6Ýˆv‰;Œ;�#�a™&œ&Ò Ð Ð Ð å”�1˜m°!Ð4Ñ4Ô4€JÝ$*¨:Ñ$6Ô$6Ñ!€M�>Ýœ *Ô"2°1Ô"5½TÐBÑBÔBÐØ(,Ð�}Ñ%Ý”�œ œ­4Ð0Ñ0Ô0€IØ€IˆeÑÝ•r”y ¨MÑ:Ô:Ð<NÑOÔOÐOõ 	�1ÑÔ€AÝ˜1¨MÀ-ÐPÑPÔP�M€Eˆ6Ý�u˜eÑ$Ô$Ð$Ý�v˜vÑ&Ô&Ð&õ ‰(Œ(�,Š,•q¨ˆ,Ñ
6Ô
6€CØÔ$€EØŒ[€FÝ�u˜eÑ$Ô$Ð$Ý�v˜vÑ&Ô&Ð&å
‰(Œ(€CØ�_Š_�Q¨mˆ_Ñ<Ô<€FØÔ$€EÝ�u˜eÑ$Ô$Ð$Ý�v˜vÑ&Ô&Ð&Ý�v˜sœ{Ñ+Ô+Ð+Ð+Ð+s!   š=½AÁAÁ!BÂB	ÂB	rn   )Úbruter‡   rl   c                 óP  — dgdgdgdgdgdgdgg}t          |¦  «        }t          || dd¬	¦  «        \  }}t          |t          j        |¦  «        ¦  «         t          |g d
¢¦  «         t          || dd¬	¦  «        \  }}t          |g d¢¦  «         t          |g d¢¦  «         t          || dd¬	¦  «        \  }}t          |dg¦  «         t          |g d¢¦  «         t          || dd¬	¦  «        \  }}t          |g ¦  «         t          |t          j        |d¦  «        ¦  «         d S )Nr   r›   r   r¡   re   é   r   r   )rn   r   r   )r   r   r   r   r›   r   r¡   )r   r›   r   )r   r   r   r   r   r   r   g      ð¿)r   r   r	   r   ÚarangeÚfull)rn   r   Ú	n_samplesr"   r#   s        r'   Útest_dbscan_core_samples_toyrÃ   x  sZ  € à
ˆˆqˆc�A�3˜˜˜a˜S 1 #¨ tÐ,€AÝ�A‘”€Iõ " !¨y¸aÈQÐOÑOÔOÑ€L�&Ý�|¥R¤Y¨yÑ%9Ô%9Ñ:Ô:Ð:Ý�vÐ4Ð4Ð4Ñ5Ô5Ð5õ " !¨y¸aÈQÐOÑOÔOÑ€L�&Ý�| Y Y YÑ/Ô/Ð/Ý�vÐ8Ð8Ð8Ñ9Ô9Ð9õ " !¨y¸aÈQÐOÑOÔOÑ€L�&Ý�| a SÑ)Ô)Ð)Ý�vÐ8Ð8Ð8Ñ9Ô9Ð9õ " !¨y¸aÈQÐOÑOÔOÑ€L�&Ý�| RÑ(Ô(Ð(Ý�v�rœw y°$Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r)   c                  ó‚  — t          j        d¦  «        } t          dd¬¦  «                             | ¦  «        j        }t          t          |¦  «        ¦  «        dk    sJ ‚t          j        d¦  «        } t          dd¬¦  «                             | ¦  «        j        }t          t          |¦  «        ¦  «        dk    sJ ‚d S )Nr   g      à?r   rE   r   )r   r   )r   Úeyer   r   r   r   r   rª   )r   r#   s     r'   Ú;test_dbscan_precomputed_metric_with_degenerate_input_arraysrÆ   –  sª   € õ 	Œˆr‰
Œ
€AÝ˜ MÐ2Ñ2Ô2×6Ò6°qÑ9Ô9ÔA€FÝ�s�6‰{Œ{ÑÔ˜qÒ Ð Ð Ð å
Œ�ÑÔ€AÝ˜ MÐ2Ñ2Ô2×6Ò6°qÑ9Ô9ÔA€FÝ�s�6‰{Œ{ÑÔ˜qÒ Ð Ð Ð Ð Ð r)   c           
      óæ   — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        } | |¦  «        }t          ddd¬	¦  «                             |¦  «        j        }t          |g d
¢¦  «         d S )N)ç        rÈ   rÈ   rÈ   rÈ   rÈ   rÈ   )rÈ   rÈ   rÈ   rÈ   r£   rÈ   rÈ   )rÈ   rÈ   r£   r£   rÈ   rÈ   ç333333Ó?)rÈ   rÈ   rÈ   rÈ   rÈ   rÈ   r£   )rÈ   rÈ   rÈ   rÈ   rÉ   r£   rÈ   rD   r   r›   )r   r   r   )r   r   r   r   r   r   r   )r   Úarrayr   r   r   r	   )rL   ÚarÚmatrixr#   s       r'   Ú5test_dbscan_precomputed_metric_with_initial_rows_zerorÍ   ¢  s¬   € õ 
Œà/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/Ø/Ð/Ð/ð	
ñ

ô 

€Bð ˆ]˜2ÑÔ€FÝ˜ M¸qÐAÑAÔA×EÒEÀfÑMÔMÔU€FÝ�vÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r)   ),Ú__doc__r’   rv   Únumpyr   ry   Úscipy.spatialr   Úsklearn.clusterr   r   Úsklearn.cluster.tests.commonr   Úsklearn.metrics.pairwiser   Úsklearn.neighborsr   Úsklearn.utils._testingr	   Úsklearn.utils.fixesr
   r   r   r   r(   r.   ÚmarkÚparametrizer6   rB   rJ   rU   rb   rj   ro   r„   rŽ   r�   r™   rž   r¼   rÃ   rÆ   rÍ   rY   r)   r'   ú<module>rÙ      s  ððð ð €€€Ø €€€à Ð Ð Ð Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø @Ð @Ð @Ð @Ð @Ð @Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø .Ð .Ð .Ð .Ð .Ð .Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à€
ØÐ zÐ2Ñ2Ô2€ð&ð &ð &ð0&ð &ð &ð, „×Ò˜¨.Ñ9Ô9ð4ð 4ñ :Ô9ð4ð „×Ò˜¨%°¨Ñ7Ô7ð4ð 4ñ 8Ô7ð4ð:ð :ð :ð" „×Ò˜ M°;Ð#?Ñ@Ô@Ø„×Ò˜¨.¸D¸6Ñ*AÑBÔBð
&ð 
&ñ CÔBñ AÔ@ð
&ð „×Ò˜¨.Ñ9Ô9ð6ð 6ñ :Ô9ð6ð* „×Ò˜¨.Ñ9Ô9ð	5ð 	5ñ :Ô9ð	5ð&ð &ð &ð2:+ð :+ð :+ðz$&ð $&ð $&ðNð ð ð2ð 2ð 2ðð ð ðA,ð A,ð A,ðH „×Ò˜Ð&GÐ&GÐ&GÑHÔHð9ð 9ñ IÔHð9ð:	!ð 	!ð 	!ð „×Ò˜¨.Ñ9Ô9ð8ð 8ñ :Ô9ð8ð 8ð 8r)   