
     h1                     \   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 d dl	m
Z
mZmZmZmZmZmZmZmZ  ej        d          \  ZZeddd f         Zej        \  ZZd	 Zd
 Zd Zd Zd Zd Zej         !                    d e            j"        eg          d             Z#d Z$d Z%dS )    N)assert_almost_equal)assert_array_almost_equal)assert_array_equal)datasets)	empirical_covarianceEmpiricalCovarianceShrunkCovarianceshrunk_covariance
LedoitWolfledoit_wolfledoit_wolf_shrinkageOASoasT)
return_X_yc                  r   t                      } |                     t                     t          t                    }t	          || j        d           t          |                     |          d           t          |                     |d          d           t          |                     |d          d           t          |                     |d          d           t          |                     |d          d           t          j	        t                    5  |                     |d	           d d d            n# 1 swxY w Y   |                     t                    }t          j        |          dk    sJ t          d d df                             d
          }t                      } |                     |           t	          t          |          | j        d           t          |                     t          |                    d           t          |                     t          |          d          d           t          j        d                              dd          }t                      } d}t          j        t"          |          5  |                     |           d d d            n# 1 swxY w Y   t	          | j        t          j        dt          j                             t          j        ddgddgg          }t          j        ddgddgg          }t	          t          |          |           t          d          } |                     t                     t+          | j        t          j        t          j        d                              d S )N   r   spectral)norm	frobeniusF)scaling)squaredfoo      r   BOnly one sample available. You may want to reshape your data arraymatchr   r   shapedtypeg      ?g      пTassume_centered)r   fitXr   r   covariance_r   
error_normpytestraisesNotImplementedErrormahalanobisnpaminreshapearangewarnsUserWarningzerosfloat64asarrayr   	location_r"   )covemp_cov
mahal_distX_1d	X_1samplewarn_msg	X_integerresults           d/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/sklearn/covariance/tests/test_covariance.pytest_covariancerA       s    

CGGAJJJ"1%%Ggs:::w//333wZ@@!DDDw[AA1EEEw>>BBBw>>BBB	*	+	+ , ,wU+++, , , , , , , , , , , , , , , ##J7:"""" QQQT7??7##D


CGGDMMM2488#/1MMM';D'A'ABBAFFF';D'A'A
SSUVWWW 	!$$Q**I


CSH	k	2	2	2  	               corxfBJ/W/W/WXXX 
QFQF+,,IZ$677F29==vFFF d
3
3
3CGGAJJJs}bhqwqz&:&:;;;;;s$   #EEE%KKKc                  f   t          d          } |                     t                     t          t	          t          t                    d          | j        d           t                      } |                     t                     t          t	          t          t                              | j        d           t          d          } |                     t                     t          t          t                    | j        d           t          d d df                             d          }t          d          } |                     |           t          t          |          | j        d           t          dd	          } |                     t                     | j        J d S )
Ng      ?	shrinkager   g        r   r   g333333?F)rD   store_precision)	r	   r&   r'   r   r
   r   r(   r0   
precision_)r8   r;   s     r@   test_shrunk_covariancerG   O   sm    S
)
)
)CGGAJJJ.q11SAAA3?TU  
 

CGGAJJJ.q1122COQ  
 S
)
)
)CGGAJJJ2155sJJJ QQQT7??7##D
S
)
)
)CGGDMMM2488#/1MMM S%
@
@
@CGGAJJJ>!!!!!    c                  l
   t           t                               d          z
  } t          d          }|                    |            |j        }|                    |           }t          t          | d          |           t          t          | dd          |           t          | d          \  }}t          ||j
        d           t          ||j                   t          |j        d          }|                    |            t          |j
        |j
        d           t           d d df                             d	          }t          d          }|                    |           t          |d          \  }}t          ||j
        d           t          ||j                   t          |d
z                                  t          z  |j
        d           t          dd          }|                    |            t          |                    |           |d           |j        J t                      }|                    t                      t          |j        |d           t          |j        t          t                                t          |j        t          t                     d                    t          |                    t                     |d           t          t                     \  }}t          ||j
        d           t          ||j                   t          |j                  }|                    t                      t          |j
        |j
        d           t           d d df                             d	          }t                      }|                    |           t          |          \  }}t          ||j
        d           t          ||j                   t          t!          |          |j
        d           t#          j        d                              dd          }t                      }d}	t'          j        t*          |	          5  |                    |           d d d            n# 1 swxY w Y   t          |j
        t#          j        dt"          j                             t          d          }|                    t                      t          |                    t                     |d           |j        J d S )Nr   axisTr$      )r%   
block_sizer   rD   r%   r      FrE   r%   r   rC   r   r   r   r    r!   rE   )r'   meanr   r&   
shrinkage_scorer   r   r   r   r(   r	   r0   sum	n_samplesrF   r   r.   r1   r*   r2   r3   r4   r5   )

X_centeredlwrS   score_lw_cov_from_mlelw_shrinkage_from_mlescovr;   r<   r=   s
             r@   test_ledoit_wolfr]   p   s    QVVV^^#J	D	)	)	)BFF:JXXj!!Fj$???   j$1MMM  
 .9D. . .*O* or~qAAA-r}===bmTJJJDHHZd.BBB QQQT7??7##D	D	)	)	)BFF4LLL-8t-T-T-T*O*or~qAAA-r}===tQwmmoo	92>1MMM 
E4	@	@	@BFF:,,fa888=    
BFF1IIIz1555'<Q'?'?@@@{1~~a'8999VQ///-8^^*O*or~qAAA-r}===bm444DHHQKKKd.BBB QQQT7??7##D	BFF4LLL-8->->*O*or~qAAA-r}===2488".!LLL 	!$$Q**I	BSH	k	2	2	2  
y               bnbhV2:.V.V.VWWW 
E	*	*	*BFF1IIIVQ///=     s   8RR!Rc                    | j         \  }}t          | d          }t          j        |          |z  }|                                }|j        d d |dz   xx         |z  cc<   |dz                                  |z  }| dz  }d||z  z  t          j        t          j        |j        |          |z  |dz  z
            z  }t          ||          }	|	|z  }
|
S )NFr$   r   rO   g      ?)
r"   r   r.   tracecopyflatrU   dotTmin)r'   rV   
n_featuresr9   mudelta_deltaX2beta_betarD   s              r@   _naive_ledoit_wolf_shrinkagerl      s     GIz"1e<<<G	'		Z	'B\\^^F
K!!:>!"""b("""QYOO
*E	
AB	!	#
&b!!I-
:
;
;	< 
 ueDuIrH   c                      t           d d d df         } t                      }|                    |            |j        }t	          |t          |                      d S )Nr   )r'   r   r&   rS   r   rl   )X_smallrX   rS   s      r@   test_ledoit_wolf_smallro      sU    2A2hG	BFF7OOOJ
$@$I$IJJJJJrH   c                     t           j                            d          } |                     d          }t	          d                              |          }t          |j        t          j        d          d           |j        }t	          d                              |          }t          |j        |           d S )Nr   )
      )sizerq   )rM   rr      )	r.   randomRandomStatenormalr   r&   r   r(   eye)rngr'   rX   r8   s       r@   test_ledoit_wolf_largerz      s    
)


"
"C


!!A	r	"	"	"	&	&q	)	)Br

A666
.C 
r	"	"	"	&	&q	)	)B,,,,,rH   ledoit_wolf_fitting_functionc                     t          j        d          }t          j        t          d          5   | |           ddd           dS # 1 swxY w Y   dS )zDCheck that we validate X and raise proper error with 0-sample array.)r   rO   zFound array with 0 sampler   N)r.   r4   r*   r+   
ValueError)r{   X_emptys     r@   test_ledoit_wolf_empty_arrayr      s    
 hvG	z)D	E	E	E . .$$W---. . . . . . . . . . . . . . . . . .s   A		AAc                  $	   t           t                               d          z
  } t          d          }|                    |            |j        }|                    |           }t          | d          \  }}t          ||j        d           t          ||j                   t          |j        d          }|                    |            t          |j        |j        d           t           d d ddf         }t          d          }|                    |           t          |d          \  }}t          ||j        d           t          ||j                   t          |dz                                  t          z  |j        d           t          d	d
          }|                    |            t          |                    |           |d           |j        J t                      }|                    t                      t          |j        |d           t          |                    t                     |d           t          t                     \  }}t          ||j        d           t          ||j                   t          |j                  }|                    t                      t          |j        |j        d           t           d d df                             d          }t                      }|                    |           t          |          \  }}t          ||j        d           t          ||j                   t          t          |          |j        d           t!          j        d                              dd          }t                      }d}	t%          j        t(          |	          5  |                    |           d d d            n# 1 swxY w Y   t          |j        t!          j        dt           j                             t          d	          }|                    t                      t          |                    t                     |d           |j        J d S )Nr   rJ   Tr$   r   rN   r   rO   FrP   rC   r   r   r   r   r    r!   rQ   )r'   rR   r   r&   rS   rT   r   r   r(   r   r	   rU   rV   rF   r0   r   r.   r1   r*   r2   r3   r4   r5   )
rW   oarS   rY   oa_cov_from_mleoa_shrinkage_from_mler\   r;   r<   r=   s
             r@   test_oasr     s!    QVVV^^#J	T	"	"	"BFF:JXXj!!F-0T-R-R-R*O*or~qAAA-r}===bmTJJJDHHZd.BBB QQQ!V9D	T	"	"	"BFF4LLL-0t-L-L-L*O*or~qAAA-r}===tQwmmoo	92>1MMM 
UD	9	9	9BFF:,,fa888=    
BFF1IIIz1555VQ///-0VV*O*or~qAAA-r}===bm444DHHQKKKd.BBB QQQT7??7##D	BFF4LLL-0YY*O*or~qAAA-r}===2488".!LLL 	!$$Q**I	BSH	k	2	2	2  
y               bnbhV2:.V.V.VWWW 
U	#	#	#BFF1IIIVQ///=     s   O66O:=O:c                  2   t                                          t                    } dt          j        d          d}t	          j        t          |          5  |                     t          ddddf                    ddd           dS # 1 swxY w Y   dS )z@Checks that EmpiricalCovariance validates data with mahalanobis.z'X has 2 features, but \w+ is expecting r   z features as inputr   NrO   )r   r&   r'   r"   r*   r+   r}   r-   )r8   msgs     r@   .test_EmpiricalCovariance_validates_mahalanobisr   K  s    



#
#A
&
&C
SQWQZ
S
S
SC	z	-	-	- " "!!!RaR%!!!" " " " " " " " " " " " " " " " " "s   'BBB)&numpyr.   r*   sklearn.utils._testingr   r   r   sklearnr   sklearn.covariancer   r   r	   r
   r   r   r   r   r   load_diabetesr'   _r;   r"   rV   re   rA   rG   r]   rl   ro   rz   markparametrizer&   r   r   r    rH   r@   <module>r      s        6 6 6 6 6 6 < < < < < < 5 5 5 5 5 5      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 x...1Aw 	:,< ,< ,<^" " "BS! S! S!l  2K K K- - - "ZZ\\%57L$M . . .F! F! F!R" " " " "rH   