
    Pi                     
   d 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
mZ ddlmZ ddgddgddgd	d	gd	d
gd
d	ggZg dZddgd
d
gdd
ggZg dZg dZg dZd	dgdd	gdd	ggZ ej                    Zej                            d	          Ze                    ej        j                  Zej        e         e_        ej        e         e_        ej                             de          d             Z!d Z"d Z#d Z$d Z%d Z&d Z'ej                             de          d             Z(d Z)d Z*d Z+ej                             dg d          d              Z,ej                             d!ej-        gez             d"             Z.dS )#z*
Testing for the nearest centroid module.
    N)datasets)NearestCentroid)assert_allcloseassert_array_almost_equalassert_array_equal)CSR_CONTAINERS      )r
   r
   r
   r   r   r      )r
   r   r   )i@   P   gj=gHKbi):g68csr_containerc                 .    | t                     } | t                    }t                      }|                    t           t                     t          |                    t                    t                     t          |	                    t                    t                     t          |                    t                    t                     t          d          }|                    t           t                     t          |                    t                    t                     t          |	                    t                    t                     t          |                    t                    t                     t          d          }|                    t           t                     t          |                    t                    t                     t          |	                    t                    t                     t          |                    t                    t                     t          ddg          }|                    t           t                     t          |                    t                    t                     t                      }|                    |t                     t          |                    |          t                     t                      }|                    |t                     t          |                    t                    t                     t                      }|                    t           t                     t          |                    |          t                     t                      }|                    |                                t                     t          |                    |                                          t                     d S )Nuniformpriors	empiricalg      ?g      ?)XTr   fityr   predicttrue_resultr   decision_functiontrue_discriminant_scorespredict_proba
true_probatrue_result_prior1tocootolil)r   X_csrT_csrclfs       /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sklearn/neighbors/tests/test_nearest_centroid.pytest_classification_toyr'   %   s    M!EM!E 

CGGAqMMMs{{1~~{333c33A668PQQQc//22J??? 
+
+
+CGGAqMMMs{{1~~{333c33A668PQQQc//22J???

-
-
-CGGAqMMMs{{1~~{333c33A668PQQQc//22J??? $
.
.
.CGGAqMMMs{{1~~'9::: 

CGGE1s{{5));777 

CGGE1s{{1~~{333 

CGGAqMMMs{{5));777 

CGGEKKMM1s{{5;;==11;?????    c                  >   dD ]} t          |                               t          j        t          j                  }t          j        |                    t          j                  t          j        k              }|dk    sJ dt          |          z               d S )N	euclidean	manhattanmetricg?Failed with score = 	r   r   irisdatatargetnpmeanr   str)r.   r%   scores      r&   	test_irisr8   Y   s    , @ @V,,,00DKHHDI..$+=>>s{{{2SZZ?{{{{@ @r(   c                  N   dD ]} dD ]}t          | |          }|                    t          j        t          j                  }t          j        |                    t          j                  t          j        k              }|dk    sJ dt          |          z               d S )Nr*   )N皙?g      ?)r.   shrink_thresholdg?r/   r0   )r.   r;   r%   r7   s       r&   test_iris_shrinkager<   a   s    , D D 0 	D 	D!BRSSSC''$)T[11CGCKK	22dkABBE3;;; 6U C;;;;		DD Dr(   c                     dd l } t                      }|                    t          j        t          j                   |                    t          j        t          j                  }|                     |          }|                     |          }t          |          |j
        k    sJ |                    t          j        t          j                  }t          ||d           d S )Nr   z>Failed to generate same score after pickling (classification).)pickler   r   r1   r2   r3   r7   dumpsloadstype	__class__r   )r>   objr7   sobj2score2s         r&   test_picklerG   k   s    MMM 

CGGDIt{###IIdi--ESA<<??D::&&&&ZZ	4;//FH    r(   c                  B   t          j        ddgddgddgddgddgg          } t          j        g d          }t          d          }|                    | |           t          j        d	d
gddgg          }t           j                            |j        |           d S )Nr   r   r         )r   r   r   r   r   r:   r;   g;4,F]?gCMX?gJGp@gU@)r4   arrayr   r   testingr   
centroids_)r   r   r%   expected_results       r&   test_shrinkage_correctrP   ~   s     	1a&1a&1a&1a&1a&9::A
!!A
3
/
/
/CGGAqMMMhI 688LMNNOJ((IIIIIr(   c                     t          d          } t          j        t                    }d||dk    <   |                     t
          |           | j        }|                     t
          t                     t          || j                   d S )Ng{Gz?rK   r   r
   )r   r4   asarrayr   r   r   rN   r   )r%   y_indcentroid_encodeds      r&   "test_shrinkage_threshold_decoded_yrU      ss    
4
0
0
0CJqMMEE%2+GGAu~GGAqMMM'88888r(   c                     t           j                            d          } |                     dd          }|                     ddd          }|                     d          }t          d          }|                    ||           |                    |          }t          d          }||z   }|                    ||           |                    |          }t          ||           d S )Nr   2   r   r:   rK   )	r4   randomRandomStaterandrandintr   r   r   r   )rngr   r   noiser%   y_initX_noisey_translates           r&   test_predict_translated_datara      s     )


"
"CRAAq"AHHRLLE
3
/
/
/CGGAqMMM[[^^F
3
/
/
/C%iGGGGQ++g&&Kv{+++++r(   c                      | t                     }t          d          }|                    t           t                     |j        }|                    |t                     t          |j        |           t          |ddgddgg           d S )Nr,   r-   r
   r   )r   r   r   r   rN   r   )r   r#   r%   dense_centroids       r&   test_manhattan_metricrd      s     M!E

-
-
-CGGAqMMM^NGGE1s~~666~R1a&'9:::::r(   c                  4   t          j        d          } d| d d df<   d| d d df<   t          j        d          }d|d<   t          d          }t	          j        t                    5  |                    | |           d d d            d S # 1 swxY w Y   d S )	N)
   r   g$b@r   g_LOчr   rf   r:   rK   )r4   emptyzerosr   pytestraises
ValueErrorr   )r   r   r%   s      r&   test_features_zero_varrl      s     	AAaaadGAaaadG
"AAaD
3
/
/
/C	z	"	"  1                 s   )BBBc                      t          ddg          } t          j        t          d          5  |                     t
          t                     ddd           dS # 1 swxY w Y   dS )zGCheck that we raise an error when the user-defined priors are negative.r	      r   zpriors must be non-negativematchN)r   ri   rj   rk   r   r   r   )r%   s    r&   test_negative_priors_errorrq      s    
"a
)
)
)C	z)F	G	G	G  1                 s   !AA #A c                  p   ddg} t          |           }t          j        t          d          5  |                    t
          t                     ddd           n# 1 swxY w Y   t          |j        t          j
        |           t          j
        |                                           z             dS )zfCheck that we raise a warning and normalize the user-defined priors when they
    don't sum to 1.
    r   rn   r   zAThe priors do not sum to 1. Normalizing such that it sums to one.ro   N)r   ri   warnsUserWarningr   r   r   r   class_prior_r4   rR   sum)r   r%   s     r&   test_warn_non_normalized_priorsrw      s     VF

(
(
(C	Q
 
 
   	1	               C$bj&8&82:f;M;M;Q;Q;S;S&STTTTTs   !AA!$A!response_method)r   r   predict_log_probac                    t          d                              t          t                    }t	          j        t                    5   t          ||           t                     ddd           dS # 1 swxY w Y   dS )z{Check that we raise an AttributeError with Manhattan metric when trying
    to call a non-thresholded response method.
    r,   r-   N)	r   r   r   r   ri   rj   AttributeErrorgetattrr   )rx   r%   s     r&   (test_method_not_available_with_manhattanr}      s     
-
-
-
1
1!Q
7
7C	~	&	& ) )%_%%a((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   A44A8;A8array_constructorc                 N   t          j        t          t                    df          }|dddfxx         dz  cc<    | |          }t	                      }t          j        t          d          5  |                    |t                     ddd           dS # 1 swxY w Y   dS )zHCheck that we raise an error when the variance for all features is zero.r   Nr   zAll features have zero variancero   )	r4   oneslenr   r   ri   rj   rk   r   )r~   r   r%   s      r&   test_error_zero_variancesr      s     	QAaaadGGGqLGGG!A


C	z)J	K	K	K  1                 s   1BB!B)/__doc__numpyr4   ri   sklearnr   sklearn.neighborsr   sklearn.utils._testingr   r   r   sklearn.utils.fixesr   r   r   r   r   r    r   r   	load_irisr1   rX   rY   r\   permutationr3   sizepermr2   markparametrizer'   r8   r<   rG   rP   rU   ra   rd   rl   rq   rw   r}   rL   r    r(   r&   <module>r      s               - - - - - -         
 / . . . . . 	"XBx"bAq6Aq6Aq6:"X1v1vjjZZ (== +a 0;2BC

 xiA
t{'((IdO	k$ .990@ 0@ :90@f@ @ @D D D  &J J J9 9 9, , ," .99	; 	; :9	;    U U U RRR ) ) ) ,rxj>.IJJ  KJ  r(   