Ë
    8Ò^j—.  ã            
       ó„  — 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 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mZ d„ Z ej4                   ej6                  ddd«      «      j8                  Z ej4                  g d¢«      j8                  Z ej>                   ee«      jA                  «       dkD  e!¬«      Z" ee«      jA                  «       Z# ejH                  e"jJ                  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jT                  jW                  de(«      d„ «       Z,d„ Z-ejT                  jW                  de)«      d„ «       Z.ejT                  jW                  de(«      d„ «       Z/ejT                  jW                  de(«      d „ «       Z0ejT                  jW                  de)«      d!„ «       Z1ejT                  je                  e3d"¬#«      ejT                  jW                  de)«      ejT                  jW                  d$ ejh                  d%d&d'«      «      d(„ «       «       «       Z5d)„ Z6ejT                  jW                  de)«      d*„ «       Z7ejT                  jW                  de(«      d+„ «       Z8ejT                  jW                  de(«      d,„ «       Z9d-„ Z:ejT                  jW                  d.d ed«      ie;d/fg«      d0„ «       Z<ejT                  jW                  de(«      d1„ «       Z=d2„ Z>d3„ Z?yc c} w )4z+Testing for Gaussian process classificationé    N)Úapprox_fprime)Úclone)ÚConvergenceWarning)ÚGaussianProcessClassifier)ÚRBFÚCompoundKernelÚWhiteKernel)ÚConstantKernel)ÚMiniSeqKernel)Úassert_allcloseÚassert_almost_equalÚassert_array_equalc                 ó,   — t        j                  | «      S )N)ÚnpÚsin)Úxs    úr/var/www/ramen.bs-engineer-server.com/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_consistentr1   7   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&   r0   s       r   Ú"test_predict_consistent_structuredr<   >   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_improvingrA   G   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   r>   r?   r@   r/   s     r   Útest_lml_precomputedrD   P   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_kernelrC   )r   r*   r+   r,   r   Úonesr?   r@   ÚshapeÚfloat64r>   r   )r&   r0   Úinput_thetas      r   Útest_lml_without_cloning_kernelrK   Y   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,   r>   r?   r@   r   ÚallÚabsÚbounds)r&   r0   ÚlmlÚlml_gradients       r   Útest_converged_to_local_maximumrS   c   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   z9https://github.com/scikit-learn/scikit-learn/issues/31366)ÚraisesÚreasonr    éýÿÿÿé   é   c                 ó†  ‡— t        | «      } t        d„ | j                  «       D «       «      } | j                  di ||i¤Ž t	        | ¬«      j                  t        t        «      Š‰j                  | j                  d¬«      \  }}d}t        | j                  j                  «       ˆfd„|¬«      }t        ||d|d	z  ¬
«       y )Nc              3   óD   K  — | ]  }|j                  d «      sŒ|–— Œ y­w)r    N)Úendswith)Ú.0Únames     r   ú	<genexpr>z$test_lml_gradient.<locals>.<genexpr>{   s    è ø€ ò #Ø°·±¸nÕ0MŒñ#ùs   ‚ ™ r(   T©Úeval_gradientg•Ö&è.>c                 ó(   •— ‰j                  | d«      S )NF)r>   )r@   Úgprs    €r   ú<lambda>z#test_lml_gradient.<locals>.<lambda>†   s   ø€ �c×1Ñ1°%¸Ó?€ r   )ÚepsilonrM   éd   )ÚrtolÚatol© )r   ÚnextÚ
get_paramsÚ
set_paramsr   r*   r+   r,   r>   r@   r   Úcopyr   )r&   r    Úlength_scale_param_nameÚ_rR   rd   Úlml_gradient_approxrb   s          @r   Útest_lml_gradientrp   q   s¼   ø€ ô �6‹]€FÜ"ñ #Ø×*Ñ*Ó,ô#ó Ðð €F×ÑÑ@Ð0°,Ð?Ò@ô $¨6Ô
2×
6Ñ
6´q¼!Ó
<€CØ×1Ñ1°&·,±,ÈdÐ1ÓS�O€A€|Ø€GÜ'Ø�‰×ÑÓÛ?ØôÐô
 �LÐ"5¸DÀwÐQTÁ}ÖUr   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   )ÚaxisrW   r   r   r$   r"   )rM   r%   r   é   )r&   Ún_restarts_optimizerÚrandom_state)r   ÚrandomÚRandomStateÚrandnr   ÚsumÚCr   ÚinfÚranger   r*   r>   r?   r@   ÚfinfoÚfloat32Úeps)Úglobal_random_seedÚ	n_samplesÚ
n_featuresÚrngr+   r,   r&   Úlast_lmlru   ÚgprQ   s              r   Útest_random_startsr‡   Œ   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 )NFr_   r   éþÿÿÿr   r   )r   rw   rx   r}   Ú
atleast_1dÚuniformÚmaximumÚminimum)
Úobj_funcÚinitial_thetarP   r„   Ú	theta_optÚfunc_minrn   r@   r   r�   s
            €r   Ú	optimizerz(test_custom_optimizer.<locals>.optimizer§   s¯   ø€ Ü�i‰i×#Ñ#Ð$6Ó7ˆàÙ�]°%Ô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&   r“   )r   r*   r+   Úy_mcr>   r?   r@   )r&   r�   r“   r0   s    `  r   Útest_custom_optimizerr•   £   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+   r”   r.   ÚX2r   rz   r-   r   r   Úargmax)r&   r0   Ú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+   r”   r.   r—   r   )r&   r0   Ú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&   r0   Ú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¢   Nrh   )r   r§   rT   r*   r+   r,   )ÚparamsÚ
error_typeÚerr_msgr0   s       r   Útest_gpc_fit_errorr½   "  sA   € ô $Ñ
- fÑ
-€CÜ	�‰�z¨Ô	1ñ Ø�‰””1Œ÷÷ ñ ús   £AÁAc                 ó  — t        | ¬«      }|j                  t        t        «       |j	                  t        «      \  }}|j
                  t        j
                  d   fk(  sJ ‚|j
                  t        j
                  d   fk(  sJ ‚y)ú>Checks that the latent mean and variance have the right shape.r(   r   N)r   r*   r+   r,   Úlatent_mean_and_variancerH   )r&   r0   Úlatent_meanÚlatent_variances       r   Ú'test_gpc_latent_mean_and_variance_shaperÃ   3  sn   € ô $¨6Ô
2€CØ‡G�GŒAŒq„Mð $'×#?Ñ#?ÄÓ#BÑ €K�Ø×Ñ¤§¡¨¡ Ò-Ð-Ð-Ø× Ñ ¤Q§W¡W¨Q¡Z MÒ1Ð1Ñ1r   c                  óê   — t        t        «       ¬«      } | j                  t        t        «       t        j                  t        d¬«      5  | j                  t        «       ddd«       y# 1 sw Y   yxY w)r¿   r(   zdReturning the mean and variance of the latent function f is only supported for binary classificationr¢   N)	r   r   r*   r+   r”   r§   rT   Ú
ValueErrorrÀ   )r0   s    r   ÚAtest_gpc_latent_mean_and_variance_complain_on_more_than_2_classesrÆ   ?  sW   € ä
#¬3«5Ô
1€CØ‡G�GŒAŒtÔô 
�‰Üð6ô
ñ (ð
 	×$Ñ$¤QÔ'÷(÷ (ñ (ús   Á
A)Á)A2c                  ó¬   — g d¢} t        j                  g d¢«      }t        d¬«      }t        |¬«      j	                  | |«      }|j                  | «       y )Nr3   r7   r   r8   r(   )r   r:   r   r   r*   rÀ   r;   s       r   Ú9test_latent_mean_and_variance_works_on_structured_kernelsrÈ   M  sE   € Ú€AÜ
�‰Ò$Ó%€AÜ°gÔ>€FÜ
#¨6Ô
2×
6Ñ
6°q¸!Ó
<€Cà× Ñ  Õ#r   )@Ú__doc__r©   Únumpyr   r§   Úscipy.optimizer   Úsklearn.baser   Ú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   r   Ú
atleast_2dÚlinspaceÚTr+   r—   r:   ÚravelÚintr,   ÚfXÚemptyrH   r”   Úfixed_kernelÚkernelsÚnon_fixed_kernelsÚmarkÚparametrizer1   r<   rA   rD   rK   rS   ÚxfailÚAssertionErrorÚlogspacerp   r‡   r•   r›   r    r¸   rÅ   r½   rÃ   rÆ   rÈ   r(   s   0r   ú<module>rá      s‚  ðÙ 1ó
 ã Û Ý (å Ý 1Ý >÷ñ õ
õ O÷ñ òð €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ð
ð ‡�×ÑØØFð ó ð ‡�×Ñ˜Ð#4Ó5Ø‡�×Ñ˜¨¨¯©°R¸¸BÓ)?Ó@ñVó Aó 6ó	ðVò*ð. ‡�×Ñ˜Ð#4Ó5ñ3ó 6ð3ð4 ‡�×Ñ˜ 7Ó+ñ	5ó ,ð	5ð ‡�×Ñ˜ 7Ó+ñ
*ó ,ð
*òF
ðR ‡�×ÑØ!ð ‘~ aÓ(Ð)ØØ/ð	
ðó	ñó	ðð ‡�×Ñ˜ 7Ó+ñ2ó ,ð2ò(ó$ùòs Ms   Å
L=ÅL=