Ë
    ÷Q(hÖ6  ã                   ó¶  — 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 d dlmZmZmZmZ ddlmZ  ej0                  d¬	«      \  ZZedd…d f   Zej8                  \  ZZd
„ Zej@                  jC                  dddg«      d„ «       Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'ej@                  jC                  d e«       jP                  eg«      d„ «       Z)d„ Z*d„ Z+y)é    N)Údatasets)	ÚOASÚEmpiricalCovarianceÚ
LedoitWolfÚShrunkCovarianceÚempirical_covarianceÚledoit_wolfÚledoit_wolf_shrinkageÚoasÚshrunk_covariance)Ú_ledoit_wolf)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equalé   )Ú_oasT)Ú
return_X_yc                  ór  — t        «       } | j                  t        «       t        t        «      }t	        || j
                  d«       t        | j                  |«      d«       t        | j                  |d¬«      d«       t        | j                  |d¬«      d«       t        | j                  |d¬«      d«       t        | j                  |d¬«      d«       t        j                  t        «      5  | j                  |d	¬«       d d d «       | j                  t        «      }t        j                  |«      dkD  sJ ‚t        d d …df   j                  d
«      }t        «       } | j                  |«       t	        t        |«      | j
                  d«       t        | j                  t        |«      «      d«       t        | j                  t        |«      d¬«      d«       t        j                  d«      j                  dd«      }t        «       } d}t        j                   t"        |¬«      5  | j                  |«       d d d «       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¬«      } | j                  t        «       t+        | j,                  t        j$                  t        j.                  d   «      «       y # 1 sw Y   �Œ xY w# 1 sw Y   ŒöxY w)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           úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/covariance/tests/test_covariance.pyÚtest_covariancerE   "   sg  € ô Ó
€CØ‡G�GŒA„JÜ"¤1Ó%€GÜ˜g s§¡¸Ô:Ü˜Ÿ™ wÓ/°Ô3Ü˜Ÿ™ w°Z˜Ó@À!ÔDÜ˜Ÿ™ w°[˜ÓAÀ1ÔEÜ˜Ÿ™ w¸˜Ó>ÀÔBÜ˜Ÿ™ w¸˜Ó>ÀÔBÜ	�‰Ô*Ó	+ñ ,Ø�‰�w UˆÔ+÷,ð —‘¤Ó#€JÜ�7‰7�:Ó Ò"Ð"Ð"ô ŠQ�ˆT‰7�?‰?˜7Ó#€DÜ
Ó
€CØ‡G�GˆD„MÜÔ2°4Ó8¸#¿/¹/È1ÔMÜ˜Ÿ™Ô';¸DÓ'AÓBÀAÔFÜ˜Ÿ™Ô';¸DÓ'AÈ
˜ÓSÐUVÔWô —	‘	˜!“×$Ñ$ Q¨Ó*€IÜ
Ó
€CØS€HÜ	�‰”k¨Ô	2ñ Ø�‰�	Ô÷ô ˜cŸo™o¬r¯x©x¸fÌBÏJÉJÔ/WÔXô —
‘
˜Q ˜F Q¨ FÐ+Ó,€IÜ�Z‰Z˜$ ˜¨°¨Ð6Ó7€FÜÔ2°9Ó=¸vÔFô ¨dÔ
3€CØ‡G�GŒA„JÜ�s—}‘}¤b§h¡h¬q¯w©w°q©zÓ&:Õ;÷A,ñ ,ú÷&ð ús   Ã.L È&L-Ì L*Ì-L6Ú
n_matricesr   é   c                 óR  — d}t        j                  ||f«      }t        j                  ddgddgg«      }| dkD  rVt        j                  |t         j                  df   | d¬«      }t        j                  |t         j                  df   | d¬«      }t        |d«      }t        ||«       y)z#Check `shrunk_covariance` function.r   r   ç      à?.r   ©ÚaxisN)r2   ÚonesÚarrayÚrepeatÚnewaxisr   r   )rF   Ú
n_featuresr<   Ú
cov_targetÚ
cov_shrunks        rD   Útest_shrunk_covariance_funcrS   Q   s’   € ð €JÜ
�'‰'�:˜zÐ*Ó
+€CÜ—‘˜A˜s˜8 c¨1 XÐ.Ó/€Jà�A‚~Ü�i‰i˜œBŸJ™J¨˜OÑ,¨j¸qÔAˆÜ—Y‘Y˜z¬"¯*©*°c¨/Ñ:¸JÈQÔOˆ
ä" 3¨Ó,€JÜ�J 
Õ+ó    c                  óØ  — t        d¬«      } | j                  t        «       t        t	        t        t        «      d¬«      | j                  d«       t        «       } | j                  t        «       t        t	        t        t        «      «      | j                  d«       t        d¬«      } | j                  t        «       t        t        t        «      | j                  d«       t        dd…df   j                  d«      }t        d¬«      } | j                  |«       t        t        |«      | j                  d«       t        dd	¬
«      } | j                  t        «       | j                  �J ‚y)zECheck consistency between `ShrunkCovariance` and `shrunk_covariance`.rI   ©Ú	shrinkager   g        Nr   r   g333333Ó?F)rW   Ústore_precision)	r   r*   r+   r   r   r   r,   r4   Ú
precision_)r<   r?   s     rD   Útest_shrunk_covariancerZ   a   s  € ô
  SÔ
)€CØ‡G�GŒA„JÜÜÔ.¬qÓ1¸SÔAÀ3Ç?Á?ÐTUôô
 Ó
€CØ‡G�GŒA„JÜÜÔ.¬qÓ1Ó2°C·O±OÀQôô
  SÔ
)€CØ‡G�GŒA„JÜÔ2´1Ó5°s·±ÈÔJô ŠQ�ˆT‰7�?‰?˜7Ó#€DÜ
 SÔ
)€CØ‡G�GˆD„MÜÔ2°4Ó8¸#¿/¹/È1ÔMô  S¸%Ô
@€CØ‡G�GŒA„JØ�>‰>Ð!Ð!Ñ!rT   c                  ó

  — t         t         j                  d¬«      z
  } t        d¬«      }|j                  | «       |j                  }|j                  | «      }t        t        | d¬«      |«       t        t        | dd¬«      |«       t        | d¬«      \  }}t        ||j                  d«       t        ||j                  «       t        |j                  d¬«      }|j                  | «       t        |j                  |j                  d«       t         d d …df   j                  d	«      }t        d¬«      }|j                  |«       t        |d¬«      \  }}t        ||j                  d«       t        ||j                  «       t        |d
z  j                  «       t        z  |j                  d«       t        dd¬«      }|j                  | «       t        |j                  | «      |d«       |j                  �J ‚t        «       }|j                  t         «       t        |j                  |d«       t        |j                  t        t         «      «       t        |j                  t        t         «      d   «       t        |j                  t!        t         dd¬«      d   «       t        |j                  t         «      |d«       t        t         «      \  }}t        ||j                  d«       t        ||j                  «       t        |j                  ¬«      }|j                  t         «       t        |j                  |j                  d«       t         d d …df   j                  d	«      }t        «       }|j                  |«       t#        |j%                  d¬«      t!        |dd¬«      d   «       t        |«      \  }}t        ||j                  d«       t        ||j                  «       t        t'        |«      |j                  d«       t)        j*                  d«      j                  dd«      }t        «       }d}	t-        j.                  t0        |	¬«      5  |j                  |«       d d d «       t        |j                  t)        j2                  dt(        j4                  ¬«      «       t        d¬«      }|j                  t         «       t        |j                  t         «      |d«       |j                  �J ‚y # 1 sw Y   Œ’xY w)Nr   rJ   Tr(   é   )r)   Ú
block_sizer   ©rW   r)   r   r   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   r4   ÚsumÚ	n_samplesrY   r   r   Úvarr   r2   r5   r.   r6   r7   r8   r9   )
Ú
X_centeredÚlwrc   Úscore_Úlw_cov_from_mleÚlw_shrinkage_from_mleÚscovr?   r@   rA   s
             rD   Útest_ledoit_wolfrn   „   sÃ  € ô ”Q—V‘V �V“^Ñ#€JÜ	 DÔ	)€BØ‡F�Fˆ:ÔØ—‘€Jà�X‰X�jÓ!€FÜÜ˜j¸$Ô?Àôô Ü˜j¸$È1ÔMØôô
 .9Ø Dô.Ñ*€OÐ*ô ˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ä b§m¡mÀTÔJ€DØ‡H�HˆZÔÜ˜d×.Ñ.°·±ÀÔBô ŠQ�ˆT‰7�?‰?˜7Ó#€DÜ	 DÔ	)€BØ‡F�Fˆ4„LÜ-8¸ÈtÔ-TÑ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=Ü˜t Q™wŸm™m›o´	Ñ9¸2¿>¹>È1ÔMô 
 E¸4Ô	@€BØ‡F�Fˆ:ÔÜ˜Ÿ™ Ó,¨f°aÔ8Ø�=‰=Ð Ð Ð ô 
‹€BØ‡F�FŒ1„IÜ˜Ÿ™ z°1Ô5Ü˜Ÿ™Ô'<¼QÓ'?Ô@Ü˜Ÿ™¤{´1£~°aÑ'8Ô9ÜØ
�‰”|¤a¸È5ÔQÐRSÑTôô ˜Ÿ™¤› V¨QÔ/ä-8¼«^Ñ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ä b§m¡mÔ4€DØ‡H�HŒQ„KÜ˜d×.Ñ.°·±ÀÔBô ŠQ�ˆT‰7�?‰?˜7Ó#€DÜ	‹€BØ‡F�Fˆ4„LÜØ�‰�aˆÓÜ�t¨U¸uÔEÀaÑHôô .9¸Ó->Ñ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ÜÔ2°4Ó8¸"¿.¹.È!ÔLô —	‘	˜!“×$Ñ$ Q¨Ó*€IÜ	‹€BàS€HÜ	�‰”k¨Ô	2ñ Ø
�‰ˆyÔ÷ô ˜bŸn™n¬b¯h©h¸VÌ2Ï:É:Ô.VÔWô 
 EÔ	*€BØ‡F�FŒ1„IÜ˜Ÿ™¤› V¨QÔ/Ø�=‰=Ð Ð Ñ ÷ð ús   ÑS9Ó9Tc                 óª  — | j                   \  }}t        | d¬«      }t        j                  |«      |z  }|j	                  «       }|j
                  d d |dz   …xx   |z  cc<   |dz  j                  «       |z  }| dz  }d||z  z  t        j                  t        j                  |j                  |«      |z  |dz  z
  «      z  }t        ||«      }	|	|z  }
|
S )NFr(   r   r   g      ð?)
r&   r   r2   ÚtraceÚcopyÚflatre   ÚdotÚTÚmin)r+   rf   rP   r=   ÚmuÚdelta_ÚdeltaÚX2Úbeta_ÚbetarW   s              rD   Ú_naive_ledoit_wolf_shrinkager|   á   sØ   € ð ŸG™GÑ€IˆzÜ" 1°eÔ<€GÜ	�‰�'Ó	˜ZÑ	'€BØ�\‰\‹^€FØ
‡K�KÑ!�: ‘>Ð!Ó" bÑ(Ó"Ø�Q‰Y�O‰OÓ 
Ñ*€EØ	
ˆA‰€BàØ˜	Ñ!ñ	#ä
�&‰&”—‘˜Ÿ™˜bÓ! IÑ-°¸±
Ñ:Ó
;ñ	<ð 
ô ˆu�eÓ€DØ�u‘€IØÐrT   c                  óš   — t         d d …d d…f   } t        «       }|j                  | «       |j                  }t	        |t        | «      «       y )Nr   )r+   r   r*   rc   r   r|   )ÚX_smallri   rc   s      rD   Útest_ledoit_wolf_smallr   ú   s>   € ä’�2�A�2�‰h€GÜ	‹€BØ‡F�Fˆ7„OØ—‘€Jä˜
Ô$@ÀÓ$IÕJrT   c                  ój  — t         j                  j                  d«      } | j                  d¬«      }t	        d¬«      j                  |«      }t        |j                  t        j                  d«      d«       |j                  }t	        d¬«      j                  |«      }t        |j                  |«       y )Nr   )é
   é   )Úsizer�   )r]   r‚   é   )	r2   ÚrandomÚRandomStateÚnormalr   r*   r   r,   Úeye)Úrngr+   ri   r<   s       rD   Útest_ledoit_wolf_largerŠ     s�   € ä
�)‰)×
Ñ
 Ó
"€Cà�
‰
˜ˆ
Ó!€AÜ	˜rÔ	"×	&Ñ	& qÓ	)€Bä˜Ÿ™¬¯©¨r«
°AÔ6Ø
�.‰.€Cô 
˜rÔ	"×	&Ñ	& qÓ	)€BÜ˜Ÿ™¨Õ,rT   Úledoit_wolf_fitting_functionc                 óž   — t        j                  d«      }t        j                  t        d¬«      5   | |«       ddd«       y# 1 sw Y   yxY w)zDCheck that we validate X and raise proper error with 0-sample array.)r   r   zFound array with 0 sampler"   N)r2   r8   r.   r/   Ú
ValueError)r‹   ÚX_emptys     rD   Útest_ledoit_wolf_empty_arrayr�     s>   € ô
 �h‰h�vÓ€GÜ	�‰”zÐ)DÔ	Eñ .Ù$ WÔ-÷.÷ .ñ .ús   ±	AÁAc                  ó‚	  — t         t         j                  d¬«      z
  } t        d¬«      }|j                  | «       |j                  }|j                  | «      }t        | d¬«      \  }}t        ||j                  d«       t        ||j                  «       t        |j                  d¬«      }|j                  | «       t        |j                  |j                  d«       t         d d …dd…f   }t        d¬«      }|j                  |«       t        |d¬«      \  }}t        ||j                  d«       t        ||j                  «       t        |dz  j                  «       t        z  |j                  d«       t        d	d¬
«      }|j                  | «       t        |j                  | «      |d«       |j                  �J ‚t        «       }|j                  t         «       t        |j                  |d«       t        |j                  t         «      |d«       t        t         «      \  }}t        ||j                  d«       t        ||j                  «       t        |j                  ¬«      }|j                  t         «       t        |j                  |j                  d«       t         d d …df   j                  d«      }t        «       }|j                  |«       t        |«      \  }}t        ||j                  d«       t        ||j                  «       t        t        |«      |j                  d«       t!        j"                  d«      j                  dd«      }t        «       }d}	t%        j&                  t(        |	¬«      5  |j                  |«       d d d «       t        |j                  t!        j*                  dt         j,                  ¬«      «       t        d	¬«      }|j                  t         «       t        |j                  t         «      |d«       |j                  �J ‚t         d d …dd…f   }
t        «       }|j                  |
«       t/        |
«      \  }}t        ||j                  d«       t        ||j                  «       t        |
dz  j                  «       t        z  |j                  d«       y # 1 sw Y   �Œ'xY w)Nr   rJ   Tr(   r   r^   r   r   Fr_   rV   r   r    r!   r"   r$   r%   ra   )r+   rb   r   r*   rc   rd   r   r   r,   r   r   re   rf   rY   r4   r   r2   r5   r.   r6   r7   r8   r9   r   )rh   Úoarc   rj   Úoa_cov_from_mleÚoa_shrinkage_from_mlerm   r?   r@   rA   ÚX_1fÚ_oa_cov_from_mleÚ_oa_shrinkage_from_mles                rD   Útest_oasr—     s‡  € ô ”Q—V‘V �V“^Ñ#€JÜ	˜TÔ	"€BØ‡F�Fˆ:ÔØ—‘€JØ�X‰X�jÓ!€Fä-0°ÈTÔ-RÑ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ä b§m¡mÀTÔJ€DØ‡H�HˆZÔÜ˜d×.Ñ.°·±ÀÔBô ŠQ��!�ˆV‰9€DÜ	˜TÔ	"€BØ‡F�Fˆ4„LÜ-0°ÀtÔ-LÑ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=Ü˜t Q™wŸm™m›o´	Ñ9¸2¿>¹>È1ÔMô 
˜U°DÔ	9€BØ‡F�Fˆ:ÔÜ˜Ÿ™ Ó,¨f°aÔ8Ø�=‰=Ð Ð Ð ô 
‹€BØ‡F�FŒ1„IÜ˜Ÿ™ z°1Ô5Ü˜Ÿ™¤› V¨QÔ/ä-0´«VÑ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ä b§m¡mÔ4€DØ‡H�HŒQ„KÜ˜d×.Ñ.°·±ÀÔBô ŠQ�ˆT‰7�?‰?˜7Ó#€DÜ	‹€BØ‡F�Fˆ4„LÜ-0°«YÑ*€OÐ*Ü˜o¨r¯~©~¸qÔAÜÐ-¨r¯}©}Ô=ÜÔ2°4Ó8¸"¿.¹.È!ÔLô —	‘	˜!“×$Ñ$ Q¨Ó*€IÜ	‹€BØS€HÜ	�‰”k¨Ô	2ñ Ø
�‰ˆyÔ÷ô ˜bŸn™n¬b¯h©h¸VÌ2Ï:É:Ô.VÔWô 
˜UÔ	#€BØ‡F�FŒ1„IÜ˜Ÿ™¤› V¨QÔ/Ø�=‰=Ð Ð Ð ô ŠQ��!�ˆV‰9€DÜ	‹€BØ‡F�Fˆ4„Lä/3°D«zÑ,ÐÐ,ÜÐ.°·±ÀÔBÜÐ.°·±Ô>Ü˜t Q™wŸm™m›o´	Ñ9¸2¿>¹>È1ÕM÷'ñ ús   Í=R4Ò4R>c                  ó  — t        «       j                  t        «      } dt        j                  d   › d�}t	        j
                  t        |¬«      5  | j                  t        dd…dd…f   «       ddd«       y# 1 sw Y   yxY w)z@Checks that EmpiricalCovariance validates data with mahalanobis.z'X has 2 features, but \w+ is expecting r   z features as inputr"   Nr   )r   r*   r+   r&   r.   r/   r�   r1   )r<   Úmsgs     rD   Ú.test_EmpiricalCovariance_validates_mahalanobisrš   p  sg   € ä
Ó
×
#Ñ
#¤AÓ
&€Cà4´Q·W±W¸Q±Z°LÐ@RÐ
S€CÜ	�‰”z¨Ô	-ñ "Ø�‰œš!˜R˜a˜R˜%™Ô!÷"÷ "ñ "ús   ÁA8Á8B),Únumpyr2   r.   Úsklearnr   Úsklearn.covariancer   r   r   r   r   r	   r
   r   r   Ú%sklearn.covariance._shrunk_covariancer   Úsklearn.utils._testingr   r   r   r   Ú_shrunk_covariancer   Úload_diabetesr+   Ú_r?   r&   rf   rP   rE   ÚmarkÚparametrizerS   rZ   rn   r|   r   rŠ   r*   r�   r—   rš   © rT   rD   ú<module>r¦      só   ðó Û å ÷
÷ 
õ 
õ ?÷ó õ &à€x×Ñ¨Ô.�€€1ØŠˆAˆ�w€ØŸ™Ñ €	ˆ:ò,<ð^ ‡�×Ñ˜¨¨1 vÓ.ñ,ó /ð,ò "òFZ!òzò2Kò-ð ‡�×ÑØ"¡Z£\×%5Ñ%5Ð7LÐ$Móñ.óð.òPNóf"rT   