
    0Ph                     $   d dl m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mZmZ dd	gZd
 Zd Zej                            dg d          ej                            de          d                         Zd Zd Zd Zd ZdS )    )productN)linalg)manifold	neighbors)
make_blobs)barycenter_kneighbors_graph)assert_allcloseassert_array_equalignore_warningsdensearpackc                 T   t          j        ddgddgddgg|           }t          |d          }t          j        g dg dg dg|           }|j        | k    sJ t	          |                                |           t          |d          }t	          t          j        |                                d	          t          j        d
                     t          j        |                                |          }t          j
        ||z
            |j        d         z  dk     sJ d S )Nr      g)\(?      ?   )dtype)        r   r   )r   r   r   )axis   )nparrayr   r   r	   toarraysumonesdotr   normshape)global_dtypeXgraphexpected_graphpreds        j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/manifold/tests/test_locally_linear.py test_barycenter_kneighbors_graphr$      s   
1a&4+1v.lCCCA'1--EX	///???;<  N ;,&&&&EMMOO^444'1--EBF5==??333RWQZZ@@@6%--//1%%D;tax  171:-111111    c           	      "   t           j                            d          }t          j        t	          t          t          d          d                              }|d|                    |j                  z  z   }|	                    | d          }d}t          j        d||	          }d
}t          ||j                                                  }t          j        t          j        ||          |z
  d          }||k     sJ t$          D ]}|                    |           |                    |           |j        j        d         |k    sJ t          j        t          j        ||j                  |j        z
  d          dz  }||k     sJ t-          |j        |d
            |j        |j         	                    | d          dz  }	|                    ||	z             }
t          j        |
|j        z
            |k     sJ d S )N*      r   repeat绽|=sizeFcopy)n_neighborsn_componentsrandom_stateg?froeigen_solverr   )atold   )r   randomRandomStater   listr   rangeuniformr   astyper   LocallyLinearEmbeddingr   r0   r   r   r   r   eigen_solvers
set_paramsfit
embedding_r	   reconstruction_error_randn	transform)r   rngr   r1   clftolNreconstruction_errorsolvernoiseX_reembeddeds              r#   test_lle_simple_gridrN   ,   s    )


#
#C 	geAhhq1112233A	ECKKQWK----A	E**AL

)Ls  C C#As77??AAA!;rva||a'7??#%%%% 	T 	TF+++


~#A&,6666Kq#.11CNBEJJaO 	 $c))))13GdSSSSS CIqw&&|%&@@3FE==U++L;|cn455;;;;;;r%   methodstandardhessianmodifiedltsarK   c           	         t           j                            d          }t          j        t	          t          t          j        d          d                              }t           j        ||d d df         dz  dz  f         }|d|                    |j	                  z  z   }|
                    | d          }d}t          j        d	||d
          }|dk    rdnd}t          ||j                                                  }t!          j        t          j        ||          |z
            }	|	|k     sJ |                    |           |                    |           |j        j	        d         |k    sJ t!          j        t          j        ||j                  |j        z
  d          dz  }	d|d|}
|	|k     s
J |
            t          j        |j        |	z
            ||	z  k     s
J |
            d S )Nr      r   r)   r+   r,   Fr.      )r0   r1   rO   r2   rQ   g      ?r   r4   r   r3   zsolver: z
, method: )r   r8   r9   r   r:   r   arangec_r<   r   r=   r   r>   r   r0   r   r   r   r   r@   rA   rB   absrC   )r   rO   rK   rF   r   r1   rG   rH   rI   rJ   detailss              r#   test_lle_manifoldr\   T   s
    )


"
"C
gbimmA6667788A
a111a4A""#A	ECKKQWK----A	E**AL

)La  C :%%##1C#As77??AAA!;rva||a'788#%%%%NNN'''GGAJJJ>"l2222BF1cn-->FF!K  +1&&&&9G#%%%w%%%
s(+??@@
$
$	% 	% 	%	% 	% 	% 	% 	%r%   c                  *   ddl m} m} |                     d          \  }}|                    dt          j        d          fdt          j                    fg          }|	                    ||           d|
                    ||          k     sJ d S )Nr   )datasetspipeline)r2   filterrG   g?)sklearnr^   r_   r   Pipeliner   r>   r   KNeighborsClassifierrA   score)r^   r_   r   yrG   s        r#   test_pipelinerf   v   s     +*******A..DAq


x6AFFFGI2445	
 C GGAqMMM1a      r%   c            
          t          j        d          } t          }t          j        t
          d          5   |t          j        | dddd                     d d d            d S # 1 swxY w Y   d S )	N)   r   z+Error in determining null-space with ARPACK)matchr   r   rQ   r   )r0   r1   rO   r5   )r   r   r   pytestraises
ValueErrorr   locally_linear_embedding)Mfs     r#   test_singular_matrixrp      s    
AA	z)V	W	W	W 	
 	
	-!%  	
 	
 	
	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
 	
s   #A''A+.A+c                      t           j                            d          } |                     ddd          }dD ]-}t	          j        |d          }|                    |           .d S )Nr   r7   )   r   r,   rP   
   )rO   r0   )r   r8   r9   randintr   r>   rA   )randr   rO   rG   s       r#   test_integer_inputrv      sm    9  ##DQ'**A=  -VLLL



 r%   c                      t          dd          \  } }d}t          j        |          }|                    |            |                                }t          d t          |          D             |           dS )z7Check get_feature_names_out for LocallyLinearEmbedding.r      )r2   
n_featuresr   )r1   c                     g | ]}d | S )locallylinearembedding ).0is     r#   
<listcomp>z.test_get_feature_names_out.<locals>.<listcomp>   s!    CCC!	%!	%	%CCCr%   N)r   r   r>   rA   get_feature_names_outr
   r;   )r   re   r1   isonamess        r#   test_get_feature_names_outr      s    1333DAqL

)|
D
D
DCGGAJJJ%%''ECCu\/B/BCCCU    r%   )	itertoolsr   numpyr   rj   scipyr   ra   r   r   sklearn.datasetsr    sklearn.manifold._locally_linearr   sklearn.utils._testingr	   r
   r   r?   r$   rN   markparametrizer\   rf   rp   rv   r   r|   r%   r#   <module>r      sq                    ' ' ' ' ' ' ' ' ' ' ' ' ' ' H H H H H H          (#
2 2 2.%< %< %<P #N#N#NOO=11  21 PO@! ! !$
 
 
   
 
 
 
 
r%   