
    /ii6                        d dl Zd dl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 d dlmZmZ d dl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ej                             d	d
dg          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)datasets)	OASEmpiricalCovariance
LedoitWolfShrunkCovarianceempirical_covarianceledoit_wolfledoit_wolf_shrinkageoasshrunk_covariance)_ledoit_wolf_oas)assert_allcloseassert_almost_equalassert_array_almost_equalassert_array_equalT)
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           n/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/sklearn/covariance/tests/test_covariance.pytest_covariancerD       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
n_matricesr      c                 Z   d}t          j        ||f          }t          j        ddgddgg          }| dk    rRt          j        |t           j        df         | d          }t          j        |t           j        df         | d          }t          |d          }t          ||           dS )z#Check `shrunk_covariance` function.   r         ?.r   axisN)r1   onesarrayrepeatnewaxisr   r   )rE   
n_featuresr;   
cov_target
cov_shrunks        rC   test_shrunk_covariance_funcrS   O   s     J
':z*
+
+CAs8c1X.//JA~~iBJO,jqAAAYz"*c/:JQOOO
"3,,JJ
+++++    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 )zECheck consistency between `ShrunkCovariance` and `shrunk_covariance`.rI   	shrinkager   g        Nr   r   g333333?F)rW   store_precision)	r   r)   r*   r   r   r   r+   r3   
precision_)r;   r>   s     rC   test_shrunk_covariancerZ   _   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>!!!!!rT   c                  @   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          |j        t!          t           dd          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#          |                    d          t!          |dd          d                    t          |          \  }}t          ||j
        d           t          ||j                   t          t'          |          |j
        d           t)          j        d                              dd          }t                      }d}	t-          j        t0          |	          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(   
block_sizer   rW   r(   r   rH   FrX   r(   r   i'  )r*   r(   r]   rV   )ddofr   r    r!   r#   r$   rX   )r*   meanr   r)   
shrinkage_scorer   r
   r	   r   r+   r   r3   sum	n_samplesrY   r   r   varr   r1   r4   r-   r5   r6   r7   r8   )

X_centeredlwrc   score_lw_cov_from_mlelw_shrinkage_from_mlescovr>   r?   r@   s
             rC   test_ledoit_wolfrn      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
|a5QQQRST   VQ///-8^^*O*or~qAAA-r}===bm444DHHQKKKd.BBB QQQT7??7##D	BFF4LLLatUuEEEaH   .9->->*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   "TTT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   rH   g      ?)
r%   r   r1   tracecopyflatre   dotTmin)r*   rf   rP   r<   mudelta_deltaX2beta_betarW   s              rC   _naive_ledoit_wolf_shrinkager|      s     GIz"1e<<<G	'		Z	'B\\^^F
K!!:>!"""b("""QYOO
*E	
AB	!	#
&b!!I-
:
;
;	< 
 ueDuIrT   c                      t           d d d df         } t                      }|                    |            |j        }t	          |t          |                      d S )Nr   )r*   r   r)   rc   r   r|   )X_smallri   rc   s      rC   test_ledoit_wolf_smallr      sU    2A2hG	BFF7OOOJ
$@$I$IJJJJJrT   c                    t           j                            |           }|                    d          }t	          d                              |          }t          |j        t          j        d          d           |j        }t	          d                              |          }t          |j        |           d S )N)
      )sizer   )r]   r   r      )	r1   randomRandomStatenormalr   r)   r   r+   eye)global_random_seedrngr*   ri   r;   s        rC   test_ledoit_wolf_larger     s    
)

 2
3
3C

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

A666
.C 
r	"	"	"	&	&q	)	)B,,,,,rT   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   rH   zFound array with 0 sampler!   N)r1   r7   r-   r.   
ValueError)r   X_emptys     rC   test_ledoit_wolf_empty_arrayr     s    
 hvG	z)D	E	E	E . .$$W---. . . . . . . . . . . . . . . . . .s   A		AAc                  p
   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 t           d d ddf         }
t                      }|                    |
           t/          |
          \  }}t          ||j        d           t          ||j                   t          |
dz                                  t          z  |j        d           d S )Nr   rJ   Tr'   r   r^   r   rH   Fr_   rV   r   r   r    r!   r#   r$   ra   )r*   rb   r   r)   rc   rd   r   r   r+   r   r   re   rf   rY   r3   r   r1   r4   r-   r5   r6   r7   r8   r   )rh   oarc   rj   oa_cov_from_mleoa_shrinkage_from_mlerm   r>   r?   r@   X_1f_oa_cov_from_mle_oa_shrinkage_from_mles                rC   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///=    QQQ!V9D	BFF4LLL/3Dzz,,.BBB.>>>tQwmmoo	92>1MMMMMs   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!   NrH   )r   r)   r*   r%   r-   r.   r   r0   )r;   msgs     rC   .test_EmpiricalCovariance_validates_mahalanobisr   n  s    



#
#A
&
&C
SQWQZ
S
S
SC	z	-	-	- " "!!!RaR%!!!" " " " " " " " " " " " " " " " " "s   'BBB)+numpyr1   r-   sklearnr   sklearn.covariancer   r   r   r   r   r	   r
   r   r   %sklearn.covariance._shrunk_covariancer   r   sklearn.utils._testingr   r   r   r   load_diabetesr*   _r>   r%   rf   rP   rD   markparametrizerS   rZ   rn   r|   r   r   r)   r   r   r    rT   rC   <module>r      s3             
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 E D D D D D D D            x...1Aw 	:,< ,< ,<^ 1v.., , /., "  "  "FZ! Z! Z!z  2K K K- - - "ZZ\\%57L$M . . .PN PN PNf" " " " "rT   