
    >[g                        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*                  j-                  dg d      ej*                  j-                  de      d               Zd Zd Zd Zd Zy)    )productN)linalg)manifold	neighbors)
make_blobs)barycenter_kneighbors_graph)assert_allcloseassert_array_equalignore_warningsdensearpackc                 0   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	        |j                         |       t        |d      }t	        t        j                  |j                         d	      t        j                  d
             t        j                  |j                         |      }t        j                  ||z
        |j                  d   z  dk  sJ y )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        e/var/www/html/bid-api/venv/lib/python3.12/site-packages/sklearn/manifold/tests/test_locally_linear.py test_barycenter_kneighbors_graphr$      s    
1a&4+1v.lCA'1-EXX	/?;<N ;;,&&&EMMO^4'1-EBFF5==?3RWWQZ@66%--/1%D;;tax 1771:-111    c           	      &   t         j                  j                  d      }t        j                  t	        t        t        d      d                  }|d|j                  |j                        z  z   }|j                  | d      }d}t        j                  d||	      }d
}t        ||j                        j                         }t        j                   t        j"                  ||      |z
  d      }||k  sJ t$        D ]  }|j'                  |       |j)                  |       |j*                  j                  d   |k(  sJ t        j                   t        j"                  ||j*                        |j*                  z
  d      dz  }||k  sJ t-        |j.                  |d
         |j0                  |j                   j                  | d      dz  }	|j3                  ||	z         }
t        j                   |
|j*                  z
        |k  sJ y )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 	geAhq123A	ECKKQWWK---A	E*AL

)
)LsC C#As7??AA!;;rvva|a'7?#%%%F+
~~##A&,666KKq#..1CNNBEJaO 	 $c)))113GdS   CIIqww&&|%&@3FE==U+L;;|cnn45;;;r%   methodstandardhessianmodifiedltsarK   c           	         t         j                  j                  d      }t        j                  t	        t        t        j                  d      d                  }t         j                  ||d d df   dz  dz  f   }|d|j                  |j                        z  z   }|j                  | d      }d}t        j                  d	||d
      }|dk(  rdnd}t        ||j                        j                         }t!        j"                  t        j$                  ||      |z
        }	|	|k  sJ |j'                  |       |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 |
       y )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
gbiimA678A
a1a4A""#A	ECKKQWWK---A	E*AL

)
)LaC :%#1C#As7??AA!;;rvva|a'78#%%%NNN'GGAJ>>"l222BFF1cnn->F!K  +1&9G#%.w.%
s((+??@
$
$	% 	%r%   c                  
   ddl m} m} | j                  d      \  }}|j	                  dt        j                  d      fdt        j                         fg      }|j                  ||       d|j                  ||      k  sJ y )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66AFGI2245	
C GGAqM1a   r%   c            
          t        j                  d      } t        }t        j                  t
        d      5   |t        j                  | dddd             d d d        y # 1 sw Y   y xY w)	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      sV    
AA	z)V	W	--!%	
 
X	W	Ws   !A!!A*c                      t         j                  j                  d      } | j                  ddd      }dD ]*  }t	        j
                  |d      }|j                  |       , y )Nr   r7   )   r   r,   rP   
   )rO   r0   )r   r8   r9   randintr   r>   rA   )randr   rO   rG   s       r#   test_integer_inputrv      sQ    99  #DQ'*A=--VL
 >r%   c                      t        dd      \  } }d}t        j                  |      }|j                  |        |j	                         }t        t        |      D cg c]  }d| 	 c}|       yc c}w )z7Check get_feature_names_out for LocallyLinearEmbedding.r      )r2   
n_featuresr   )r1   locallylinearembeddingN)r   r   r>   rA   get_feature_names_outr
   r;   )r   re   r1   isonamesis         r#   test_get_feature_names_outr      sn    13DAqL

)
)|
DCGGAJ%%'E/4\/BC/B!!!	%/BCUCs   A1)	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#   <module>r      s        ' ' H  (#
2.%<P #NO=1 2 P@!$
 
r%   