Ë
    ÷Q(h�  ã                   óÆ  — 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	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ d dl m!Z! d dl"m#Z#m$Z$ d dl%m&Z& d dl'm(Z( ejR                  d„ «       Z*ejR                  d„ «       Z+ejX                  j[                  d e«       df e«       df e! e$«        e«       «      df e! e$«        e«       «      df e$«       df e«       df e«       df e e$«       d gf e#«       dgf«      dfg«      ejX                  j[                  dg d¢«      d„ «       «       Z. ed¬«      d„ «       Z/d„ Z0d„ Z1d„ Z2d„ Z3d „ Z4y)!é    N)Úassert_array_equal)Úconfig_context)ÚBaseEstimatorÚcloneÚis_classifierÚis_clustererÚis_outlier_detectorÚis_regressor)ÚKMeans)Úmake_column_transformer)Úmake_classificationÚmake_regression)ÚNotFittedErrorÚUnsetMetadataPassedError)ÚFrozenEstimator)ÚLinearRegressionÚLogisticRegression)ÚLocalOutlierFactor)Úmake_pipeline)ÚRobustScalerÚStandardScaler)Úset_random_state)Úcheck_is_fittedc                  ó   — t        «       S ©N)r   © ó    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/frozen/tests/test_frozen.pyÚregression_datasetr       s   € äÓÐr   c                  ó   — t        «       S r   )r   r   r   r   Úclassification_datasetr!   %   s   € äÓ Ð r   zestimator, datasetr   r!   é   Úmethod)ÚpredictÚpredict_probaÚpredict_log_probaÚdecision_functionÚ	transformc                 óÞ  — |j                  |«      \  }}t        | «       | j                  ||«       t        | «      }|j                  dggdg«       t	        | |«      r,t         t        | |«      |«       t        ||«      |«      «       t        | «      t        |«      k(  sJ ‚t        | «      t        |«      k(  sJ ‚t        | «      t        |«      k(  sJ ‚t        | «      t        |«      k(  sJ ‚y)zžTest that frozen.fit doesn't do anything, and that all other methods are
    exposed by the frozen estimator and return the same values as the estimator.
    r"   N)Úgetfixturevaluer   Úfitr   Úhasattrr   Úgetattrr   r
   r   r	   )Ú	estimatorÚdatasetÚrequestr#   ÚXÚyÚfrozens          r   Útest_frozen_methodsr4   *   sà   € ð< ×"Ñ" 7Ó+�D€A€qÜ�YÔØ‡M�M�!�QÔÜ˜YÓ'€Fà
‡J�J��ˆu�q�cÔäˆy˜&Ô!ÜÐ5œ7 9¨fÓ5°aÓ8Ð:Q¼'À&È&Ó:QÐRSÓ:TÔUä˜Ó#¤}°VÓ'<Ò<Ð<Ð<Ü˜	Ó"¤l°6Ó&:Ò:Ð:Ð:Ü˜	Ó"¤l°6Ó&:Ò:Ð:Ð:Ü˜yÓ)Ô-@ÀÓ-HÒHÐHÑHr   T)Úenable_metadata_routingc                 óž  —  G d„ dt         «      }| \  }}t         |dd¬«      j                  d¬«      j                  d¬«      «      }|j	                  ||d¬«       t        |«      }|j                  |d¬«       |j                  |d¬«       |d   j                  d¬«       t        j                  t        t        j                  d	«      ¬
«      5  |j                  |d¬«       ddd«       |d   j                  d¬«       t        j                  t        «      5  |j                  |d¬«       ddd«       y# 1 sw Y   ŒTxY w# 1 sw Y   yxY w)z8Test that metadata routing works with frozen estimators.c                   ó$   — e Zd Zdd„Zdd„Zdd„Zy)ú6test_frozen_metadata_routing.<locals>.ConsumesMetadataNc                 ó    — || _         || _        y r   ©Úon_fitÚ
on_predict)Úselfr;   r<   s      r   Ú__init__z?test_frozen_metadata_routing.<locals>.ConsumesMetadata.__init__]   s   € Ø ˆDŒKØ(ˆD�Or   c                 ó4   — | j                   r|€J ‚d| _        | S ©NT)r;   Úfitted_)r=   r1   r2   Úmetadatas       r   r+   z:test_frozen_metadata_routing.<locals>.ConsumesMetadata.fita   s!   € Ø�{Š{ØÐ+Ð+Ð+ØˆDŒLØˆKr   c                 ó^   — | j                   r|€J ‚t        j                  t        |«      «      S r   )r<   ÚnpÚonesÚlen)r=   r1   rB   s      r   r$   z>test_frozen_metadata_routing.<locals>.ConsumesMetadata.predictg   s'   € Ø�ŠØÐ+Ð+Ð+Ü—7‘7œ3˜q›6“?Ð"r   )NNr   )Ú__name__Ú
__module__Ú__qualname__r>   r+   r$   r   r   r   ÚConsumesMetadatar8   \   s   „ ó	)ó	ô	#r   rJ   Tr:   )rB   ÚtestÚconsumesmetadataFz]Pipeline.predict got unexpected argument(s) {'metadata'}, which are not routed to any object.©ÚmatchN)r   r   Úset_fit_requestÚset_predict_requestr+   r   r$   ÚpytestÚraisesÚ	TypeErrorÚreÚescaper   )r   rJ   r1   r2   Úpipeliner3   s         r   Útest_frozen_metadata_routingrW   X   s6  € ô#œ=ô #ð  �D€A€qÜÙ °Ô6ß	‰ $ˆÓ	'ß	Ñ	 dÐ	Ó	+ó€Hð ‡L�L��A €LÔ'Ü˜XÓ&€FØ×Ñ�Q ÐÔ(Ø
‡N�N�1˜v€NÔ&à
ÐÑ×2Ñ2¸EÐ2ÔBÜ	�‰ÜÜ�i‰ið$ó
ô
ñ +ð 	�‰�q 6ˆÔ*÷+ð ÐÑ×2Ñ2¸DÐ2ÔAÜ	�‰Ô/Ó	0ñ +Ø�‰�q 6ˆÔ*÷+ð +÷+ð +ú÷+ð +ús   ÃD7ÄEÄ7E ÅEc                 ó’  —  G d„ dt         «      }| \  }} |«       j                  ||«      }t        |«      }t        j                  t
        «      5  |j                  ||«       ddd«       t        j                  t
        «      5  |j                  ||«       ddd«       |j                  dk(  sJ ‚y# 1 sw Y   ŒOxY w# 1 sw Y   Œ'xY w)zATest that calling fit_transform and fit_predict doesn't call fit.c                   ó"   — e Zd Zd„ Zdd„Zdd„Zy)ú%test_composite_fit.<locals>.Estimatorc                 ó`   — 	 | xj                   dz  c_         | S # t        $ r d| _         Y | S w xY w)Nr"   )Ú_fit_counterÚAttributeError©r=   r1   r2   s      r   r+   z)test_composite_fit.<locals>.Estimator.fit‹   s=   € ð&Ø×!Ò! QÑ&Õ!ð ˆKøô "ò &Ø$%�Õ!ØˆKð&ús   ‚ ™-¬-Nc                  ó   — y r   r   r^   s      r   Úfit_transformz3test_composite_fit.<locals>.Estimator.fit_transform’   ó   € àr   c                  ó   — y r   r   r^   s      r   Úfit_predictz1test_composite_fit.<locals>.Estimator.fit_predict–   ra   r   r   )rG   rH   rI   r+   r`   rc   r   r   r   Ú	EstimatorrZ   Š   s   „ ò	ó	ô	r   rd   Nr"   )	r   r+   r   rQ   rR   r]   rc   r`   r\   )r!   rd   r1   r2   Úestr3   s         r   Útest_composite_fitrf   ‡   s­   € ô”Mô ð  "�D€A€qÙ
‹+�/‰/˜!˜QÓ
€CÜ˜SÓ!€Fä	�‰”~Ó	&ñ !Ø×Ñ˜1˜aÔ ÷!ä	�‰”~Ó	&ñ #Ø×Ñ˜Q Ô"÷#ð ×Ñ !Ò#Ð#Ñ#÷!ð !ú÷#ð #ús   ÁB1ÂB=Â1B:Â=Cc                 óŽ   — | \  }}t        «       j                  ||«      }t        |«      }t        |«      }|j                  |u sJ ‚y)z<Test that cloning a frozen estimator keeps the frozen state.N)r   r+   r   r   r.   )r   r1   r2   r.   r3   Úcloneds         r   Útest_clone_frozenri   ¦   sG   € à�D€A€qÜ Ó"×&Ñ& q¨!Ó,€IÜ˜YÓ'€FÜ�6‹]€FØ×Ñ˜yÑ(Ð(Ñ(r   c                 ó
  — | \  }}t        «       }t        |«      }t        j                  t        «      5  t        |«       ddd«       t        «       j                  ||«      }t        |«      }t        |«       y# 1 sw Y   Œ:xY w)z5Test that check_is_fitted works on frozen estimators.N)r   r   rQ   rR   r   r   r+   )r   r1   r2   r.   r3   s        r   Útest_check_is_fittedrk   ¯   so   € à�D€A€qä Ó"€IÜ˜YÓ'€FÜ	�‰”~Ó	&ñ  Ü˜Ô÷ ô !Ó"×&Ñ& q¨!Ó,€IÜ˜YÓ'€FÜ�FÕ÷ ð  ús   ´A9Á9Bc                  ó.  —  G d„ dt         «      }  | «       }t        |«      }|j                  «       }|j                  «       }|j                  du sJ ‚|j                  du sJ ‚|j                  j
                  du sJ ‚|j                  j
                  du sJ ‚y)zjTest that frozen estimators have the same tags as the original estimator
    except for the skip_test tag.c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ú#test_frozen_tags.<locals>.Estimatorc                 óF   •— t         ‰| �  «       }d|j                  _        |S r@   )ÚsuperÚ__sklearn_tags__Ú
input_tagsÚcategorical)r=   ÚtagsÚ	__class__s     €r   rq   z4test_frozen_tags.<locals>.Estimator.__sklearn_tags__Â   s!   ø€ Ü‘7Ñ+Ó-ˆDØ*.ˆD�O‰OÔ'ØˆKr   )rG   rH   rI   rq   Ú__classcell__)ru   s   @r   rd   rn   Á   s   ø„ ÷	ð 	r   rd   TFN)r   r   rq   Ú
_skip_testrr   rs   )rd   r.   r3   Úfrozen_tagsÚestimator_tagss        r   Útest_frozen_tagsrz   ½   s™   € ô”Mô ñ “€IÜ˜YÓ'€FØ×)Ñ)Ó+€KØ×/Ñ/Ó1€Nà×!Ñ! TÑ)Ð)Ð)Ø×$Ñ$¨Ñ-Ð-Ð-à×$Ñ$×0Ñ0°DÑ8Ð8Ð8Ø×!Ñ!×-Ñ-°Ñ5Ð5Ñ5r   c                  óF  — t        «       } t        | «      }t        j                  t        d¬«      5  |j                  d¬«       ddd«       |j                  «       d| ik(  sJ ‚t        «       }|j                  |¬«       |j                  «       d|ik(  sJ ‚y# 1 sw Y   ŒTxY w)z?Test that FrozenEstimator only exposes the estimator parameter.z&You cannot set parameters of the innerrM   r"   )Úestimator__CNr.   )r.   )r   r   rQ   rR   Ú
ValueErrorÚ
set_paramsÚ
get_paramsr   )re   r3   Ú	other_ests      r   Útest_frozen_paramsr�   Ó   sœ   € ä
Ó
€CÜ˜SÓ!€Fä	�‰”zÐ)QÔ	Rñ *Ø×Ñ qÐÔ)÷*ð ×ÑÓ ;°Ð"4Ò4Ð4Ð4ä"Ó$€IØ
×Ñ 	ÐÔ*Ø×ÑÓ ;°	Ð":Ò:Ð:Ñ:÷*ð *ús   ±BÂB )5rT   ÚnumpyrD   rQ   Únumpy.testingr   Úsklearnr   Úsklearn.baser   r   r   r   r	   r
   Úsklearn.clusterr   Úsklearn.composer   Úsklearn.datasetsr   r   Úsklearn.exceptionsr   r   Úsklearn.frozenr   Úsklearn.linear_modelr   r   Úsklearn.neighborsr   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   Úsklearn.utils._testingr   Úsklearn.utils.validationr   Úfixturer   r!   ÚmarkÚparametrizer4   rW   rf   ri   rk   rz   r�   r   r   r   ú<module>r”      sŠ  ðó 
ã Û Ý ,å "÷÷ õ #Ý 3ß Aß GÝ *ß EÝ 0Ý *ß >Ý 3Ý 4ð ‡�ñó ðð ‡�ñ!ó ð!ð ‡�×ÑØá	Ó	Ð1Ð2Ù	Ó	Ð7Ð8Ù	‘~Ó'Ñ)9Ó);Ó	<Ð>RÐSá™.Ó*Ñ,>Ó,@ÓAØ$ð	
ñ 
Ó	Ð/Ð0Ù	‹Ð'Ð(Ù	Ó	Ð3Ð4á#ÙÓ! A 3Ð'Ù“ ! Ð%óð !ð	
ðóð, ‡�×ÑØÚWóñIó	ó-ð4Iñ( ¨Ô-ñ++ó .ð++ò\$ò>)òò6ó,;r   