Ë
    ÷Q(hî&  ã                   ó‚  — d Z ddlZ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mZmZ ddlmZ ddlmZ dd	lmZmZ d
„ Z ej.                   ej0                  ddd«      «      j2                  Z ej.                  g d¢«      j2                  Z ej8                   ee«      j;                  «       dkD  e¬«      Z ee«      j;                  «       Z  ejB                  ejD                  e¬«      Z#de#e dk  <   de#e dk\  e dk  z  <   de#e dkD  <    edd¬«      Z$ ed¬«      e$ edd¬«       edd«       edd¬«      z  gZ%e%D � cg c]
  } | e$k7  sŒ	| ‘Œ c} Z&ejN                  jQ                  de%«      d„ «       Z)d„ Z*ejN                  jQ                  de&«      d„ «       Z+ejN                  jQ                  de%«      d„ «       Z,ejN                  jQ                  de%«      d„ «       Z-ejN                  jQ                  de&«      d „ «       Z.ejN                  jQ                  de%«      d!„ «       Z/d"„ Z0ejN                  jQ                  de&«      d#„ «       Z1ejN                  jQ                  de%«      d$„ «       Z2ejN                  jQ                  de%«      d%„ «       Z3d&„ Z4ejN                  jQ                  d'd ed«      ie5d(fg«      d)„ «       Z6yc c} w )*z+Testing for Gaussian process classificationé    N)Úapprox_fprime)ÚConvergenceWarning)ÚGaussianProcessClassifier)ÚRBFÚCompoundKernelÚWhiteKernel)ÚConstantKernel)ÚMiniSeqKernel)Úassert_almost_equalÚassert_array_equalc                 ó,   — t        j                  | «      S )N)ÚnpÚsin)Úxs    úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/gaussian_process/tests/test_gpc.pyÚfr      s   € Ü�6‰6�!‹9Ðó    é
   é   )ç       @g      @g      @g      @g      @©ÚdtypegffffffÖ¿é   gffffffÖ?é   ç      ð?Úfixed©Úlength_scaleÚlength_scale_boundsgš™™™™™¹?)r   )çü©ñÒMbP?ç     @�@©g{®Gáz„?ç      Y@Úkernelc                 óÄ   — t        | ¬«      j                  t        t        «      }t	        |j                  t        «      |j                  t        «      d d …df   dk\  «       y )N©r$   r   ç      à?)r   ÚfitÚXÚyr   ÚpredictÚpredict_proba©r$   Úgpcs     r   Útest_predict_consistentr/   2   sF   € ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€CÜ�s—{‘{¤1“~ s×'8Ñ'8¼Ó';ºA¸q¸DÑ'AÀSÑ'HÕIr   c                  óò   — g d¢} t        j                  g d¢«      }t        d¬«      }t        |¬«      j	                  | |«      }t        |j                  | «      |j                  | «      d d …df   dk\  «       y )N)ÚAÚABÚB)TFTr   )Úbaseline_similarity_boundsr&   r   r'   )r   Úarrayr
   r   r(   r   r+   r,   )r)   r*   r$   r.   s       r   Ú"test_predict_consistent_structuredr6   9   sb   € â€AÜ
�‰Ò$Ó%€AÜ°gÔ>€FÜ
#¨6Ô
2×
6Ñ
6°q¸!Ó
<€CÜ�s—{‘{ 1“~ s×'8Ñ'8¸Ó';ºA¸q¸DÑ'AÀSÑ'HÕIr   c                 óÒ   — t        | ¬«      j                  t        t        «      }|j	                  |j
                  j                  «      |j	                  | j                  «      kD  sJ ‚y )Nr&   )r   r(   r)   r*   Úlog_marginal_likelihoodÚkernel_Úthetar-   s     r   Útest_lml_improvingr;   B   sV   € ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€CØ×&Ñ& s§{¡{×'8Ñ'8Ó9¸C×<WÑ<WØ�‰ó=ò ð ñ r   c                 óÈ   — t        | ¬«      j                  t        t        «      }t	        |j                  |j                  j                  «      |j                  «       d«       y )Nr&   é   )r   r(   r)   r*   r   r8   r9   r:   r-   s     r   Útest_lml_precomputedr>   K   sI   € ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€CÜØ×#Ñ# C§K¡K×$5Ñ$5Ó6¸×8SÑ8SÓ8UÐWXõr   c                 ó:  — t        | ¬«      j                  t        t        «      }t	        j
                  |j                  j                  j                  t        j                  ¬«      }|j                  |d¬«       t        |j                  j                  |d«       y )Nr&   r   F)Úclone_kernelr=   )r   r(   r)   r*   r   Úonesr9   r:   ÚshapeÚfloat64r8   r   )r$   r.   Úinput_thetas      r   Útest_lml_without_cloning_kernelrE   T   sh   € ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€CÜ—'‘'˜#Ÿ+™+×+Ñ+×1Ñ1¼¿¹ÔD€Kà×Ñ ¸%ÐÔ@Ü˜Ÿ™×)Ñ)¨;¸Õ:r   c                 óÌ  — t        | ¬«      j                  t        t        «      }|j	                  |j
                  j                  d«      \  }}t        j                  t        j                  |«      dk  |j
                  j                  |j
                  j                  d d …df   k(  z  |j
                  j                  |j
                  j                  d d …df   k(  z  «      sJ ‚y )Nr&   Tç-Cëâ6?r   r   )r   r(   r)   r*   r8   r9   r:   r   ÚallÚabsÚbounds)r$   r.   ÚlmlÚlml_gradients       r   Útest_converged_to_local_maximumrM   ^   s·   € ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€Cà×3Ñ3°C·K±K×4EÑ4EÀtÓLÑ€Cˆä�6‰6Ü	�‰�Ó	 Ñ	$Ø�;‰;×Ñ §¡× 2Ñ 2²1°a°4Ñ 8Ñ8ñ	:à�;‰;×Ñ §¡× 2Ñ 2²1°a°4Ñ 8Ñ8ñ	:ôð ñ r   c                 óÚ   ‡— t        | ¬«      j                  t        t        «      Š‰j	                  | j
                  d«      \  }}t        | j
                  ˆfd„d«      }t        ||d«       y )Nr&   Tc                 ó(   •— ‰j                  | d«      S )NF)r8   )r:   r.   s    €r   ú<lambda>z#test_lml_gradient.<locals>.<lambda>s   s   ø€  C×$?Ñ$?ÀÀuÓ$M€ r   g»½×Ùß|Û=é   )r   r(   r)   r*   r8   r:   r   r   )r$   rK   rL   Úlml_gradient_approxr.   s       @r   Útest_lml_gradientrS   l   s]   ø€ ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€Cà×3Ñ3°F·L±LÀ$ÓGÑ€CˆÜ'Ø�‰ÓMÈuóÐô ˜Ð&9¸1Õ=r   c                 ó˜  — d\  }}t         j                  j                  | «      }|j                  ||«      dz  dz
  }t        j                  |«      j                  d¬«      t        j                  d|z  «      j                  d¬«      z   dkD  }t        dd«      t        d	g|z  d
g|z  ¬«      z  }t         j                   }t        d«      D ]|  }t        ||| ¬«      j                  ||«      }	|	j                  |	j                  j                  «      }
|
|t        j                  t         j                   «      j"                  z
  kD  sJ ‚|
}Œ~ y )N)é   r   r   r   )ÚaxisrQ   r   r   r"   r    )rG   r#   r   é   )r$   Ún_restarts_optimizerÚrandom_state)r   ÚrandomÚRandomStateÚrandnr   ÚsumÚCr   ÚinfÚranger   r(   r8   r9   r:   ÚfinfoÚfloat32Úeps)Úglobal_random_seedÚ	n_samplesÚ
n_featuresÚrngr)   r*   r$   Úlast_lmlrX   ÚgprK   s              r   Útest_random_startsrj   y   s/  € ð "Ñ€IˆzÜ
�)‰)×
Ñ
Ð 2Ó
3€CØ�	‰	�)˜ZÓ(¨1Ñ,¨qÑ0€AÜ	�‰�‹�‰˜AˆÓ	¤§¡¨¨A©£×!2Ñ!2¸Ð!2Ó!:Ñ	:¸aÑ?€Aäˆs�KÓ ¤3Ø�V˜jÑ(¸{¸mÈjÑ>Xô$ñ €Fô —‘ˆw€HÜ % a£ò ÐÜ&ØØ!5Ø+ô
÷ ‰#ˆa�‹)ð	 	ð
 ×(Ñ(¨¯©×)9Ñ)9Ó:ˆØ�X¤§¡¬¯©Ó 4× 8Ñ 8Ñ8Ò8Ð8Ð8Ø‰ñr   c                 óä   ‡— ˆfd„}t        | |¬«      }|j                  t        t        «       |j	                  |j
                  j                  «      |j	                  | j                  «      k\  sJ ‚y )Nc                 ó`  •— t         j                  j                  ‰	«      }| | |d¬«      }}t        d«      D ]q  }t        j                  |j                  t        j                  d|d d …df   «      t        j                  d|d d …df   «      «      «      } | |d¬«      }||k  sŒn||}}Œs ||fS )NF)Úeval_gradientr   éþÿÿÿr   r   )r   rZ   r[   r`   Ú
atleast_1dÚuniformÚmaximumÚminimum)
Úobj_funcÚinitial_thetarJ   rg   Ú	theta_optÚfunc_minÚ_r:   r   rd   s
            €r   Ú	optimizerz(test_custom_optimizer.<locals>.optimizer”   s®   ø€ Ü�i‰i×#Ñ#Ð$6Ó7ˆØ+©XØ¨ô.
�8ˆ	ô �r“ò 	/ˆAÜ—M‘MØ—‘œBŸJ™J r¨6²!°Q°$©<Ó8¼"¿*¹*ÀQÈÊqÐRSÈtÉÓ:UÓVóˆEñ ˜¨eÔ4ˆAØ�8‹|Ø&+¨Q˜8‘	ð	/ð ˜(Ð"Ð"r   )r$   rx   )r   r(   r)   Úy_mcr8   r9   r:   )r$   rd   rx   r.   s    `  r   Útest_custom_optimizerrz   �   s`   ø€ ô#ô $¨6¸YÔ
G€CØ‡G�GŒAŒtÔà×&Ñ&Ø�‰×Ñóà	×	$Ñ	$ V§\¡\Ó	2ò3ð 3ñ 3r   c                 ó  — t        | ¬«      }|j                  t        t        «       |j	                  t
        «      }t        |j                  d«      d«       |j                  t
        «      }t        t        j                  |d«      |«       y )Nr&   r   )r   r(   r)   ry   r,   ÚX2r   r]   r+   r   r   Úargmax)r$   r.   Úy_probÚy_preds       r   Útest_multi_classr€   ª   s`   € ô $¨6Ô
2€CØ‡G�GŒAŒtÔà×ÑœrÓ"€FÜ˜Ÿ
™
 1› qÔ)à�[‰[œ‹_€FÜ”r—y‘y ¨Ó+¨VÕ4r   c                 ó
  — t        | ¬«      }|j                  t        t        «       t        | d¬«      }|j                  t        t        «       |j	                  t
        «      }|j	                  t
        «      }t        ||«       y )Nr&   r   )r$   Ún_jobs)r   r(   r)   ry   r,   r|   r   )r$   r.   Úgpc_2r~   Úy_prob_2s        r   Útest_multi_class_n_jobsr…   ·   s`   € ô $¨6Ô
2€CØ‡G�GŒAŒtÔä%¨V¸AÔ>€EØ	‡I�IŒa”Ôà×ÑœrÓ"€FØ×"Ñ"¤2Ó&€HÜ˜ Õ)r   c                  ó8  — t        ddg¬«      } t        | ¬«      }d}t        j                  t        |¬«      5  |j                  t        t        «       d d d «       t        ddg¬«      t        dd	g¬«      z   }t        |¬«      }t        j                  d
¬«      5 }t        j                  d«       |j                  t        t        «       t        |«      dk(  sJ ‚t        |d   j                  t        «      sJ ‚|d   j                  j                   d   dk(  sJ ‚t        |d   j                  t        «      sJ ‚|d   j                  j                   d   dk(  sJ ‚	 d d d «       t#        j$                  t        d«      }t        ddgddg¬«      }t        |¬«      }t        j                  d
¬«      5 }t        j                  d«       |j                  |t        «       t        |«      dk(  sJ ‚t        |d   j                  t        «      sJ ‚|d   j                  j                   d   dk(  sJ ‚t        |d   j                  t        «      sJ ‚|d   j                  j                   d   dk(  sJ ‚	 d d d «       y # 1 sw Y   �Œ%xY w# 1 sw Y   �Œ*xY w# 1 sw Y   y xY w)Ngñhãˆµøä>r    )r   r&   z²The optimal value found for dimension 0 of parameter length_scale is close to the specified upper bound 0.001. Increasing the bound and calling fit again may find a better value.©Úmatch)Únoise_level_boundsr!   g     jø@T)ÚrecordÚalwaysr   r   zµThe optimal value found for dimension 0 of parameter k1__noise_level is close to the specified upper bound 0.001. Increasing the bound and calling fit again may find a better value.r   z·The optimal value found for dimension 0 of parameter k2__length_scale is close to the specified lower bound 1000.0. Decreasing the bound and calling fit again may find a better value.r   r   g      $@r#   r   z²The optimal value found for dimension 0 of parameter length_scale is close to the specified upper bound 100.0. Increasing the bound and calling fit again may find a better value.z²The optimal value found for dimension 1 of parameter length_scale is close to the specified upper bound 100.0. Increasing the bound and calling fit again may find a better value.)r   r   ÚpytestÚwarnsr   r(   r)   r*   r   ÚwarningsÚcatch_warningsÚsimplefilterÚlenÚ
issubclassÚcategoryÚmessageÚargsr   Útile)	r$   r.   Úwarning_messageÚ
kernel_sumÚgpc_sumrŠ   ÚX_tileÚkernel_dimsÚgpc_dimss	            r   Útest_warning_boundsr�   Å   s‚  € Ü d¨D \Ô2€FÜ
#¨6Ô
2€Cð	ð ô 
�‰Ô(°Ô	@ñ Ø�‰””1Œ÷ô °°t°Ô=ÄØ  #˜JôAñ €Jô (¨zÔ:€GÜ	×	 Ñ	 ¨Ô	-ð 
°Ü×Ñ˜hÔ'Ø�‰”A”qÔä�6‹{˜aÒÐÐä˜& ™)×,Ñ,Ô.@ÔAÐAÐAà�1‰I×Ñ×"Ñ" 1Ñ%ð *1ò 1ð	
ð1ô ˜& ™)×,Ñ,Ô.@ÔAÐAÐAà�1‰I×Ñ×"Ñ" 1Ñ%ð *1ò 1ð	
ñ1÷%
ô4 �W‰W”Q˜‹]€FÜ C¨ :ÀCÈÀ:ÔN€KÜ(°Ô<€Hä	×	 Ñ	 ¨Ô	-ð 
°Ü×Ñ˜hÔ'Ø�‰�VœQÔä�6‹{˜aÒÐÐä˜& ™)×,Ñ,Ô.@ÔAÐAÐAà�1‰I×Ñ×"Ñ" 1Ñ%ð *1ò 1ð	
ð1ô ˜& ™)×,Ñ,Ô.@ÔAÐAÐAà�1‰I×Ñ×"Ñ" 1Ñ%ð *1ò 1ð	
ñ1÷%
ð 
÷Kñ ú÷
ñ 
ú÷<
ð 
ús%   ¸I6ÂC JÆ0B<JÉ6J ÊJÊJzparams, error_type, err_msgz!kernel cannot be a CompoundKernelc                 ó¦   — t        di | ¤Ž}t        j                  ||¬«      5  |j                  t        t
        «       ddd«       y# 1 sw Y   yxY w)z0Check that expected error are raised during fit.r‡   N© )r   rŒ   Úraisesr(   r)   r*   )ÚparamsÚ
error_typeÚerr_msgr.   s       r   Útest_gpc_fit_errorr¤     sA   € ô $Ñ
- fÑ
-€CÜ	�‰�z¨Ô	1ñ Ø�‰””1Œ÷÷ ñ ús   £AÁA)7Ú__doc__rŽ   Únumpyr   rŒ   Úscipy.optimizer   Úsklearn.exceptionsr   Úsklearn.gaussian_processr   Ú sklearn.gaussian_process.kernelsr   r   r   r	   r^   Ú4sklearn.gaussian_process.tests._mini_sequence_kernelr
   Úsklearn.utils._testingr   r   r   Ú
atleast_2dÚlinspaceÚTr)   r|   r5   ÚravelÚintr*   ÚfXÚemptyrB   ry   Úfixed_kernelÚkernelsÚnon_fixed_kernelsÚmarkÚparametrizer/   r6   r;   r>   rE   rM   rS   rj   rz   r€   r…   r�   Ú
ValueErrorr¤   r&   s   0r   ú<module>rº      sù  ðÙ 1ó
 ã Û Ý (å 1Ý >÷ñ õ
õ Oß Jòð €B‡M�M�+�"—+‘+˜a  RÓ(Ó)×+Ñ+€Ø€R‡]�]Ò,Ó-×/Ñ/€Ø€B‡H�H‰Qˆq‹T�Z‰Z‹\˜AÑ SÔ)€Ù€qƒT‡Z�Zƒ\€Ø€r‡x�x�—‘˜sÔ#€Ø€€Rˆ%�ZÑ Ø$%€€bˆE�k�b˜4‘iÑ Ñ !Ø€€Rˆ$�Y�ñ  ¸ÔA€á�SÔØÙ�S¨kÔ:Ù€cˆ;Ó™#¨3ÀKÔPÑPð	€ð +2ÖL °V¸|Ó5K’VÒLÐ ð ‡�×Ñ˜ 7Ó+ñJó ,ðJòJð ‡�×Ñ˜Ð#4Ó5ñó 6ðð ‡�×Ñ˜ 7Ó+ñó ,ðð ‡�×Ñ˜ 7Ó+ñ;ó ,ð;ð ‡�×Ñ˜Ð#4Ó5ñ
ó 6ð
ð ‡�×Ñ˜ 7Ó+ñ	>ó ,ð	>òð. ‡�×Ñ˜Ð#4Ó5ñ3ó 6ð3ð2 ‡�×Ñ˜ 7Ó+ñ	5ó ,ð	5ð ‡�×Ñ˜ 7Ó+ñ
*ó ,ð
*òF
ðR ‡�×ÑØ!ð ‘~ aÓ(Ð)ØØ/ð	
ðó	ñó	ñùòS Ms   Å 
J<ÅJ<