Ë
    êÿæix  ã            
       ó’  — 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
 d dlmZmZmZmZ d dlmZ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mZm Z m!Z!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-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z:m;Z; d dl<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d„ ZCd„ ZDd„ ZEejŒ                  j�                  de@e?z   e>z   eBz   eAz   e=z   «      d„ «       ZHd„ ZId„ ZJd„ ZK ej˜                  «       ZMeMjœ                  ZOeMj                   ZQ e7eQd¬«      ZR e7eQd¬«      ZS ej¨                  eQeReSf«      ZUeOj¬                  \  ZWZXeUj¬                  d   ZY eZ ej¶                  eQ«      «      Z\ e] e^ej¶                  eQeReSf«      «      Z_ejŒ                  jÀ                  d „ «       Zad!„ Zbd"„ Zcd#„ Zdd$„ Zed%„ Zfd&„ Zgd'„ Zhd(„ Zid)„ Zjd*„ ZkejŒ                  j�                  d+d,d-g«      d.„ «       Zld/„ Zmd0„ ZnejŒ                  j�                  d1d-d2g«      d3„ «       ZoejŒ                  j�                  d4e@«      d5„ «       Zpd6„ ZqejŒ                  j�                  d1g d7¢«      ejŒ                  j�                  d+d,d8g«      d9„ «       «       Zrd:„ ZsejŒ                  j�                  d4e@«      d;„ «       Ztd<„ ZuejŒ                  j�                  d=g d>¢«      d?„ «       ZvejŒ                  j�                  d@ ed¬A«       e- ed¬A«      «       e, ed¬A«      «      g«      dB„ «       Zw G dC„ dDe«      Zx G dE„ dFe«      ZyejŒ                  j�                  dG e- eydH¬I«      «       ej                  «       f e. ex«       «       ej                  dJd ¬K«      fg«      dL„ «       ZzdM„ Z{ejŒ                  j�                  dNe-efe.e fg«      dO„ «       Z|ejŒ                  j�                  dPe]ejú                  e~g«      dQ„ «       ZdR„ Z€dS„ Z�dT„ Z‚dU„ ZƒejŒ                  j�                  dVe,dWfe-dXfg«      dY„ «       Z„dZ„ Z…ejŒ                  j�                  d[e,e/g«      d\„ «       Z†y)]é    N)Ú	cpu_count)Údatasets)ÚClassifierMixinÚclone)Úload_linnerudÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚDummyClassifierÚDummyRegressor)ÚGradientBoostingRegressorÚRandomForestClassifierÚStackingRegressor)ÚNotFittedError)ÚSimpleImputer)ÚLassoÚLinearRegressionÚLogisticRegressionÚOrthogonalMatchingPursuitÚRidgeÚSGDClassifierÚSGDRegressor)Újaccard_scoreÚmean_squared_error)ÚGridSearchCVÚtrain_test_split)ÚOneVsRestClassifier)ÚClassifierChainÚMultiOutputClassifierÚMultiOutputRegressorÚRegressorChain)Úmake_pipeline)Ú	LinearSVC)ÚDecisionTreeClassifier)Úshuffle)Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)ÚBSR_CONTAINERSÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERSc                  ó¬  — t        j                  dd¬«      \  } }| d d |d d }}| dd  |dd  }}t        j                  |«      }t	        d«      D ]?  }t        d¬«      }|j                  ||d d …|f   «       |j                  |«      |d d …|f<   ŒA t        t        d¬«      «      }|j                  ||«       |j                  |«      }	t        ||	«       y ©Né   r   ©Ú	n_targetsÚrandom_stateé2   ©r4   )
r   r
   ÚnpÚ
zeros_likeÚranger   ÚfitÚpredictr    r&   )
ÚXÚyÚX_trainÚy_trainÚX_testÚy_testÚ
referencesÚnÚrgrÚy_preds
             ús/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sklearn/tests/test_multioutput.pyÚtest_multi_target_regressionrG   <   sÍ   € Ü×#Ñ#¨a¸aÔ@�D€A€qØ˜˜"�v˜q  "˜vˆW€GØ�r�s�V˜Q˜r˜s˜VˆF€Fä—‘˜vÓ&€JÜ�1ŽXˆÜ'°QÔ7ˆØ�‰�˜¢ A ™Ô'ØŸ;™; vÓ.ˆ
’1�a�4Òð ô
 Ô8ÀaÔHÓ
I€CØ‡G�GˆG�WÔØ�[‰[˜Ó €Fä˜
 FÕ+ó    c                  ód  — t        j                  dd¬«      \  } }| d d |d d }}| dd  |dd  }}t        j                  |«      }d}t	        d«      D ]_  }t        dd¬«      }	|	j                  |d | |d |…|f   «       |	j                  ||d  ||d …|f   «       |	j                  |«      |d d …|f<   Œa t        t        dd¬«      «      }	|	j                  |d | |d | «       |	j                  ||d  ||d  «       |	j                  |«      }
t        ||
«       t        t        t        «      d«      rJ ‚y )	Nr1   r   r2   r5   é   é   ©r4   Úmax_iterÚpartial_fit)r   r
   r7   r8   r9   r   rN   r;   r    r&   Úhasattrr   )r<   r=   r>   r?   r@   rA   rB   Ú
half_indexrC   ÚsgrrE   s              rF   Ú(test_multi_target_regression_partial_fitrR   N   sD  € Ü×#Ñ#¨a¸aÔ@�D€A€qØ˜˜"�v˜q  "˜vˆW€GØ�r�s�V˜Q˜r˜s˜VˆF€Fä—‘˜vÓ&€JØ€JÜ�1ŽXˆÜ¨°AÔ6ˆØ�‰˜  Ð,¨g°k°z°kÀ1°nÑ.EÔFØ�‰˜ 
 Ð,¨g°j±kÀ1°nÑ.EÔFØŸ;™; vÓ.ˆ
’1�a�4Òð	 ô œ|¸ÀQÔGÓ
H€Cà‡O�O�G˜K˜ZÐ(¨'°+°:Ð*>Ô?Ø‡O�O�G˜J˜KÐ(¨'°*°+Ð*>Ô?à�[‰[˜Ó €FÜ˜
 FÔ+ÜÔ+¬EÓ2°MÔBÐBÐBÐBrH   c                  óê   — t        j                  dd¬«      \  } }t        t        d¬«      «      }d}t	        j
                  t        |¬«      5  |j                  | |«       d d d «       y # 1 sw Y   y xY w)Né   r   r2   r6   zat least two dimensions©Úmatch)r   r
   r    r   ÚpytestÚraisesÚ
ValueErrorr:   )r<   r=   rD   Úmsgs       rF   Ú'test_multi_target_regression_one_targetr[   e   sT   € ä×#Ñ#¨a¸aÔ@�D€A€qÜ
Ô8ÀaÔHÓ
I€CØ
#€CÜ	�‰”z¨Ö	-Ø�‰��1Œ÷ 
.×	-Ñ	-ús   ÁA)Á)A2Úsparse_containerc                 ó^  — t        j                  dd¬«      \  }}|d d |d d }}|dd  }t        t        d¬«      «      }t        t        d¬«      «      }|j	                  ||«       |j	                   | |«      |«       t        |j                  |«      |j                   | |«      «      «       y r0   )r   r
   r    r   r:   r&   r;   )r\   r<   r=   r>   r?   r@   rD   Ú
rgr_sparses           rF   Ú#test_multi_target_sparse_regressionr_   n   s¡   € ô ×#Ñ#¨a¸aÔ@�D€A€qØ˜˜"�v˜q  "˜vˆW€GØˆrˆsˆV€Fä
œu°!Ô4Ó
5€CÜ%¤e¸Ô&;Ó<€Jà‡G�GˆG�WÔØ‡N�NÑ# GÓ,¨gÔ6äØ�‰�FÓ˜Z×/Ñ/Ñ0@ÀÓ0HÓIõrH   c                  ó,  — g d¢g d¢g} ddgddgg}ddg}t        t        «       «      }d}t        j                  t        |¬«      5  |j                  | ||«       d d d «       t        t        d	¬
«      «      }|j                  | ||«       y # 1 sw Y   Œ2xY w)N©rT   é   r1   ©é   rK   é   çTã¥›Ä 	@çX9´Èv¾@gš™™™™™é?g333333ã?zdoes not support sample weightsrU   r   r6   )r    r   rW   rX   rY   r:   r   )r<   r=   ÚwrD   rZ   s        rF   Ú$test_multi_target_sample_weights_apiri   ‡   sˆ   € Ú	’IÐ€AØ
�ˆ˜% ˜Ð(€AØ	ˆcˆ
€Aä
Ô8Ó:Ó
;€CØ
+€CÜ	�‰”z¨Ö	-Ø�‰��1�aÔ÷ 
.ô Ô8ÀaÔHÓ
I€CØ‡G�GˆAˆq�!Õ÷ 
.Ð	-ús   ÁB
Â
Bc                  ó:  — g d¢g d¢g} ddgddgg}ddg}t        t        dd¬	«      «      }|j                  | ||«       ddg}t        t        dd¬	«      «      }|j                  | ||«       |j                  | «      d   d   |j                  | «      d   d   k7  sJ ‚y )
Nra   rc   rf   rg   ç       @ç      ð?r   rK   rL   )r    r   rN   r;   )r<   r=   rh   Úrgr_wrD   s        rF   Ú+test_multi_target_sample_weight_partial_fitrn   –   s©   € â	’IÐ€AØ
�ˆ˜% ˜Ð(€AØ	ˆcˆ
€AÜ ¤¸1ÀqÔ!IÓJ€EØ	×Ñ�a˜˜AÔð 
ˆcˆ
€AÜ
œ|¸ÀQÔGÓ
H€CØ‡O�O�A�q˜!Ôà�;‰;�q‹>˜!Ñ˜QÑ 5§=¡=°Ó#3°AÑ#6°qÑ#9Ò9Ð9Ñ9rH   c                  óZ  — g d¢g d¢g} ddgddgg}ddg}t        t        d¬«      «      }|j                  | ||«       g d¢g d¢g d¢g}ddgddgddgg}t        t        d¬«      «      }|j                  ||«       g d	¢g d
¢g}t        |j	                  |«      |j	                  |«      «       y )Nra   rc   rf   rg   rk   rl   r   r6   ©g      ø?g      @ç      @©rq   g      @g      @)r    r   r:   r&   r;   )ÚXwÚywrh   rm   r<   r=   rD   r@   s           rF   Ú test_multi_target_sample_weightsru   ¦   s°   € â
’YÐ	€BØ�%ˆ.˜5 %˜.Ð	)€BØ	ˆcˆ
€AÜ Ô!:ÈÔ!JÓK€EØ	‡I�Iˆb�"�aÔò 
’IšyÐ)€AØ
�ˆ˜% ˜¨%°¨Ð8€AÜ
Ô8ÀaÔHÓ
I€CØ‡G�GˆAˆq„MâšÐ/€FÜ˜Ÿ™ FÓ+¨U¯]©]¸6Ó-BÕCrH   rT   r6   rb   c                  ó  — t        ddd¬«      } t        | d¬«      }|j                  t        t        t
        «       |j                  d   }|j                  t        t        «       |j                  d   }t        «       dkD  r||usJ ‚y y )NÚlog_lossrT   rK   ©Úlossr4   rM   rd   )Ún_jobsr   )r   r   rN   r<   r=   ÚclassesÚestimators_r   )Úsgd_linear_clfÚmorÚest1Úest2s       rF   Ú8test_multi_output_classification_partial_fit_parallelismr�   È   sr   € ä"¨
ÀÈQÔO€NÜ
 °qÔ
9€CØ‡O�O”A”qœ'Ô"Ø�?‰?˜1Ñ€DØ‡O�O”A”qÔØ�?‰?˜1Ñ€DÜƒ{�Q‚à˜4ÑÐÑð rH   c                  ó  — t        dd¬«      } t        | «      }|j                  t        t        «       t        |d«      rJ ‚t        ddd¬«      } t        | «      }|j                  t        t        «       t        |d«      sJ ‚y )NrT   rK   rL   Úpredict_probarw   rx   )r   r   r:   r<   r=   rO   )r}   Úmulti_target_linears     rF   Ú'test_hasattr_multi_output_predict_probar…   Ö   sx   € ô #°¸AÔ>€NÜ/°Ó?ÐØ×ÑœAœqÔ!ÜÐ*¨OÔ<Ð<Ð<ô #¨
ÀÈQÔO€NÜ/°Ó?ÐØ×ÑœAœqÔ!ÜÐ&¨Ô8Ð8Ñ8rH   c                  ó  — t        dd¬«      } ddi}d„ }t        | ||dd¬	«      }t        |«      }|j                  t        t
        «       |j                  t        «       t        dd¬«      } t        | «      }|j                  t        t
        «       d
}d}d}t        j                  t        |¬«      5 }|j                  t        «       d d d «       t        j                  j                  t        «      sJ ‚|t        |j                  j                  «      v sJ ‚t        |j                  j                  j                  t        «      sJ ‚|t        |j                  j                  j                  «      v sJ ‚y # 1 sw Y   Œ°xY w)NrT   rK   rL   ry   )Úhingerw   Úmodified_huberc                 ó   — t        | d«      ryy)Nrƒ   rl   g        )rO   )Ú	estimatorr<   r=   s      rF   Úcustom_scorerz6test_multi_output_predict_proba.<locals>.custom_scorerë   s   € Ü�9˜oÔ.ØàrH   r1   Úraise)Ú
param_gridÚscoringÚcvÚerror_scorez8probability estimates are not available for loss='hinge'z0'SGDClassifier' has no attribute 'predict_proba'ú8'MultiOutputClassifier' has no attribute 'predict_proba'rU   )r   r   r   r:   r<   r=   rƒ   rW   rX   ÚAttributeErrorÚ
isinstanceÚvalueÚ	__cause__Ústr)	r}   Úparamr‹   Úgrid_clfr„   Ú
inner2_msgÚ
inner1_msgÚ	outer_msgÚ	exec_infos	            rF   Útest_multi_output_predict_probar�   æ   sD  € Ü"°¸AÔ>€NØÐ<Ð=€Eòô ØØØØØô€Hô 0°Ó9ÐØ×ÑœAœqÔ!à×%Ñ%¤aÔ(ô #°¸AÔ>€NÜ/°Ó?ÐØ×ÑœAœqÔ!àK€JØC€JØJ€IÜ	�‰”~¨YÕ	7¸9Ø×)Ñ)¬!Ô,÷ 
8ô �i—o‘o×/Ñ/´Ô@Ð@Ð@Øœ˜YŸ_™_×6Ñ6Ó7Ñ7Ð7Ð7ä�i—o‘o×/Ñ/×9Ñ9¼>ÔJÐJÐJØœ˜YŸ_™_×6Ñ6×@Ñ@ÓAÑAÐAÑA÷ 
8Ð	7ús   Â2E7Å7F c                  ó  — t        ddd¬«      } t        | «      }t        j                  d   dz  }|j	                  t        d | t
        d | t        ¬«       |j                  t        «      }t        t        f|j                  k(  sJ ‚|j	                  t        |d  t
        |d  «       |j                  t        «      }t        t        f|j                  k(  sJ ‚t        d«      D ]ª  }t        | «      } | j	                  t        d | t
        d |…|f   t        |   ¬«       t        | j                  t        «      |d d …|f   «       | j	                  t        |d  t
        |d …|f   «       t        | j                  t        «      |d d …|f   «       Œ¬ y )	Nrw   rT   rK   rx   r   rb   )r{   r1   )r   r   r<   ÚshaperN   r=   r{   r;   Ú	n_samplesÚ	n_outputsr9   r   r(   )r}   r„   rP   Úfirst_predictionsÚsecond_predictionsÚis         rF   Ú,test_multi_output_classification_partial_fitr¥     so  € ô #¨
ÀÈQÔO€NÜ/°Ó?Ðô —‘˜‘˜q‘€JØ×#Ñ#¤A k z N´A°k°z°NÌGÐ#ÔTà+×3Ñ3´AÓ6ÐÜ”yÐ!Ð%6×%<Ñ%<Ò<Ð<Ð<à×#Ñ#¤A j k N´A°j°k°NÔCØ,×4Ñ4´QÓ7ÐÜ”yÐ!Ð%7×%=Ñ%=Ò=Ð=Ð=ô �1ŽXˆä˜~Ó.ˆØ×"Ñ"ÜˆkˆzˆNœA˜k˜z˜k¨1˜nÑ-´w¸q±zð 	#ô 	
ô 	˜>×1Ñ1´!Ó4Ð6GÊÈ1ÈÑ6MÔNØ×"Ñ"¤1 Z [ >´1°Z±[À!°^Ñ3DÔEÜ˜>×1Ñ1´!Ó4Ð6HÊÈAÈÑ6NÕOñ rH   c                  óÎ   — t        ddd¬«      } t        | «      }d}t        j                  t        |¬«      5  |j                  t        t        «       d d d «       y # 1 sw Y   y xY w)Nrw   rT   rK   rx   z8classes must be passed on the first call to partial_fit.rU   )r   r   rW   rX   rY   rN   r<   r=   )r}   r„   rZ   s      rF   ÚGtest_multi_output_classification_partial_fit_no_first_classes_exceptionr§   /  sJ   € Ü"¨
ÀÈQÔO€NÜ/°Ó?ÐØ
D€CÜ	�‰”z¨Ö	-Ø×'Ñ'¬¬1Ô-÷ 
.×	-Ñ	-ús   ·AÁA$c                  ó  — t        dd¬«      } t        | «      }|j                  t        t        «       |j                  t        «      }t        t        f|j                  k(  sJ ‚|j                  t        «      }t        |«      t        k(  sJ ‚|D ]  }t        t        f|j                  k(  rŒJ ‚ t        t        j                  t        j                  |«      d¬«      |«       t!        d«      D ]•  }t#        | «      }|j                  t        t        d d …|f   «       t%        |j                  t        «      «      t%        |d d …|f   «      k(  sJ ‚t        t%        |j                  t        «      «      t%        ||   «      «       Œ— y )Né
   rT   ©Ún_estimatorsr4   ©Úaxisr1   )r   r   r:   r<   r=   r;   r    r¡   rŸ   rƒ   ÚlenÚ	n_classesr(   r7   ÚargmaxÚdstackr9   r   Úlist)ÚforestÚmulti_target_forestÚpredictionsrƒ   Úclass_probabilitiesr¤   Úforest_s          rF   Ú test_multi_output_classificationr¸   7  s;  € ô $°À!ÔD€FÜ/°Ó7Ðð ×ÑœAœqÔ!à%×-Ñ-¬aÓ0€KÜ”yÐ! [×%6Ñ%6Ò6Ð6Ð6à'×5Ñ5´aÓ8€Mäˆ}Ó¤Ò*Ð*Ð*Û,ÐÜœ9Ð%Ð)<×)BÑ)BÓBÐBÐBð  -ô ”r—y‘y¤§¡¨=Ó!9ÀÔBÀKÔPô �1ŽXˆÜ˜“-ˆØ�‰”A”qš˜A˜‘wÔÜ�G—O‘O¤AÓ&Ó'¬4°ºA¸q¸DÑ0AÓ+BÒBÐBÐBÜœ4 × 5Ñ 5´aÓ 8Ó9¼4ÀÈaÑ@PÓ;QÕRñ	 rH   c                  óº  — t        d¬«      } t        | «      }t        |«      }|j                  t        t
        «       |j                  t        «      }t        t        f|j                  k(  sJ ‚t        d«      D ]a  }t        |«      }|j                  t        t
        d d …|f   «       t        |j                  t        «      «      t        |d d …|f   «      k(  rŒaJ ‚ y )Nr   r6   r1   )r#   r   r   r:   r<   r=   r;   r    r¡   rŸ   r9   r   r²   )ÚsvcÚmulti_class_svcÚmulti_target_svcrµ   r¤   Úmulti_class_svc_s         rF   Ú%test_multiclass_multioutput_estimatorr¾   T  sº   € ä
 Ô
#€CÜ)¨#Ó.€OÜ,¨_Ó=Ðà×ÑœœAÔà"×*Ñ*¬1Ó-€KÜ”yÐ! [×%6Ñ%6Ò6Ð6Ð6ô �1ŽXˆÜ  Ó1ÐØ×ÑœQ¤¢! Q $¡Ô(ÜÐ$×,Ñ,¬QÓ/Ó0´D¸ÂQÈÀTÑ9JÓ4KÓKÐKÐKñ rH   c            	      óŽ  — d} t         j                  j                  | «      }|j                  d¬«      }t        j                  g d¢«      j                  dd«      }t        j                  g d¢«      j                  dd«      }t        j                  ||gd¬«      }t        t        | ¬	«      «      }|j                  ||«       |j                  |«      }t        j                  d
dgddgddgddgddgg«      t        j                  g d¢g d¢g d¢g d¢g d¢g«      g}t        t        |«      «      D ]  }	t        ||	   ||	   «       Œ y )Ni  )rK   rK   )Úsize)ÚbÚarÂ   rÁ   rÂ   rK   rT   )ÚdÚeÚfrÄ   rÃ   r¬   r6   g7E‘ÿ-Ô?gd]7 véå?gYA¡Øéëé?g�úz�XPÈ?g¤Z]±3å?g¸JE�˜ùÕ?gJo8Á±Ø?g[|Èc§ã?gáæùx�¢ê?g{dÊuÅ?)ggK±þ
å?g!U5½›ÙÊ?gÄ�}iúÀ?)ggÚ362Ã?gP£ämê?g¼KçÉ±˜?)gÉáÈÀ?gÑnÛ”~Á?g	2†bÀŒç?)g_ÇEÖ–‘Ï?g§´›lEå?g
Ì–î¦B¸?)gÂõÍ¢ê?g±´� ÔÆ?g}D§B—Ë‰?)r7   ÚrandomÚRandomStateÚnormalÚarrayÚreshapeÚconcatenater   r   r:   rƒ   r9   r®   r&   )
ÚseedÚrngr<   Úy1Úy2ÚYÚclfÚy_resultÚy_actualr¤   s
             rF   Ú3test_multiclass_multioutput_estimator_predict_probarÔ   f  s3  € Ø€Dô �)‰)×
Ñ
 Ó
%€Cð 	�
‰
˜ˆ
Ó€Aô 
�‰Ò+Ó	,×	4Ñ	4°Q¸Ó	:€BÜ	�‰Ò+Ó	,×	4Ñ	4°Q¸Ó	:€Bä
�‰˜˜B�x aÔ(€Aä
Ô 2ÀÔ EÓ
F€Cà‡G�GˆAˆq„Mà× Ñ  Ó#€Hä
�‰à˜ZÐ(Ø˜ZÐ(Ø˜ZÐ(Ø˜ZÐ(Ø˜ZÐ(ðó	
ô 	�‰â4Ú4Ú4Ú4Ú3ðó	
ð€Hô* ”3�x“=Ö!ˆÜ˜H Q™K¨°!©Õ5ñ "rH   c                  óŒ  — g d¢g d¢g} ddgddgg}t        j                  ddg«      }t        dd¬	«      }t        |«      }|j	                  | ||«       g d¢g d¢g d¢g}ddgddgddgg}t        dd¬	«      }t        |«      }|j	                  ||«       g d
¢g d¢g}t        |j                  |«      |j                  |«      «       y )Nra   rc   r1   rb   rk   rl   r©   rT   rª   rp   rr   )r7   Úasarrayr   r   r:   r&   r;   )	rs   rt   rh   r³   Úclf_wr<   r=   rÑ   r@   s	            rF   Ú/test_multi_output_classification_sample_weightsrØ   “  sÅ   € â
’YÐ	€BØˆaˆ&�1�a�&Ð	€BÜ
�
‰
�C˜�:Ó€AÜ#°À!ÔD€FÜ! &Ó)€EØ	‡I�Iˆb�"�aÔò 
’IšyÐ)€AØ
ˆQˆ�!�Q�˜!˜Q˜Ð €AÜ#°À!ÔD€FÜ
 Ó
'€CØ‡G�GˆAˆq„MâšÐ/€FÜ˜Ÿ™ FÓ+¨U¯]©]¸6Ó-BÕCrH   c                  ó¢  — g d¢g d¢g d¢g} ddgddgddgg}t        j                  g d¢«      }t        ddd ¬	«      }t        |«      }|j	                  | ||«       g d¢g d¢g d¢g d¢g}ddgddgddgddgg}t        ddd ¬	«      }t        |«      }|j	                  ||«       g d¢g}t        |j                  |«      |j                  |«      «       y )
Nra   rc   rp   r1   rb   )rk   rl   rl   rT   é   )r4   rM   Útol)r7   rÖ   r   r   r:   r'   r;   )	rs   rt   rh   r}   r×   r<   r=   rÑ   r@   s	            rF   Ú;test_multi_output_classification_partial_fit_sample_weightsrÜ   §  sÓ   € â
’Y¢Ð	0€BØˆaˆ&�1�a�&˜1˜a˜&Ð	!€BÜ
�
‰
’?Ó#€AÜ"°¸BÀDÔI€NÜ! .Ó1€EØ	‡I�Iˆb�"�aÔò 
’Išyª/Ð:€AØ
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AÜ"°¸BÀDÔI€NÜ
 Ó
/€CØ‡G�GˆAˆq„MÚÐ€FÜ˜cŸk™k¨&Ó1°5·=±=ÀÓ3HÕIrH   c                  ó^  — t        t        d¬«      «      } t        j                  t        «      5  | j                  t        t        «       d d d «       t        j                  t        t        f«      }| j                  t        t        «       t        j                  t        «      5  | j                  t        |«       d d d «       d}t        j                  t        |¬«      5  | j                  t        t        d d …df   «       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)Nr   r6   zUnknown label typerU   rT   )r   r#   rW   rX   r   Úscorer<   r=   r7   Úcolumn_stackrÎ   rÏ   r:   rY   )ÚmocÚy_newrZ   s      rF   Útest_multi_output_exceptionsrâ   º  s¿   € ô  ¤	°qÔ 9Ó
:€CÜ	�‰”~Õ	&Ø�	‰	”!”QŒ÷ 
'ô
 �O‰OœR¤˜HÓ%€EØ‡G�GŒAŒq„MÜ	�‰”zÕ	"Ø�	‰	”!�UÔ÷ 
#ð €CÜ	�‰”z¨Ö	-Ø�‰””1’Q˜�T‘7Ô÷ 
.Ð	-÷ 
'Ð	&ú÷ 
#Ð	"ú÷
 
.Ð	-ús#   ¯DÂ$DÃ "D#ÄDÄD Ä#D,Úresponse_methodrƒ   r;   c                 ó²   — t        t        «       «      }t        j                  t        «      5   t        || «      t        «       ddd«       y# 1 sw Y   yxY w)zECheck that we raise the proper error when the estimator is not fittedN)r   r   rW   rX   r   Úgetattrr<   )rã   rà   s     rF   Ú"test_multi_output_not_fitted_errorræ   Î  s;   € ô  Ô 2Ó 4Ó
5€CÜ	�‰”~Õ	&Ø%Œ��_Ó%¤aÔ(÷ 
'×	&Ñ	&ús   ­AÁAc                  ól  — t        t        «       «      } t        | d«      sJ ‚| j                  t        t
        «       t        | d«      sJ ‚t        t        «       «      } t        | d«      rJ ‚d}d}t        j                  t        |¬«      5 }| j                  t        «       ddd«       t        j                  j                  t        «      sJ ‚|t        |j                  j                  «      k(  sJ ‚| j                  t        t
        «       t        | d«      rJ ‚t        j                  t        |¬«      5 }| j                  t        «       ddd«       t        |j                  j                  t        «      sJ ‚|t        |j                  j                  «      k(  sJ ‚y# 1 sw Y   ŒÿxY w# 1 sw Y   Œ`xY w)zVCheck the behavior for the delegation of predict_proba to the underlying
    estimatorrƒ   r‘   z3'LinearSVC' object has no attribute 'predict_proba'rU   N)r   r   rO   r:   r<   r=   r#   rW   rX   r’   rƒ   r“   r”   r•   r–   )rà   r›   Ú	inner_msgrœ   s       rF   Ú(test_multi_output_delegate_predict_probaré   Ö  sJ  € ô
  Ô 2Ó 4Ó
5€CÜ�3˜Ô(Ð(Ð(Ø‡G�GŒAŒq„MÜ�3˜Ô(Ð(Ð(ô  ¤	£Ó
,€CÜ�s˜OÔ,Ð,Ð,àJ€IØE€IÜ	�‰”~¨YÕ	7¸9Ø×Ñœ!Ô÷ 
8ä�i—o‘o×/Ñ/´Ô@Ð@Ð@Øœ˜IŸO™O×5Ñ5Ó6Ò6Ð6Ð6à‡G�GŒAŒq„MÜ�s˜OÔ,Ð,Ð,Ü	�‰”~¨YÕ	7¸9Ø×Ñœ!Ô÷ 
8ä�i—o‘o×/Ñ/´Ô@Ð@Ð@Øœ˜IŸO™O×5Ñ5Ó6Ò6Ð6Ñ6÷ 
8Ð	7ú÷ 
8Ð	7ús   Â
FÄ5F*ÆF'Æ*F3c                  óØ   — t        ddddd¬«      \  } }t        j                  |D ��cg c](  }t        |d«      dd  D �cg c]  }t	        |«      ‘Œ c}‘Œ* c}}«      }| |fS c c}w c c}}w )	Niè  éd   é   r©   r   )r    Ú
n_featuresr¯   Ún_informativer4   z#06brb   )r   r7   rÉ   ÚformatÚint)r<   r=   ÚyyÚyyyÚY_multis        rF   Ú-generate_multilabel_dataset_with_correlationsrô   ó  ss   € ô Ø 3°"ÀBÐUVô�D€A€qô �h‰hÉqÔQÉqÈ¬V°B¸Ó-?ÀÀÑ-CÓDÑ-C cœ˜S�Ð-CÓDÈqÒQÓR€GØˆgˆ:Ðùò EùÓQs   ¨A&
¾A!ÁA&
Á!A&
Úchain_methodÚdecision_functionc                 ó   — t        «       \  }}t        t        «       | ¬«      j                  ||«      }|j	                  |«      }|j
                  |j
                  k(  sJ ‚|j                  |«      }|dk\  }t        ||«       t        |d«      rJ ‚y )N©rõ   r   rƒ   )	rô   r   r#   r:   r;   rŸ   rö   r(   rO   )rõ   r<   rÐ   Úclassifier_chainÚY_predÚ
Y_decisionÚY_binarys          rF   Ú5test_classifier_chain_fit_and_predict_with_linear_svcrý   ÿ  s‘   € ô 9Ó:�D€A€qÜ&Ü‹Ø!ô÷ 
�cˆ!ˆQƒið ð
 ×%Ñ% aÓ(€FØ�<‰<˜1Ÿ7™7Ò"Ð"Ð"à!×3Ñ3°AÓ6€Jà˜Q‰€HÜ�x Ô(ÜÐ'¨Ô9Ð9Ð9Ð9rH   Úcsr_containerc                 ó  — t        «       \  }} | |«      }t        t        «       «      j                  ||«      }|j	                  |«      }t        t        «       «      j                  ||«      }|j	                  |«      }t        ||«       y ©N)rô   r   r   r:   r;   r(   )rþ   r<   rÐ   ÚX_sparserù   ÚY_pred_sparseÚY_pred_denses          rF   Ú6test_classifier_chain_fit_and_predict_with_sparse_datar    s|   € ô 9Ó:�D€A€qÙ˜QÓ€Hä&Ô'9Ó';Ó<×@Ñ@ÀÈ1ÓMÐØ$×,Ñ,¨XÓ6€Mä&Ô'9Ó';Ó<×@Ñ@ÀÀAÓFÐØ#×+Ñ+¨AÓ.€Lä�} lÕ3rH   c                  óŒ  — t        «       \  } }| d d…d d …f   }| dd …d d …f   }|d d…d d …f   }|dd …d d …f   }t        t        «       «      }|j                  ||«       |j	                  |«      }t        t        «       «      }|j                  ||«       |j	                  |«      }	t        ||	d¬«      t        ||d¬«      kD  sJ ‚y )NiX  Úsamples©Úaverage)rô   r   r   r:   r;   r   r   )
r<   rÐ   r>   r@   ÚY_trainÚY_testÚovrÚ
Y_pred_ovrÚchainÚY_pred_chains
             rF   Ú+test_classifier_chain_vs_independent_modelsr  !  sÎ   € ô 9Ó:�D€A€qØ���’a�‰j€GØˆs‰t’Qˆw‰Z€FØ���’a�‰j€GØˆs‰t’Qˆw‰Z€Fä
Ô0Ó2Ó
3€CØ‡G�GˆG�WÔØ—‘˜VÓ$€JäÔ.Ó0Ó1€EØ	‡I�Iˆg�wÔØ—=‘= Ó(€Lä˜ °yÔAÄMØ�
 IôEò ð ñ rH   )r;   rƒ   Úpredict_log_probarö   r  c           	      óL  — t        «       \  }}t        t        «       | ¬«      }|j                  ||«       |j	                  |«      }|j
                  |j
                  k(  sJ ‚|j                  D �cg c]  }|j                  j                  ‘Œ c}t        t        |j
                  d   |j
                  d   |j
                  d   z   «      «      k(  sJ ‚ t        ||«      |«      }|dk(  rt        j                  |«      }|dk\  }t        ||«       t        |t         «      sJ ‚y c c}w )Nrø   rT   r  ç      à?)rô   r   r   r:   r;   rŸ   r|   Úcoef_rÀ   r²   r9   rå   r7   Úexpr(   r“   r   )	rõ   rã   r<   rÐ   r  rú   ÚcÚY_probrü   s	            rF   Ú%test_classifier_chain_fit_and_predictr  8  s  € ô 9Ó:�D€A€qÜÔ.Ó0¸|ÔL€EØ	‡I�Iˆa�„OØ�]‰]˜1Ó€FØ�<‰<˜1Ÿ7™7Ò"Ð"Ð"Ø"'×"3Ò"3Ó4Ñ"3˜QˆA�G‰G�L‹LÐ"3Ñ4¼Üˆa�g‰g�a‰j˜!Ÿ'™' !™* q§w¡w¨q¡zÑ1Ó2ó9ò ð ð ð -ŒW�U˜OÓ,¨QÓ/€FØÐ-Ò-Ü—‘˜“ˆØ˜‰}€HÜ�x Ô(ä�eœ_Ô-Ð-Ñ-ùò 5s   Á/D!c            	      óª  — t        «       \  } }t        t        «       «      }|j                  | |«       |j	                  | «      }|j
                  |j
                  k(  sJ ‚|j                  D �cg c]  }|j                  j                  ‘Œ c}t        t        | j
                  d   | j
                  d   |j
                  d   z   «      «      k(  sJ ‚y c c}w )NrT   )rô   r!   r   r:   r;   rŸ   r|   r  rÀ   r²   r9   )r<   rÐ   r  rú   r  s        rF   Ú$test_regressor_chain_fit_and_predictr  Q  s­   € ä8Ó:�D€A€qÜœ5›7Ó#€EØ	‡I�Iˆa�„OØ�]‰]˜1Ó€FØ�<‰<˜1Ÿ7™7Ò"Ð"Ð"Ø"'×"3Ò"3Ó4Ñ"3˜QˆA�G‰G�L‹LÐ"3Ñ4¼Üˆa�g‰g�a‰j˜!Ÿ'™' !™* q§w¡w¨q¡zÑ1Ó2ó9ò ð ñ ùÒ4s   Á-Cc                 ó  — t        «       \  }} | |«      }t        t        «       d¬«      t        t	        «       d¬«      g}|D ]@  }|j                  ||«       |j                  |«      }|j                  |j                  k(  rŒ@J ‚ y )Nr1   ©r�   )rô   r   r   r!   r   r:   r;   rŸ   )rþ   r<   rÐ   r  Úbase_chainsr  rú   s          rF   Ú7test_base_chain_fit_and_predict_with_sparse_data_and_cvr  ]  sy   € ô 9Ó:�D€A€qÙ˜QÓ€HäÔ*Ó,°Ô3Ü”u“w 1Ô%ð€Kó ˆØ�	‰	�(˜AÔØ—‘˜xÓ(ˆØ�|‰|˜qŸw™wÓ&Ð&Ð&ñ rH   c                  óä  — t        «       \  } }t        t        «       «      t        t	        «       «      fD �]9  }t        |«      j                  dd¬«      }|j                  | |«       t        |«      j                  |j                  ¬«      }|j                  | |«       t        |j                  |j                  «       t        |j                  «      t        t        d«      «      k7  sJ ‚t        |j                  «      dk(  sJ ‚t        t        |j                  «      «      dk(  sJ ‚t        |j                   |j                   «      D ]%  \  }}t#        |j$                  |j$                  «       Œ' �Œ< y )NrÆ   é*   )Úorderr4   ©r   rd   )rô   r   r   r!   r   r   Ú
set_paramsr:   Úorder_r(   r²   r   r9   r®   ÚsetÚzipr|   r'   r  )r<   rÐ   r  Úchain_randomÚchain_fixedr   r€   s          rF   Útest_base_chain_random_orderr(  l  s&  € ä8Ó:�D€A€qÜ!Ô"4Ó"6Ó7¼ÌËÓ9PÔQˆÜ˜U“|×.Ñ.°XÈBÐ.ÓOˆØ×Ñ˜˜AÔÜ˜E“l×-Ñ-°L×4GÑ4GÐ-ÓHˆØ�‰˜˜1ÔÜ˜;×-Ñ-¨|×/BÑ/BÔCÜ�L×&Ñ&Ó'¬4´°a³«>Ò9Ð9Ð9Ü�<×&Ñ&Ó'¨1Ò,Ð,Ð,Ü”3�|×*Ñ*Ó+Ó,°Ò1Ð1Ð1ô ˜l×6Ñ6¸×8OÑ8OÖP‰JˆD�$Ü% d§j¡j°$·*±*Õ=ò Qñ RrH   zchain_type, chain_method))Ú
classifierr;   )r)  rƒ   )r)  r  )r)  rö   )Ú	regressorÚ c                 ó  — t        «       \  }}| dk(  rt        t        «       |¬«      }nt        t	        «       «      }|j                  ||«       t        |«      j                  d¬«      }|j                  ||«       |j                  |«      }|j                  |«      }|j                  |j                  k(  sJ ‚t        j                  ||k(  «      rJ ‚t        |t        «      rt        ||d¬«      dkD  sJ ‚y t        ||«      dk  sJ ‚y )	Nr)  rø   r1   r  r  r  gš™™™™™Ù?g      Ð?)rô   r   r   r!   r   r:   r   r"  r;   rŸ   r7   Úallr“   r   r   )Ú
chain_typerõ   r<   rÐ   r  Úchain_cvÚ	Y_pred_cvrú   s           rF   Ú(test_base_chain_crossval_fit_and_predictr1  ~  sç   € ô 9Ó:�D€A€qà�\Ò!ÜÔ 2Ó 4À<ÔP‰äœu›wÓ'ˆØ	‡I�Iˆa�„OÜ�U‹|×&Ñ&¨!Ð&Ó,€HØ‡L�L��AÔØ× Ñ  Ó#€IØ�]‰]˜1Ó€Fà�?‰?˜fŸl™lÒ*Ð*Ð*Ü�v‰v�f 	Ñ)Ô*Ð*Ð*Ü�%œÔ)Ü˜Q 	°9Ô=ÀÒCÐCÑCä! ! YÓ/°$Ò6Ð6Ñ6rH   rŠ   )r«   c                 ó  — t        | «      j                  t        t        «      } t	        | j
                  t        «      sJ ‚t        | j
                  «      t        k(  sJ ‚t        t        | j
                  «      D ]  \  }}t        ||«       Œ y r   )r   r:   r<   r=   r“   Úclasses_r²   r®   r¡   r%  r{   r(   )rŠ   Úestimator_classesÚexpected_classess      rF   Útest_multi_output_classes_r6  Ÿ  su   € ô �iÓ ×$Ñ$¤Q¬Ó*€IÜ�i×(Ñ(¬$Ô/Ð/Ð/Üˆy×!Ñ!Ó"¤iÒ/Ð/Ð/Ü/2´7¸I×<NÑ<NÖ/OÑ+ÐÐ+ÜÐ,Ð.>Õ?ñ 0PrH   c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚDummyRegressorWithFitParamsc                 ó4   •— || _         t        ‰| �	  |||«      S r   ©Ú_fit_paramsÚsuperr:   ©Úselfr<   r=   Úsample_weightÚ
fit_paramsÚ	__class__s        €rF   r:   zDummyRegressorWithFitParams.fit²  ó   ø€ Ø%ˆÔÜ‰w‰{˜1˜a Ó/Ð/rH   r   ©Ú__name__Ú
__module__Ú__qualname__r:   Ú__classcell__©rA  s   @rF   r8  r8  ±  ó   ø„ ÷0ñ 0rH   r8  c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚDummyClassifierWithFitParamsc                 ó4   •— || _         t        ‰| �	  |||«      S r   r:  r=  s        €rF   r:   z DummyClassifierWithFitParams.fit¸  rB  rH   r   rC  rH  s   @rF   rK  rK  ·  rI  rH   rK  zestimator, datasetÚprior)Ústrategyr1   r2   c                 ó¸   — t        | «      } |\  }}t        j                  |«      }| j                  |||¬«       | j                  D ]  }d|j
                  v rŒJ ‚ y )N)Ú
some_paramrP  )r   r7   r8   r:   r|   r;  )rŠ   Údatasetr<   r=   rP  Údummy_estimators         rF   Ú*test_multioutput_estimator_with_fit_paramsrS  ½  s[   € ô �iÓ €IØ�D€A€qÜ—‘˜qÓ!€JØ‡M�M�!�Q :€MÔ.Ø$×0Ô0ˆØ˜×:Ñ:Ò:Ð:Ð:ñ 1rH   c                  ób  — t         j                  j                  d«      } t        j                  dd¬«      \  }}| j                  |j                  d   «      } G d„ dt        «      }t         |«       «      }d|i} |j                  ||fi |¤Ž |j                  D ]  }|j                  |u rŒJ ‚ y )Nr   r1   r2   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ú0test_regressor_chain_w_fit_params.<locals>.MySGDc                 ó<   •— |d   | _         t        ‰| �  ||fi |¤Ž y )Nr?  )Úsample_weight_r<  r:   )r>  r<   r=   r@  rA  s       €rF   r:   z4test_regressor_chain_w_fit_params.<locals>.MySGD.fitÚ  s#   ø€ Ø",¨_Ñ"=ˆDÔÜ‰G‰K˜˜1Ñ+ 
Ó+rH   rC  rH  s   @rF   ÚMySGDrV  Ù  s   ø„ ÷	,ð 	,rH   rY  r?  )r7   rÆ   rÇ   r   r
   ÚrandrŸ   r   r!   r:   r|   rX  )rÍ   r<   r=   ÚweightrY  ÚmodelÚ	fit_paramÚests           rF   Ú!test_regressor_chain_w_fit_paramsr_  Ó  s¡   € ä
�)‰)×
Ñ
 Ó
"€CÜ×#Ñ#¨a¸aÔ@�D€A€qØ�X‰X�a—g‘g˜a‘jÓ!€Fô,”ô ,ô
 ™5›7Ó#€Eð ! &Ð)€IØ€E‡I�Iˆa�Ñ �iÒ à× Ô ˆØ×!Ñ! VÒ+Ð+Ð+ñ !rH   zMultiOutputEstimator, Estimatorc                 óž  — t         j                  j                  d«      }|j                  dd«      |j	                  ddd«      }}|j                  ddg|j                  dd	g¬
«      j                  t        «      }t         j                  ||<   t        t        «        |«       «      } | |«      j                  ||«      j                  ||«       y )Nr  r5   rb   rT   r  )r5   r1   r   g{®Gáz„?g®Gáz®ï?)Úp)r7   rÆ   rÇ   ÚrandnÚbinomialÚchoicerŸ   ÚastypeÚboolÚnanr"   r   r:   rÞ   )ÚMultiOutputEstimatorÚ	EstimatorrÍ   r<   r=   ÚmaskÚpipes          rF   Útest_support_missing_valuesrl  è  s£   € ô �)‰)×
Ñ
 Ó
#€CØ�9‰9�R˜Ó˜SŸ\™\¨!¨S°'Ó:€q€AØ�:‰:�q˜!�f˜aŸg™g¨$°¨ˆ:Ó6×=Ñ=¼dÓC€DÜ�f‰f€A€d�Gäœ›©)«+Ó6€DÙ˜Ó×"Ñ" 1 aÓ(×.Ñ.¨q°!Õ4rH   Ú
order_typec                 óâ   — g d¢g d¢g d¢g}ddgddgddgg} | ddg«      }t        t        dd¬«      |¬	«      }|j                  ||«       g d¢g}ddgg}t        |j	                  |«      |«       y )
Nra   rc   rp   r1   rb   rT   r   rª   r!  )r   r   r:   r'   r;   )rm  r<   r=   r   r  r@   rA   s          rF   Ú!test_classifier_chain_tuple_orderro  û  s   € â	’IšÐ/€AØ
ˆQˆ�!�Q�˜!˜Q˜Ð €AÙ˜˜1�vÓ€EäÜ¨A¸AÔ>Àeô€Eð 
‡I�Iˆa�„OÚÐ€FØ�!ˆfˆX€FÜ˜eŸm™m¨FÓ3°VÕ<rH   c                  óø   — g d¢g d¢g d¢g} ddgddgddgg}t        ddg«      }t        t        «       |¬«      }t        j                  t
        d¬	«      5  |j                  | |«       d d d «       y # 1 sw Y   y xY w)
Nra   rc   rp   r1   rb   rT   r!  zinvalid orderrU   )Útupler   r   rW   rX   rY   r:   )r<   r=   r   r  s       rF   Ú)test_classifier_chain_tuple_invalid_orderrr    sj   € Ú	’IšÐ/€AØ
ˆQˆ�!�Q�˜!˜Q˜Ð €AÜ�1�a�&‹M€EäÔ2Ó4¸EÔB€Eä	�‰”z¨Ö	9Ø�	‰	�!�QŒ÷ 
:×	9Ñ	9ús   ÁA0Á0A9c                 óü   — t        ddddd¬«      \  }}t        ||d¬«      \  }}}}d}t        t        «       g d¢dd	¬
«      }|j	                  ||«       t        j                  || j                  «       d   «      sJ ‚y )Nrë   rK   r1   r   )r    rí   r¯   Ún_labelsr4   r6   z�\[Chain\].*\(1 of 3\) Processing order 0, total=.*\n\[Chain\].*\(2 of 3\) Processing order 1, total=.*\n\[Chain\].*\(3 of 3\) Processing order 2, total=.*\n$)r   rT   rb   T©r   r4   Úverbose)r	   r   r   r$   r:   ÚrerV   Ú
readouterr)	Úcapsysr<   r=   r>   r@   r?   rA   Úpatternr)  s	            rF   Útest_classifier_chain_verboser{    sŒ   € Ü)Ø !¨q¸1È1ô�D€A€qô (8¸¸1È1Ô'MÑ$€GˆV�W˜fð	Að ô !ÜÓ ÚØØô	€Jð ‡N�N�7˜GÔ$Ü�8‰8�G˜V×.Ñ.Ó0°Ñ3Ô4Ð4Ñ4rH   c                 óø   — t        ddd¬«      \  }}t        ||d¬«      \  }}}}d}t        t        «       g d¢dd¬	«      }|j	                  ||«       t        j                  || j                  «       d   «      sJ ‚y )
Né}   r1   r   )r    r3   r4   r6   z�\[Chain\].*\(1 of 3\) Processing order 1, total=.*\n\[Chain\].*\(2 of 3\) Processing order 0, total=.*\n\[Chain\].*\(3 of 3\) Processing order 2, total=.*\n$)rT   r   rb   Tru  )r
   r   r!   r   r:   rw  rV   rx  )	ry  r<   r=   r>   r@   r?   rA   rz  r*  s	            rF   Útest_regressor_chain_verboser~  ,  sƒ   € Ü S°AÀAÔF�D€A€qÜ'7¸¸1È1Ô'MÑ$€GˆV�W˜fð	Að ô
 ÜÓÚØØô	€Ið ‡M�M�'˜7Ô#Ü�8‰8�G˜V×.Ñ.Ó0°Ñ3Ô4Ð4Ñ4rH   c                  óÂ   — t        d¬«      \  } }t        dt        d¬«      fgt        «       d¬«      }t	        |¬«      j                  | |«      }|j                  | «       y	)
zkTest that MultiOutputRegressor checks the fitted estimator for
    predict. Non-regression test for #16549.T)Ú
return_X_yÚsgdrT   r6   rb   )Ú
estimatorsÚfinal_estimatorr�   )rŠ   N)r   r   r   r   r    r:   r;   )r<   r=   ÚstackerÚregs       rF   Ú4test_multioutputregressor_ducktypes_fitted_estimatorr†  ?  sZ   € ô  DÔ)�D€A€qÜØœL°aÔ8Ð9Ð:Ü›Øô€Gô ¨Ô
1×
5Ñ
5°a¸Ó
;€Cð ‡K�K�…NrH   zCls, methodr:   rN   c                 óÌ   — t        d¬«      \  }} | t        «       «      }t        j                  t        d¬«      5   t        ||«      ||d¬«       ddd«       y# 1 sw Y   yxY w)zgCheck that we raise an error when passing metadata not requested by the
    underlying classifier.
    r5   )r    zis only supported ifrU   rT   )ÚtestN)r   r   rW   rX   rY   rå   )ÚClsÚmethodr<   r=   rÑ   s        rF   Útest_fit_params_no_routingr‹  O  sO   € ô ¨Ô,�D€A€qÙ
Œm‹oÓ
€Cä	�‰”zÐ)?Ö	@ØŒ��VÓ˜Q ¨Õ*÷ 
A×	@Ñ	@ús   »AÁA#c                  ó¦   — t        t        «       «      } d}t        j                  t        |¬«      5  t        | d«       d d d «       y # 1 sw Y   y xY w)Nz:This 'MultiOutputRegressor' has no attribute 'partial_fit'rU   rN   )r    r   rW   rX   r’   rå   )r^  rZ   s     rF   Ú*test_multioutput_regressor_has_partial_fitr�  ]  s;   € ô Ô/Ó1Ó
2€CØ
F€CÜ	�‰”~¨SÖ	1Ü��]Ô#÷ 
2×	1Ñ	1ús   ±AÁAri  c                 ó¢  — t        j                  ddgddgg«      }t        j                  ddgddgg«      }t        «       }t        j                  t
        «      5   | |¬«      j                  ||«       ddd«       t        j                  t        «      5   | ||¬«      j                  ||«       ddd«       y# 1 sw Y   ŒFxY w# 1 sw Y   yxY w)	z=Check that we warn about the deprecation of `base_estimator`.rT   rb   r1   rd   r   )Úbase_estimatorN)r�  rŠ   )	r7   rÉ   r   rW   ÚwarnsÚFutureWarningr:   rX   rY   )ri  r<   r=   rŠ   s       rF   Útest_base_estimator_deprecationr’  g  s§   € ô 	�‰�1�a�&˜1˜a˜&Ð!Ó"€AÜ
�‰�1�a�&˜1˜a˜&Ð!Ó"€Aä"Ó$€Iä	�‰”mÕ	$Ù Ô+×/Ñ/°°1Ô5÷ 
%ô 
�‰”zÕ	"Ù °iÔ@×DÑDÀQÈÔJ÷ 
#Ð	"÷ 
%Ð	$ú÷ 
#Ð	"ús   ÁB9ÂCÂ9CÃC)‡rw  Únumpyr7   rW   Újoblibr   Úsklearnr   Úsklearn.baser   r   Úsklearn.datasetsr   r   r	   r
   Úsklearn.dummyr   r   Úsklearn.ensembler   r   r   Úsklearn.exceptionsr   Úsklearn.imputer   Úsklearn.linear_modelr   r   r   r   r   r   r   Úsklearn.metricsr   r   Úsklearn.model_selectionr   r   Úsklearn.multiclassr   Úsklearn.multioutputr   r   r    r!   Úsklearn.pipeliner"   Úsklearn.svmr#   Úsklearn.treer$   Úsklearn.utilsr%   Úsklearn.utils._testingr&   r'   r(   Úsklearn.utils.fixesr)   r*   r+   r,   r-   r.   rG   rR   r[   ÚmarkÚparametrizer_   ri   rn   ru   Ú	load_irisÚirisÚdatar<   ÚtargetrÎ   rÏ   Úy3rß   r=   rŸ   r    rí   r¡   r®   Úuniquer¯   r²   Úmapr{   Úthread_unsafer�   r…   r�   r¥   r§   r¸   r¾   rÔ   rØ   rÜ   râ   ræ   ré   rô   rý   r  r  r  r  r  r(  r1  r6  r8  rK  rS  r_  rl  rÉ   rq  ro  rr  r{  r~  r†  r‹  r�  r’  © rH   rF   Ú<module>r²     så  ðÛ 	ã Û Ý å ß /÷ó ÷ :÷ñ õ
 .Ý (÷÷ ñ ÷ >ß BÝ 2÷ó õ +Ý !Ý /Ý !÷ñ ÷
÷ ò,ò$Cò.ð ‡�×ÑØØØñàñð ñð ñ	ð
 ñóñóðò ò:ò Dð& €x×ÑÓ€à‡I�I€Ø	‡[�[€ÙˆR˜aÔ €ÙˆR˜aÔ €Ø€B‡O�O�R˜˜R�LÓ!€ØŸ™Ñ €	ˆ:Ø�G‰G�A‰J€	Ù�	�—	‘	˜"“Ó€	Ù
‰s�2—9‘9˜r 2 r˜lÓ+Ó
,€ð
 ‡�×Ññ	 ó ð	 ò9ò 'BòTPò>.òSò:Lò$*6òZDò(Jò&ð( ‡�×ÑÐ*¨_¸iÐ,HÓIñ)ó Jð)ò7ò:	ð ‡�×Ñ˜¨)Ð5HÐ)IÓJñ:ó Kð:ð$ ‡�×Ñ˜¨.Ó9ñ4ó :ð4òð. ‡�×ÑØÚJóð ‡�×ÑÐ*¨_Ð>QÐ,RÓSñ.ó Tó	ð
.ò(	ð ‡�×Ñ˜¨.Ó9ñ'ó :ð'ò>ð$ ‡�×ÑØòó	ñ7ó	ð7ð. ‡�×ÑØá¨AÔ.ÙÑ4À!ÔDÓEÙÑ.¸AÔ>Ó?ðóñ@óð@ô0 .ô 0ô0 ?ô 0ð ‡�×ÑØñ "Ñ">ÈÔ"PÓQØ3ˆH×3Ñ3Ó5ð	
ñ
 !Ñ!<Ó!>Ó?Ø$ˆH×$Ñ$¨q¸qÔAð	
ð	óñ;óð;ò,ð* ‡�×ÑØ%ØÐ/Ð0Ð3GÈÐ2OÐPóñ
5óð
5ð ‡�×Ñ˜¨¨b¯h©h¸Ð'>Ó?ñ=ó @ð=òò5ò,5ò&ð  ‡�×ÑØ�_ eÐ,Ð/DÀmÐ.TÐUóñ+óð+ò$ð ‡�×Ñ˜ ¸Ð&GÓHñKó IñKrH   