Ë
    8Ò^j`�  ã                   óâ  — d Z ddlZddlZddlZddlZddlZddl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 ddlmZmZ ddlmZmZmZ dd	lmZmZmZmZ dd
lm Z  g d¢Z! edd¬«      \  Z"Z# e«       jI                  e"dd «      Z%e#dd Z& edd¬«      \  Z"Z# e«       jI                  e"dd «      Z'e#dd Z(e%e&fe'e(fgZ) eddddd¬«      \  Z*Z+ ee+«      Z+e*e+fgZ, e	«       Z-e-j\                  Z/e-j`                  Z1d„ Z2d„ Z3d„ Z4ejj                  jm                  de)«      d„ «       Z7ejj                  jm                  de,«      d„ «       Z8ejj                  jm                  de)«      d„ «       Z9ejj                  jm                  de,«      d„ «       Z:d„ Z;d„ Z<d „ Z=d!„ Z>d"„ Z?d#„ Z@d$„ ZAd%„ ZBd&„ ZCd'„ ZDd(„ ZEd)„ ZFd*„ ZGejj                  jm                  d+e «      d,„ «       ZHd-„ ZId.„ ZJejj                  jm                  d/eeg«      d0„ «       ZKd1„ ZLd2„ ZMejj                  jm                  d/eeg«      d3„ «       ZNd4„ ZOejj                  j¡                  d5«      d6„ «       ZQd7„ ZRd8„ ZSd9„ ZTd:„ ZUejj                  jm                  d;ej¬                  ej®                  g«      ejj                  jm                  d<eeg«      d=„ «       «       ZXd>„ ZYejj                  jm                  d<eeg«      d?„ «       ZZejj                  jm                  d/eeg«      d@„ «       Z[ejj                  jm                  d/eeg«      ejj                  jm                  dAg dB¢«      dC„ «       «       Z\ejj                  jm                  d/eeg«      dD„ «       Z]dE„ Z^dF„ Z_dG„ Z`dH„ Zay)IzD
Testing for Multi-layer Perceptron module (sklearn.neural_network)
é    N)Úload_digitsÚ	load_irisÚmake_classificationÚmake_multilabel_classificationÚmake_regression)ÚConvergenceWarning)ÚPoissonRegressor)Úroc_auc_score)ÚMLPClassifierÚMLPRegressor)ÚLabelBinarizerÚMinMaxScalerÚscale)Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚignore_warnings)ÚCSR_CONTAINERS)ÚidentityÚlogisticÚtanhÚrelué   T)Ún_classÚ
return_X_yéÈ   é   é
   g      4@g      Y@é   )Ú	n_samplesÚ
n_featuresÚbiasÚnoiseÚrandom_statec            
      ó   — t         d d } t        d d }g }t        j                  d«      }d„ }|D ]‡  }t	        d|d¬«      }t        t        ¬«      5  |j                  | |«       d d d «       |j                  t        j                   ||j                  d   «       ||j                  d   «      g«      «       Œ‰ t        t        |«      dz
  «      D ]   }||   ||dz      kD  j                  «       rŒ J ‚ y # 1 sw Y   Œ’xY w)	Néd   r   c                 óR   — t        j                  t        j                  | «      «      S ©N)ÚnpÚsumÚabs)Úxs    úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/sklearn/neural_network/tests/test_mlp.pyú<lambda>ztest_alpha.<locals>.<lambda>G   s   € œRŸV™V¤B§F¡F¨1£IÓ.€ ó    r   é   )Úhidden_layer_sizesÚalphar$   ©Úcategoryr   )ÚX_digits_binaryÚy_digits_binaryr)   Úaranger   r   r   ÚfitÚappendÚarrayÚcoefs_ÚrangeÚlenÚall)ÚXÚyÚalpha_vectorsÚalpha_valuesÚabsolute_sumr2   ÚmlpÚis           r-   Ú
test_alpharF   @   s÷   € ä˜˜Ð€AÜ˜˜Ð€Aà€MÜ—9‘9˜Q“<€LÙ.€Làò 
ˆÜ¨r¸ÈQÔOˆÜÔ&8Ô9ñ 	Ø�G‰G�A�qŒM÷	à×ÑÜ�H‰H‘l 3§:¡:¨a¡=Ó1±<ÀÇ
Á
È1ÁÓ3NÐOÓPõ	
ð	
ô ”3�|Ó$ qÑ(Ó)ò ?ˆØ˜aÑ  =°°Q±Ñ#7Ñ7×<Ñ<Õ>Ð>Ð>ñ?÷	ð 	ús   ÁC4Ã4C=	c            
      óè  — t        j                  g d¢g«      } t        j                  dg«      }t        dddddddd¬«      }dgdz  |_        dgdz  |_        d|_        t        j                  dd	gd
dgddgg«      |j                  d<   t        j                  dgd	gg«      |j                  d<   t        j                  ddg«      |j                  d<   t        j                  dg«      |j                  d<   g dz  |_        g dz  |_        d|_        d|_	        d|_
        d|_        dg|j                  dz
  z  |_        dg|j                  dz
  z  |_        d|_        d|_        t         j                  |_        g |_        d|_        |j                  D �cg c]  }t        j$                  |«      ‘Œ c}|_        |j                  D �cg c]  }t        j$                  |«      ‘Œ c}|_        |j+                  | |ddg¬«       t-        |j                  d   t        j                  ddgddgddgg«      d¬«       t-        |j                  d   t        j                  dgdgg«      d¬«       t-        |j                  d   t        j                  ddg«      d¬«       t-        |j                  d   t        j                  d«      d¬«       t-        |j/                  | «      d   dd¬«       y c c}w c c}w )N)g333333ã?çš™™™™™é?gffffffæ?r   Úsgdçš™™™™™¹?r   r0   r   )ÚsolverÚlearning_rate_initr2   Ú
activationr$   Úmax_iterr1   Úmomentumçš™™™™™É?g333333Ó?ç      à?ç      ð?r   ©ÚclassesgJ+‡¹?g—uÿXˆÉ?gàª¡Ã2ìÒ?g©„'ôú“¸?g.ÁNV±�ß?gÉV—Sbb¿)ÚdecimalgñFæ‘?¨?g#0Ö70¹Ã?gðûY,¹?g¿·éÏ~¤¸?gZd;ßO�í?)r   r0   gÙÎ÷Sã¥ç?)r)   r:   r   r;   Úintercepts_Ú
n_outputs_Ú_coef_gradsÚ_intercept_gradsÚn_features_in_Ún_iter_Úlearning_rate_Ú	n_layers_Úout_activation_Út_ÚinfÚ
best_loss_Úloss_curve_Ú_no_improvement_countÚ
zeros_likeÚ_intercept_velocityÚ_coef_velocityÚpartial_fitr   Úpredict_proba)r?   r@   rD   Ú
interceptsÚcoefss        r-   Útest_fitrk   U   s¡  € ä
�‰’/Ð"Ó#€AÜ
�‰�!�‹€AÜ
ØØØØØØØØô	€Cð ��q‘€C„JØ�c˜A‘g€C„OØ€C„NÜ—H‘H˜s C˜j¨3°¨*°s¸A°hÐ?Ó@€C‡J�Jˆq�MÜ—H‘H˜s˜e c U˜^Ó,€C‡J�Jˆq�MÜŸ™ 3¨ *Ó-€C‡O�O�AÑÜŸ™ 3 %›€C‡O�O�AÑØ˜1‘f€C„OØ ™6€CÔØ€CÔð €C„KØ€CÔð €C„Mð �c˜SŸ]™]¨QÑ.Ñ/€C„OØ˜3 #§-¡-°!Ñ"3Ñ4€CÔà$€CÔØ€C„FÜ—V‘V€C„NØ€C„OØ !€CÔà47·O±OöØ&0Œ�‰�jÕ!ò€CÔð =@¿J¹JÖG°5œ"Ÿ-™-¨Õ.ÒG€CÔà‡O�O�A�q 1 a &€OÔ)ô> Ø�
‰
�1‰Ü
�‰�5˜(Ð# i°Ð%:¸YÈ	Ð<RÐSÓTØõô
 ˜Ÿ
™
 1™¤r§x¡x°'°¸X¸JÐ0GÓ'HÐRSÕTÜ˜Ÿ™¨Ñ*¬B¯H©H°hÀÐ5HÓ,IÐSTÕUÜ˜Ÿ™¨Ñ*¬B¯H©H°VÓ,<ÀaÕHô ˜×)Ñ)¨!Ó,¨TÑ2°EÀ1ÖEùòiùò Hs   ÆK*ÇK/c                  ól  ‡‡‡‡‡‡‡— dD �]  } d}d}t         j                  j                  d¬«      }|j                  ||«      Šdt        j                  t        j
                  |«      dz   | «      z   }t        «       j                  |«      Št        D �]Š  }t        |dddd	dd¬
«      Št        j                  «       5  t        j                  dt        «       ‰j                  ‰|«       d d d «       t        j                  ‰j                   ‰j"                  z   D �cg c]  }|j%                  «       ‘Œ c}«      }‰j&                  d   g‰j(                  gz   ‰j*                  gz   }g Šg Šg Šg Š‰j-                  ‰«       t/        ‰j0                  dz
  «      D ]Ë  }	‰j-                  t        j2                  ‰j&                  d   ||	dz      f«      «       ‰j-                  t        j2                  ‰j&                  d   ||	dz      f«      «       ||	   }
||	dz      }‰j-                  t        j2                  |
|f«      «       ‰j-                  t        j2                  |«      «       ŒÍ ˆˆˆˆˆˆˆfd„} ||«      \  }}t        j4                  t        j6                  |«      «      }t        j6                  |d«      }t        j8                  |«      }d}t/        |«      D ]4  }	|d d …|	f   |z  } |||z   «      d    |||z
  «      d   z
  |dz  z  ||	<   Œ6 t;        ||«       �Œ� �Œ y # 1 sw Y   �Œ=xY wc c}w )N)r   r   é   r   é*   )Úseedr0   Úlbfgsçñhãˆµøä>rP   )rM   r1   rK   r2   rL   rN   r$   Úignorer   c           
      ó4   •— ‰j                  | ‰‰d ‰‰‰‰«      S r(   )Ú_loss_grad_lbfgs)Útr?   ÚYÚactivationsÚ
coef_gradsÚdeltasÚintercept_gradsrD   s    €€€€€€€r-   Úloss_grad_funz$test_gradient.<locals>.loss_grad_funæ   s'   ø€ Ø×+Ñ+Ø�q˜!˜T ;°¸
ÀOóð r/   g       @)r)   ÚrandomÚRandomStateÚrandÚmodr7   r   Úfit_transformÚACTIVATION_TYPESr   ÚwarningsÚcatch_warningsÚsimplefilterr   r8   Úhstackr;   rV   ÚravelÚshaper1   rW   r9   r<   r]   ÚemptyÚzerosÚsizeÚeyer   )Ún_labelsr    r!   r$   r@   rM   ÚlÚthetaÚlayer_unitsrE   Úfan_inÚfan_outr{   ÚvalueÚgradÚnumgradÚnÚEÚepsilonÚdthetar?   rv   rw   rx   ry   rz   rD   s                       @@@@@@@r-   Útest_gradientr™   ¶   sä  þ€ ð ó :/ˆØˆ	Øˆ
Ü—y‘y×,Ñ,°"Ð,Ó5ˆØ×Ñ˜i¨Ó4ˆØ”—‘”r—y‘y Ó+¨aÑ/°Ó:Ñ:ˆÜÓ×*Ñ*¨1Ó-ˆä*ó 2	/ˆJÜØ%Ø#%ØØØ#&ØØôˆCô ×(Ñ(Ó*ñ Ü×%Ñ% hÔ0BÔCØ—‘˜˜1”÷ô —I‘I°#·*±*¸s¿¹Ñ2NÖO¨Q˜qŸw™w�yÒOÓPˆEàŸ7™7 1™:˜,¨#×*@Ñ*@Ð)AÑAÀSÇ^Á^ÐDTÑTˆKàˆKØˆFØˆJØ ˆOà×Ñ˜qÔ!Ü˜3Ÿ=™=¨1Ñ,Ó-ò :�Ø×"Ñ"¤2§8¡8¨Q¯W©W°Q©Z¸ÀQÈÁUÑ9KÐ,LÓ#MÔNØ—‘œbŸh™h¨¯©°©
°KÀÀAÁÑ4FÐ'GÓHÔIà$ Q™�Ø% a¨!¡eÑ,�Ø×!Ñ!¤"§(¡(¨F°GÐ+<Ó"=Ô>Ø×&Ñ&¤r§x¡x°Ó'8Õ9ð:÷ò ñ
 *¨%Ó0‰MˆU�DÜ—h‘hœrŸw™w u›~Ó.ˆGÜ—‘˜˜qÓ!ˆAÜ—‘�q“	ˆAØˆGä˜1“Xò $�Øš1˜a˜4™ 7Ñ*�á! %¨&¡.Ó1°!Ñ4±}ÀUÈVÁ^Ó7TÐUVÑ7WÑWØ˜s‘]ñ$�˜’
ð$ô
   ¨Ö.òe2	/ñ:/÷$ñ üò Ps   Â<-L$ÄL1Ì$L.zX,yc           	      ól  — | d d }|d d }| dd  }|j                   d   |j                  j                  f}t        D ]w  }t	        ddddd|¬«      }|j                  ||«       |j                  |«      }|j                  ||«      dkD  sJ ‚|j                   d   |j                  j                  f|k(  rŒwJ ‚ y )	Né–   r   rp   é2   Tr0   )rK   r1   rN   Úshuffler$   rM   çffffffî?)r‡   ÚdtypeÚkindr�   r   r8   ÚpredictÚscore)	r?   r@   ÚX_trainÚy_trainÚX_testÚexpected_shape_dtyperM   rD   Ú	y_predicts	            r-   Útest_lbfgs_classificationr¨   ù   sÍ   € ð
 ��ˆg€GØ��ˆg€GØˆsˆtˆW€FØ"ŸL™L¨™O¨W¯]©]×-?Ñ-?Ð@Ðä&ò Rˆ
ÜØØ!ØØØØ!ô
ˆð 	�‰�˜Ô!Ø—K‘K Ó'ˆ	Ø�y‰y˜ 'Ó*¨TÒ1Ð1Ð1Ø—‘ Ñ" I§O¡O×$8Ñ$8Ð9Ð=QÓQÐQÐQñRr/   c           
      óÊ   — t         D ]Z  }t        dddddd|¬«      }|j                  | |«       |dk(  r|j                  | |«      d	kD  rŒBJ ‚|j                  | |«      d
kD  rŒZJ ‚ y )Nrp   rœ   r   çü©ñÒMbP?Tr0   )rK   r1   rN   Útolr�   r$   rM   r   rH   g\�Âõ(\ï?)r�   r   r8   r¢   )r?   r@   rM   rD   s       r-   Útest_lbfgs_regressionr¬     s{   € ô 'ò *ˆ
ÜØØ!ØØØØØ!ô
ˆð 	�‰��1ŒØ˜Ò#Ø—9‘9˜Q “? TÓ)Ð)Ð)ð —9‘9˜Q “? TÓ)Ð)Ð)ñ*r/   c           
      óæ   — d}t         D ]Z  }t        ddd|dd|¬«      }t        j                  t        «      5  |j                  | |«       ||j                  k\  sJ ‚	 d d d «       Œ\ y # 1 sw Y   ŒgxY w)Nr   rp   rœ   r›   Tr0   )rK   r1   rN   Úmax_funr�   r$   rM   )r�   r   ÚpytestÚwarnsr   r8   r[   ©r?   r@   r®   rM   rD   s        r-   Ú test_lbfgs_classification_maxfunr²   '  s   € ð €Gä&ò *ˆ
ÜØØ!ØØØØØ!ô
ˆô �\‰\Ô,Ó-ñ 	*Ø�G‰G�A�qŒMØ˜cŸk™kÒ)Ð)Ñ)÷	*ð 	*ñ*÷	*ð 	*ús   ·$A'Á'A0	c                 óè   — d}t         D ][  }t        dddd|dd|¬«      }t        j                  t        «      5  |j                  | |«       ||j                  k\  sJ ‚	 d d d «       Œ] y # 1 sw Y   ŒhxY w)	Nr   rp   rœ   g        r›   Tr0   )rK   r1   r«   rN   r®   r�   r$   rM   )r�   r   r¯   r°   r   r8   r[   r±   s        r-   Útest_lbfgs_regression_maxfunr´   <  s‚   € ð €Gä&ò *ˆ
ÜØØ!ØØØØØØ!ô	
ˆô �\‰\Ô,Ó-ñ 	*Ø�G‰G�A�qŒMØ˜cŸk™kÒ)Ð)Ñ)÷	*ð 	*ñ*÷	*ð 	*ús   ¸$A(Á(A1	c            	      ó¸  — ddgddgddgddgg} g d¢}d	D ]·  }t        d
d|ddd¬«      }t        t        ¬«      5  |j                  | |«       |j                  j
                  }|j                  | |«       |j                  j
                  }d d d «       |dk(  rk(  rŒˆJ ‚|dk(  sŒ�|j                  t        d|j                  «      z  k(  rŒ·J ‚ y # 1 sw Y   ŒGxY w)Nr   r   r0   é   rm   éþÿÿÿéüÿÿÿ)r0   r0   r0   r   )Ú
invscalingÚconstantrI   é   g      Ð?T)rK   r1   Úlearning_raterN   Úpower_tÚ
warm_startr3   rº   r¹   é	   )	r   r   r   r8   Ú
_optimizerr¼   rL   Úpowr½   )r?   r@   r¼   rD   Úprev_etaÚpost_etas         r-   Útest_learning_rate_warmstartrÄ   R  sî   € à
ˆQˆ�!�Q�˜!˜Q˜ " b Ð*€AÚ€AØ3ò PˆÜØØ Ø'ØØØô
ˆô Ô&8Ô9ñ 	4Ø�G‰G�A�qŒMØ—~‘~×3Ñ3ˆHØ�G‰G�A�qŒMØ—~‘~×3Ñ3ˆH÷		4ð ˜JÒ&Ø˜xÓ'Ð'Ð'Ø˜lÓ*Ø×)Ñ)¬C°°s·{±{Ó,CÑCÀxÓOÐOÐOñ%P÷	4ð 	4ús   ¹ACÃC	c            	      ó”  — t        ddd¬«      \  } }t        ddddddd	¬
«      }|j                  | |«       |j                  | |«      dkD  sJ ‚t        ddddddd	¬«      }t	        d«      D ]  }|j                  | |g d¢¬«       Œ |j                  | |«      dkD  sJ ‚t        d¬«      }|j                  | |«      j                  | «       y )Nrœ   r   T©r    r$   Úreturn_indicatorrp   rq   r›   r   rP   )rK   r1   r2   rN   r$   rM   rL   g
×£p=
ï?rI   )rK   r1   rN   r$   rM   r2   rL   r&   )r   r0   r   r   r»   rS   çÍÌÌÌÌÌì?©Úearly_stopping)r   r   r8   r¢   r<   rg   r¡   )r?   r@   rD   rE   s       r-   Útest_multilabel_classificationrË   k  så   € ô *Ø 1°tô�D€A€qô ØØØØØØØô€Cð ‡G�GˆAˆq„MØ�9‰9�Q˜‹?˜TÒ!Ð!Ð!ô ØØØØØØØô€Cô �3‹Zò 7ˆØ�‰˜˜1¢oˆÕ6ð7à�9‰9�Q˜‹?˜SÒ Ð Ð ô  tÔ
,€CØ‡G�GˆAˆqƒM×Ñ˜!Õr/   c                  ó˜   — t        ddd¬«      \  } }t        ddddd¬	«      }|j                  | |«       |j                  | |«      d
kD  sJ ‚y )Nr   rm   é   )r    Ú	n_targetsr$   rp   rœ   ç{®Gáz„?r0   )rK   r1   rN   r«   r$   rÈ   )r   r   r8   r¢   ©r?   r@   rD   s      r-   Útest_multioutput_regressionrÑ   ‘  sQ   € ä S°AÀBÔG�D€A€qÜ
Ø¨2¸ÀÐTUô€Cð ‡G�GˆAˆq„MØ�9‰9�Q˜‹?˜SÒ Ð Ñ r/   c                  óà   — ddgg} dg}t        d¬«      }|j                  | |ddg¬«       t        j                  t        «      5  |j                  | |ddg¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r   rI   ©rK   r0   rS   )r   rg   r¯   ÚraisesÚ
ValueError©r?   r@   Úclfs      r-   Útest_partial_fit_classes_errorrØ   ›  sk   € à
ˆQˆˆ€AØ	
ˆ€AÜ
˜uÔ
%€CØ‡O�O�A�q 1 a &€OÔ)Ü	�‰”zÓ	"ñ .Ø�‰˜˜1 q¨! fˆÔ-÷.÷ .ñ .ús   ÁA$Á$A-c            	      óÆ  — t         D ]Ì  \  } }t        dddddd¬«      }t        t        ¬«      5  |j	                  | |«       d d d «       |j                  | «      }t        dddd¬	«      }t        d«      D ])  }|j                  | |t        j                  |«      ¬
«       Œ+ |j                  | «      }t        ||«       |j                  | |«      dkD  rŒÌJ ‚ y # 1 sw Y   Œ—xY w)NrI   r&   r0   r   rq   rP   )rK   rN   r$   r«   r2   rL   r3   )rK   r$   r2   rL   rS   rž   )Úclassification_datasetsr   r   r   r8   r¡   r<   rg   r)   Úuniquer   r¢   )r?   r@   rD   Úpred1rE   Úpred2s         r-   Útest_partial_fit_classificationrÞ   ¥  sÞ   € ô (ò &‰ˆˆ1ÜØØØØØØ"ô
ˆô Ô&8Ô9ñ 	Ø�G‰G�A�qŒM÷	à—‘˜A“ˆÜØ q°Èô
ˆô �s“ò 	8ˆAØ�O‰O˜A˜q¬"¯)©)°A«,ˆOÕ7ð	8à—‘˜A“ˆÜ˜5 %Ô(Ø�y‰y˜˜A‹ Ó%Ð%Ð%ñ)&÷	ð 	ús   ®CÃC 	c                  óÄ   — t        d¬«      } | j                  dgdgdggg d¢g d¢¬«       | j                  d	ggd
g«       | j                  dgdgdgd	ggg d¢«      dkD  sJ ‚y )Nr   )r$   r0   r   r   )ÚaÚbÚc)rà   rá   râ   ÚdrS   r»   rã   )r   rg   r¢   )r×   s    r-   Útest_partial_fit_unseen_classesrä   À  sl   € ô  QÔ
'€CØ‡O�O�a�S˜1˜# ˜s�O¢_Ò>R€OÔSØ‡O�O�a�S�E˜C˜5Ô!Ø�9‰9�q�c˜A˜3   a SÐ)Ò+?Ó@À1ÒDÐDÑDr/   c            
      ó   — t         } t        }dD ]ñ  }t        ddddd| j                  d   |¬«      }t	        j
                  «       5  t	        j                  d	t        «       |j                  | |«       d d d «       |j                  | «      }t        dddd| j                  d   |¬
«      }t        d«      D ]  }|j                  | |«       Œ |j                  | «      }t        ||«       |j                  | |«      }|dkD  rŒñJ ‚ y # 1 sw Y   Œ“xY w)N)r   rÈ   rI   r&   r   r0   rÏ   r   )rK   rN   rM   r$   rL   Ú
batch_sizerO   rr   )rK   rM   rL   r$   ræ   rO   gÍÌÌÌÌÌä?)ÚX_regÚy_regr   r‡   r‚   rƒ   r„   r   r8   r¡   r<   rg   r   r¢   )r?   r@   rO   rD   rÜ   rE   rÝ   r¢   s           r-   Útest_partial_fit_regressionré   Ê  s  € ô 	€AÜ€Aàò ˆÜØØØØØ#Ø—w‘w˜q‘zØô
ˆô ×$Ñ$Ó&ñ 	Ü×!Ñ! (Ô,>Ô?Ø�G‰G�A�qŒM÷	ð —‘˜A“ˆÜØØØ#ØØ—w‘w˜q‘zØô
ˆô �s“ò 	"ˆAØ�O‰O˜A˜qÕ!ð	"ð —‘˜A“ˆÜ˜˜uÔ%Ø—	‘	˜!˜Q“ˆØ�t‹|Ðˆ|ñ9÷	ð 	ús   Á-DÄD	c                  óæ   — ddgddgg} ddg}t        j                  t        «      5  t        d¬«      j	                  | |dg¬«       d d d «       t        t        d	¬«      d
«      rJ ‚y # 1 sw Y   Œ"xY w)Nr   r   r0   r¶   r   rI   rÓ   rS   rp   rg   )r¯   rÔ   rÕ   r   rg   Úhasattr)r?   r@   s     r-   Útest_partial_fit_errorsrì   ï  sz   € à
ˆQˆ�!�Q�Ð€AØ	
ˆAˆ€Aô 
�‰”zÓ	"ñ CÜ˜UÔ#×/Ñ/°°1¸q¸cÐ/ÔB÷Cô ”}¨GÔ4°mÔDÐDÐDÐD÷	Cð Cús   ¦ A'Á'A0c                  ó
  — t         j                  j                  d«      } d}t        j                  t         j                  «      j
                  }|| j                  |df¬«      z  }| j                  |¬«      }t        «       }d}t        j                  t        |¬«      5  t        j                  «       5  t        j                  d«       |j                  ||«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   r   r   )rŠ   zrSolver produced non-finite parameter weights. The input data may contain large values and need to be preprocessed.©Úmatchrr   )r)   r|   r}   ÚfinfoÚfloat64ÚmaxÚuniformÚstandard_normalr   r¯   rÔ   rÕ   r‚   rƒ   r„   r8   )Úrngr    Úfmaxr?   r@   r×   Úmsgs          r-   Útest_nonfinite_paramsrø   ü  sØ   € ô �)‰)×
Ñ
 Ó
"€CØ€IÜ�8‰8”B—J‘JÓ×#Ñ#€DØˆs�{‰{ ¨A ˆ{Ó/Ñ/€AØ×Ñ ÐÓ+€Aä
‹.€Cð	/ð ô 
�‰”z¨Ô	-ñ Ü×$Ñ$Ó&ñ 	ä×!Ñ! (Ô+Ø�G‰G�A�qŒM÷	÷ð ÷	ð 	ú÷ð ús$   ÂC9Â4(C-ÃC9Ã-C6	Ã2C9Ã9Dc                  ó  — t         d d } t        d d }t        ddd¬«      }t        t        ¬«      5  |j                  | |«       d d d «       |j                  | «      }|j                  | «      }|j                  d   d}}|j                  d¬	«      }|j                  d¬	«      }|j                  ||fk(  sJ ‚t        ||«       t        |t        j                  |«      «       t        ||d d …df   «      d
k(  sJ ‚y # 1 sw Y   Œ·xY w)Nrœ   rm   r   r0   )r1   rM   r$   r3   r   r   ©ÚaxisrR   )r5   r6   r   r   r   r8   rh   Úpredict_log_probar‡   Úargmaxr   r   r)   Úlogr
   ©	r?   r@   r×   Úy_probaÚy_log_probar    Ú	n_classesÚ	proba_maxÚproba_log_maxs	            r-   Útest_predict_proba_binaryr    sø   € ä˜˜Ð€AÜ˜˜Ð€Aä
¨1¸ÐRSÔ
T€CÜ	Ô"4Ô	5ñ Ø�‰��1Œ÷à×Ñ Ó"€GØ×'Ñ'¨Ó*€KàŸW™W Q™Z¨�	€Yà—‘ A�Ó&€IØ×&Ñ&¨AÐ&Ó.€Mà�=‰=˜Y¨	Ð2Ò2Ð2Ð2Ü�y -Ô0Ü�K¤§¡¨£Ô1ä˜˜G¢A q D™MÓ*¨cÒ1Ð1Ñ1÷ð ús   ±C:Ã:Dc                  ó  — t         d d } t        d d }t        d¬«      }t        t        ¬«      5  |j                  | |«       d d d «       |j                  | «      }|j                  | «      }|j                  d   t        j                  |«      j                  }}|j                  d¬«      }|j                  d¬«      }|j                  ||fk(  sJ ‚t        ||«       t        |t        j                  |«      «       y # 1 sw Y   Œ¼xY w)Nr   rm   )r1   r3   r   r0   rú   )ÚX_digits_multiÚy_digits_multir   r   r   r8   rh   rü   r‡   r)   rÛ   rŠ   rý   r   r   rþ   rÿ   s	            r-   Útest_predict_proba_multiclassr	  (  sä   € ä�s˜Ð€AÜ�s˜Ð€Aä
¨1Ô
-€CÜ	Ô"4Ô	5ñ Ø�‰��1Œ÷à×Ñ Ó"€GØ×'Ñ'¨Ó*€KàŸW™W Q™Z¬¯©°1«×):Ñ):�	€Yà—‘ A�Ó&€IØ×&Ñ&¨AÐ&Ó.€Mà�=‰=˜Y¨	Ð2Ò2Ð2Ð2Ü�y -Ô0Ü�K¤§¡¨£Õ1÷ð ús   ¯C=Ã=Dc                  ó  — t        ddd¬«      \  } }|j                  \  }}t        ddd¬«      }|j                  | |«       |j	                  | «      }|j                  ||fk(  sJ ‚t        |dkD  |«       |j                  | «      }|j                  d	¬
«      }|j                  d	¬
«      }|j                  d	«      d	z
  j                  |j                  d	«      d	z
  «      dkD  sJ ‚t        ||«       t        |t        j                  |«      «       y )Nrœ   r   TrÆ   rp   é   ©rK   r1   r$   rQ   r0   rú   g»½×Ùß|Û=)r   r‡   r   r8   rh   r   rü   rý   r*   Údotr   r)   rþ   )	r?   rv   r    r  r×   r   r  r  r  s	            r-   Útest_predict_proba_multilabelr  =  sû   € ô *Ø 1°tô�D€A€qð Ÿ7™7Ñ€Iˆyä
˜w¸2ÈAÔ
N€CØ‡G�GˆAˆq„MØ×Ñ Ó"€Gà�=‰=˜Y¨	Ð2Ò2Ð2Ð2Ü�w ‘} aÔ(à×'Ñ'¨Ó*€KØ—‘ A�Ó&€IØ×&Ñ&¨AÐ&Ó.€Mà�K‰K˜‹N˜QÑ×#Ñ# G§K¡K°£N°QÑ$6Ó7¸%Ò?Ð?Ð?Ü�y -Ô0Ü�K¤§¡¨£Õ1r/   c                  ó  — t        dddd¬«      \  } }dD ]¯  }t        dddd|¬«      }t        dddd|¬«      }t        j                  «       5  t        j                  dt
        «       |j                  | |«       |j                  | |«       d d d «       t        j                  |j                  d   |j                  d   «      rŒ¯J ‚ t        ddddd	¬«      }t        ddddd
¬«      }t        j                  «       5  t        j                  dt
        «       |j                  | |«       |j                  | |«       d d d «       t        j                  |j                  d   |j                  d   «      rJ ‚y # 1 sw Y   ŒëxY w# 1 sw Y   ŒHxY w)Nrœ   rm   r0   r   )r    r!   rÎ   r$   )TF)r1   rN   ræ   r$   r�   rr   TF)
r   r   r‚   rƒ   r„   r   r8   r)   Úarray_equalr;   )r?   r@   r�   Úmlp1Úmlp2s        r-   Útest_shuffler  U  sw  € ä R°AÀÐQRÔS�D€A€qð !ò >ˆÜØ ØØØØô
ˆô Ø ØØØØô
ˆô ×$Ñ$Ó&ñ 	Ü×!Ñ! (Ô,>Ô?Ø�H‰H�Q˜ŒNØ�H‰H�Q˜ŒN÷	ô
 �~‰~˜dŸk™k¨!™n¨d¯k©k¸!©nÕ=Ð=Ð=ð)>ô. Ø q°QÀQÐPTô€Dô Ø q°QÀQÐPUô€Dô 
×	 Ñ	 Ó	"ñ Ü×Ñ˜hÔ(:Ô;Ø�‰��AŒØ�‰��AŒ÷ô
 �~‰~˜dŸk™k¨!™n¨d¯k©k¸!©nÔ=Ð=Ð=Ð=÷'	ð 	ú÷ð ús   Á?E5Ã;?FÅ5E>	ÆF
Úcsr_containerc                 óT  — t         d d }t        d d } | |«      }t        ddd¬«      }|j                  ||«       |j	                  |«      }|j                  ||«       |j	                  |«      }t        ||«       |j	                  |«      }|j	                  |«      }t        ||«       y )Nrœ   rp   é   r0   r  )r5   r6   r   r8   r¡   r   r   )r  r?   r@   ÚX_sparserD   rÜ   rÝ   s          r-   Útest_sparse_matricesr    s™   € ô 	˜˜Ð€AÜ˜˜Ð€AÙ˜QÓ€HÜ
˜w¸2ÈAÔ
N€CØ‡G�GˆAˆq„MØ�K‰K˜‹N€EØ‡G�GˆH�aÔØ�K‰K˜Ó!€EÜ˜˜uÔ%Ø�K‰K˜‹N€EØ�K‰K˜Ó!€EÜ�u˜eÕ$r/   c                  ó’   — ddgddgg} ddg}t        ddd¬	«      }|j                  | |«       |j                  |j                  kD  sJ ‚y )
Nr   r   r0   r¶   r   rQ   é¸  rI   )r«   rN   rK   )r   r8   rN   r[   rÖ   s      r-   Útest_tolerancer  �  sP   € ð ˆQˆ�!�Q�Ð€AØ	
ˆAˆ€AÜ
˜C¨$°uÔ
=€CØ‡G�GˆAˆq„MØ�<‰<˜#Ÿ+™+Ò%Ð%Ñ%r/   c                 óþ   — ddgddgg}ddg}t        dddd¬«      }t        t        ¬	«      5  |j                  ||«       d d d «       |j	                  ||«       | j                  «       \  }}d
|v sJ ‚y # 1 sw Y   Œ5xY w)Nr   r   r0   r¶   r   rI   r   )rK   rN   Úverboser1   r3   Ú	Iteration)r   r   r   r8   rg   Ú
readouterr)Úcapsysr?   r@   r×   ÚoutÚ_s         r-   Útest_verbose_sgdr#  š  s‡   € à
ˆQˆ�!�Q�Ð€AØ	
ˆAˆ€AÜ
˜u¨q¸"ÐQRÔ
S€Cä	Ô"4Ô	5ñ Ø�‰��1Œ÷à‡O�O�A�qÔà×ÑÓ �F€CˆØ˜#ÑÐÑ÷ð ús   ¬A3Á3A<ÚMLPEstimatorc                 ó  — t         d d }t        d d }d} | |ddd¬«      }|j                  ||«       |j                  |j                  kD  sJ ‚|j
                  �J ‚t        |j                  t        «      sJ ‚|j                  }|j                  }t        |«      |k(  sJ ‚||z   |d   kD  sJ ‚||z   |d   kD  sJ ‚ | |ddd	¬«      }|j                  ||«       |j                  �J ‚|j                  �J ‚|j
                  €J ‚y )
Nr&   rP   r  rI   T)r«   rN   rK   rÊ   r·   éÿÿÿÿF)r5   r6   r8   rN   r[   ra   Ú
isinstanceÚvalidation_scores_ÚlistÚbest_validation_score_rò   )r$  r?   r@   r«   Úmlp_estimatorÚvalid_scoresÚbest_valid_scores          r-   Útest_early_stoppingr.  ¨  s>  € ä˜˜Ð€AÜ˜˜Ð€AØ
€CÙ Ø˜$ u¸Tô€Mð ×Ñ�a˜ÔØ×!Ñ! M×$9Ñ$9Ò9Ð9Ð9à×#Ñ#Ð+Ð+Ð+Ü�m×6Ñ6¼Ô=Ð=Ð=à ×3Ñ3€LØ$×;Ñ;ÐÜˆ|ÓÐ 0Ò0Ð0Ð0Ø˜cÑ! L°Ñ$4Ò4Ð4Ð4Ø˜cÑ! L°Ñ$4Ò4Ð4Ð4ñ !Ø˜$ u¸Uô€Mð ×Ñ�a˜ÔØ×+Ñ+Ð3Ð3Ð3Ø×/Ñ/Ð7Ð7Ð7Ø×#Ñ#Ð/Ð/Ñ/r/   c                  óÊ   — ddgddgg} ddg}t        dddd	¬
«      }|j                  | |«       |j                  |j                  kD  sJ ‚d|j                  j
                  kD  sJ ‚y )Nr   r   r0   r¶   r   rQ   r  rI   Úadaptive)r«   rN   rK   r¼   g�íµ ÷Æ°>)r   r8   rN   r[   rÀ   r¼   rÖ   s      r-   Útest_adaptive_learning_rater1  Ç  sh   € Ø
ˆQˆ�!�Q�Ð€AØ	
ˆAˆ€AÜ
˜C¨$°uÈJÔ
W€CØ‡G�GˆAˆq„MØ�<‰<˜#Ÿ+™+Ò%Ð%Ð%Ø�#—.‘.×.Ñ.Ò.Ð.Ñ.r/   c                  óv  — t         } t        }t        j                  dgdz  dgdz  z   «      }t        j                  dgdz  dgdz  z   dgdz  z   «      }t        j                  dgdz  dgdz  z   dgdz  z   «      }t        j                  dgd	z  dgd	z  z   dgd
z  z   dgd
z  z   «      }t        j                  dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  z   «      }t	        ddddd¬«      j                  | |«      }|j                  | |«       |j                  | |«       ||||fD ]ƒ  }t	        ddddd¬«      j                  | |«      }dt        j                  |«      z  }	t        j                  t        t        j                  |	«      ¬«      5  |j                  | |«       d d d «       Œ… y # 1 sw Y   Œ�xY w)Nr   éK   r0   é(   r   éF   rœ   r   é%   é&   r  r»   rp   Trn   rÏ   )r1   rK   r¾   r$   r«   z}warm_start can only be used where `y` has the same classes as in the previous call to fit. Previously got [0 1 2], `y` has %srî   )ÚX_irisÚy_irisr)   r:   r   r8   rÛ   r¯   rÔ   rÕ   ÚreÚescape)
r?   r@   Ú
y_2classesÚ
y_3classesÚy_3classes_altÚ
y_4classesÚ
y_5classesr×   Úy_iÚmessages
             r-   Útest_warm_startrC  Ð  sÓ  € Ü€AÜ€Aä—‘˜1˜# ™( a S¨2¡XÑ-Ó.€JÜ—‘˜1˜# ™( a S¨2¡XÑ-°°°b±Ñ8Ó9€JÜ—X‘X˜q˜c B™h¨!¨¨r©Ñ1°Q°C¸"±HÑ<Ó=€NÜ—‘˜1˜# ™( a S¨2¡XÑ-°°°b±Ñ8¸A¸3À¹8ÑCÓD€JÜ—‘˜1˜# ™( a S¨2¡XÑ-°°°b±Ñ8¸A¸3À¹8ÑCÀqÀcÈBÁhÑNÓO€Jô Ø W¸ÈBÐTXôç	�cˆ!ˆQƒið ð ‡G�GˆAˆq„MØ‡G�GˆAˆzÔà˜N¨J¸
ÐCò ˆÜØ ØØØØô
÷ ‰#ˆa�‹)ð 	ð2ä46·I±I¸c³NñCð 	ô
 �]‰]œ:¬R¯Y©Y°wÓ-?Ô@ñ 	Ø�G‰G�A�sŒO÷	ð 	ñ÷	ð 	ús   ÆF/Æ/F8	c                 óL  — t         t        }}d} | ddd|¬«      }t        j                  «       5  t        j                  dt
        «       |j                  ||«       ||j                  k(  sJ ‚|j                  ||«       ||j                  k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   r   rI   T)r1   rK   r¾   rN   rr   )r8  r9  r‚   rƒ   r„   r   r8   r[   )r$  r?   r@   rN   r×   s        r-   Útest_warm_start_full_iterationrE  ò  s—   € ô ”6€q€AØ€HÙ
Ø U°tÀhô€Cô 
×	 Ñ	 Ó	"ñ 'Ü×Ñ˜hÔ(:Ô;Ø�‰��1ŒØ˜3Ÿ;™;Ò&Ð&Ð&Ø�‰��1ŒØ˜3Ÿ;™;Ò&Ð&Ñ&÷'÷ 'ñ 'ús   ¯A!BÂB#c                  óÊ   — t         d d } t        d d }d}d}dD ]H  }t        ||d|¬«      }|j                  | |«       |j                  |dz   k(  sJ ‚||j
                  kD  rŒHJ ‚ y )Nr&   rÏ   r  )r   rm   r   rœ   r&   rI   ©r«   rN   rK   Ún_iter_no_changer0   )r5   r6   r   r8   rc   r[   )r?   r@   r«   rN   rH  r×   s         r-   Útest_n_iter_no_changerI    s‰   € ô 	˜˜Ð€AÜ˜˜Ð€AØ
€CØ€Hð 0ò &ÐÜØ˜h¨uÐGWô
ˆð 	�‰��1Œð ×(Ñ(Ð,<¸qÑ,@Ò@Ð@Ð@Ø˜#Ÿ+™+Ó%Ð%Ð%ñ&r/   z-ignore::sklearn.exceptions.ConvergenceWarningc                  óð   — t         d d } t        d d }d}t        j                  }d}t	        ||d|¬«      }|j                  | |«       |j                  |k(  sJ ‚|j                  |j                  dz
  k(  sJ ‚y )Nr&   g    eÍÍAr  rI   rG  r0   )r5   r6   r)   r`   r   r8   r[   rc   )r?   r@   r«   rH  rN   r×   s         r-   Útest_n_iter_no_change_infrK    s‰   € ô 	˜˜Ð€AÜ˜˜Ð€Að €Cô —v‘vÐØ€HÜ
Ø˜(¨5ÐCSô€Cð ‡G�GˆAˆq„Mð �;‰;˜(Ò"Ð"Ð"ð ×$Ñ$¨¯©°a©Ò7Ð7Ñ7r/   c                  óÄ   — ddgddgddgddgg} g d¢}t        d¬«      }t        j                  t        d	¬
«      5  |j	                  | |«       d d d «       y # 1 sw Y   y xY w)Nr0   r   r   r»   rm   )r   r   r   r0   TrÉ   zaThe least populated classes in y have only 1 member.*Classes with too few members are: \['True'\]rî   )r   r¯   rÔ   rÕ   r8   rÐ   s      r-   Útest_early_stopping_stratifiedrM  3  sg   € à
ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AÚ€Aä
 tÔ
,€CÜ	�‰Üð/ô
ñ ð 	�‰��1Œ÷÷ ñ úó   ºAÁAc                  óp  — t        ddddd¬«      \  } }t        j                  g d¢t        ¬«      }||   }t	        d	d
d¬«      }|j                  | |«       |j                  €J ‚t        |j                  «      |j                  k(  sJ ‚t        j                  |j                  «      j                  «       sJ ‚y)z�Check that labels can be strings when `early_stopping=True`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/33760
    r   r   r   rm   rn   )r    r!   r  Ún_informativer$   )Úclass_aÚclass_bÚclass_c)rŸ   Trœ   )rÊ   rN   r$   N)r   r)   r:   Úobjectr   r8   r(  r=   r[   Úisfiniter>   )r?   r@   ÚlabelsrD   s       r-   Ú%test_mlp_early_stopping_string_labelsrW  C  s¨   € ô ØØØØØô�D€A€qô �X‰XÒ7¼vÔF€FØˆq‰	€Aä
 t°bÀrÔ
J€CØ‡G�GˆAˆq„Mà×!Ñ!Ð-Ð-Ð-Üˆs×%Ñ%Ó&¨#¯+©+Ò5Ð5Ð5Ü�;‰;�s×-Ñ-Ó.×2Ñ2Ô4Ð4Ñ4r/   c                  óf  — t        ddddd¬«      } | j                  t        d d t        d d «       | j	                  t        dd  «      }| j                  t        dd  «      }t        ddddd¬«      }|j                  t        d d j                  t        j                  «      t        d d «       |j	                  t        dd  j                  t        j                  «      «      }|j                  t        dd  j                  t        j                  «      «      }t        ||«       t        ||d¬	«       y )
Nrq   ©rm   r   r0   r&   rJ   ©r2   r1   r$   rN   r«   é,  rÏ   ©Úrtol)r   r8   ÚX_digitsÚy_digitsr¡   rh   Úastyper)   Úfloat32r   r   )Úmlp_64Úpred_64Úproba_64Úmlp_32Úpred_32Úproba_32s         r-   Ú"test_mlp_classifier_dtypes_castingrh  [  sý   € äØ v¸AÈÐQUô€Fð ‡J�JŒx˜˜ˆ~œx¨¨˜~Ô.Ø�n‰nœX c d˜^Ó,€GØ×#Ñ#¤H¨S¨T NÓ3€HäØ v¸AÈÐQUô€Fð ‡J�JŒx˜˜ˆ~×$Ñ$¤R§Z¡ZÓ0´(¸4¸C°.ÔAØ�n‰nœX c d˜^×2Ñ2´2·:±:Ó>Ó?€GØ×#Ñ#¤H¨S¨T N×$9Ñ$9¼"¿*¹*Ó$EÓF€Hä�w Ô(Ü�H˜h¨UÖ3r/   c                  ó´  — t        ddddd¬«      } | j                  t        d d t        d d «       | j	                  t        dd  «      }t        ddddd¬«      }|j                  t        d d j                  t        j                  «      t        d d «       |j	                  t        dd  j                  t        j                  «      «      }t        ||d¬	«       y )
Nrq   rY  r0   r›   rª   rZ  r[  gü©ñÒMb@?r\  )	r   r8   r^  r_  r¡   r`  r)   ra  r   )rb  rc  re  rf  s       r-   Ú!test_mlp_regressor_dtypes_castingrj  o  s¸   € ÜØ v¸AÈÐQUô€Fð ‡J�JŒx˜˜ˆ~œx¨¨˜~Ô.Ø�n‰nœX c d˜^Ó,€GäØ v¸AÈÐQUô€Fð ‡J�JŒx˜˜ˆ~×$Ñ$¤R§Z¡ZÓ0´(¸4¸C°.ÔAØ�n‰nœX c d˜^×2Ñ2´2·:±:Ó>Ó?€Gä�G˜W¨5Ö1r/   rŸ   Ú	Estimatorc                 ó¾  — t         j                  | «      t        }} |ddddd¬«      }|j                  |d d |d d «       |j	                  |dd  «      }t        |j                  D �cg c]  }|j                  | k(  ‘Œ c}«      sJ ‚t        |j                  D �cg c]  }|j                  | k(  ‘Œ c}«      sJ ‚|t        k(  r|j                  | k(  sJ ‚y y c c}w c c}w )Nrq   rY  r0   rœ   rJ   rZ  r[  )
r^  r`  r_  r8   r¡   r>   rV   rŸ   r;   r   )rŸ   rk  r?   r@   rD   ÚpredÚ	interceptÚcoefs           r-   Útest_mlp_param_dtypesrp    sÐ   € ô
 �?‰?˜5Ó!¤8€q€AÙ
Ø v¸AÈÐPTô€Cð ‡G�GˆAˆdˆsˆG�Q�t˜�WÔØ�;‰;�q˜˜�wÓ€Dä¸#¿/¹/ÖJ¨Y�	—‘ 5Ó(ÒJÔKÐKÐKä°·
±
Ö;¨�—
‘
˜eÓ#Ò;Ô<Ð<Ð<à”LÒ Ø�z‰z˜UÒ"Ð"Ñ"ð !ùò	 Kùâ;s   Á(CÂCc                 óD  — t        dddd¬«      }dggdg}}|j                  ||«       | dz  }t        j                  ||«       t        j                  |«      }dggd	g}}t        d«      D ]  }|j                  ||«       Œ |j                  |«      }	t        |	|d
¬«       y)zYLoading from MLP and partial fitting updates weights. Non-regression
    test for #19626.)rn   rn   rÏ   r   )r1   r$   rL   rN   r   r»   zmlp.pklr0   ç-Cëâ6?r\  N)	r   r8   ÚjoblibÚdumpÚloadr<   rg   r¡   r   )
Útmp_pathÚpre_trained_estimatorÚfeaturesÚtargetÚpickled_fileÚload_estimatorÚfine_tune_featuresÚfine_tune_targetr"  Úpredicted_values
             r-   Ú(test_mlp_loading_from_joblib_partial_fitr  “  s¿   € ô )Ø ¨rÀdÐUXôÐð ˜�u˜q˜cˆf€Hð ×Ñ˜h¨Ô/ð ˜iÑ'€LÜ
‡K�KÐ% |Ô4Ü—[‘[ Ó.€Nð ./¨C¨5°1°#Ð(Ðä�3‹Zò IˆØ×"Ñ"Ð#5Ð7GÕHðIð %×,Ñ,Ð-?Ó@€OÜ�OÐ%5¸DÖAr/   c                 óÂ  — t        j                  d«      }t        j                  j	                  d«      }|j                  |j                  dd«      ddg¬«      }|j                  t        j                  dd«      d	¬
«      } | dd¬«      }t        j                  «       5  t        j                  dt        «       |j                  ||«       ddd«       y# 1 sw Y   yxY w)z¸Check that feature names are preserved when early stopping is enabled.

    Feature names are required for consistency checks during scoring.

    Non-regression test for gh-24846
    Úpandasr   r   r   Ú	colname_aÚ	colname_b)ÚdataÚcolumnsr0   Ú	colname_y)r„  ÚnameTrP   )rÊ   Úvalidation_fractionÚerrorN)r¯   Úimportorskipr)   r|   r}   Ú	DataFrameÚrandnÚSeriesÚfullr‚   rƒ   r„   ÚUserWarningr8   )rk  Úpdrõ   r?   r@   Úmodels         r-   Útest_preserve_feature_namesr’  ®  s°   € ô 
×	Ñ	˜XÓ	&€BÜ
�)‰)×
Ñ
 Ó
"€Cà
�‰˜#Ÿ)™) B¨Ó*°[À+Ð4NˆÓO€AØ
�	‰	”r—w‘w˜r 1“~¨Kˆ	Ó8€Aá T¸sÔC€Eä	×	 Ñ	 Ó	"ñ Ü×Ñ˜g¤{Ô3Ø�	‰	�!�QŒ÷÷ ñ ús   Â-CÃCc                 óŒ  —  | dddd¬«      }t        j                  «       5  t        j                  dt        «       |j	                  t
        t        «       t        |j                  «      }|j                  d¬«       |j	                  t
        t        «       ddd«       t        |j                  «      kD  sJ ‚y# 1 sw Y   Œ$xY w)	z0Check that early stopping works with warm start.r   r   T)rN   r$   r¾   rÊ   rr   é   ©rN   N)
r‚   rƒ   r„   r   r8   r8  r9  r=   r(  Ú
set_params)r$  rD   Ún_validation_scoress      r-   Ú'test_mlp_warm_start_with_early_stoppingr˜  Ã  s¢   € ñ Ø !°ÀTô€Cô 
×	 Ñ	 Ó	"ñ  Ü×Ñ˜hÔ(:Ô;Ø�‰”œÔÜ! #×"8Ñ"8Ó9ÐØ�‰ ˆÔ#Ø�‰”œÔ÷ ô ˆs×%Ñ%Ó&Ð)<Ò<Ð<Ñ<÷ ð  ús   ¡A6B:Â:CrK   )rI   Úadamrp   c                 óÄ  —  | |dddt         j                  d¬«      }t        j                  t        «      5  |j                  t        t        «       ddd«       |j                  dk(  sJ ‚|j                  d¬«       t        j                  t        «      5  |j                  t        t        «       ddd«       |j                  dk(  sJ ‚y# 1 sw Y   ŒzxY w# 1 sw Y   Œ'xY w)	z­Check that we stop the number of iteration at `max_iter` when warm starting.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/24764
    TFr   r   )rK   r¾   rÊ   rN   rH  r$   Nr”  r•  )
r)   r`   r¯   r°   r   r8   r8  r9  r[   r–  )r$  rK   r‘  s      r-   Ú"test_mlp_warm_start_no_convergencer›  Ò  s»   € ñ ØØØØÜŸ™Øô€Eô 
�‰Ô(Ó	)ñ "Ø�	‰	”&œ&Ô!÷"à�=‰=˜BÒÐÐà	×Ñ˜bÐÔ!Ü	�‰Ô(Ó	)ñ "Ø�	‰	”&œ&Ô!÷"à�=‰=˜BÒÐÑ÷"ð "ú÷
"ð "ús   ¶C
ÂCÃ
CÃCc                 óà   —  | dd¬«      j                  t        t        «      }d}t        j                  t
        |¬«      5  |j                  t        t        «       ddd«       y# 1 sw Y   yxY w)zoCheck partial fit does not fail after fit when early_stopping=True.

    Non-regression test for gh-25693.
    Tr   ©rÊ   r$   z0partial_fit does not support early_stopping=Truerî   N)r8   r8  r9  r¯   rÔ   rÕ   rg   )r$  rD   r÷   s      r-   Útest_mlp_partial_fit_after_fitrž  í  sS   € ñ  d¸Ô
;×
?Ñ
?ÄÌÓ
O€Cà
<€CÜ	�‰”z¨Ô	-ñ (Ø�‰œ¤Ô'÷(÷ (ñ (ús   Á A$Á$A-c                  óÄ  — t        dddddddddd	d
¬«      } t        j                  «       5  t        j                  dt        «       t        j                  dt
        «       | j                  t        t        «       ddd«       t        | j                  d   «      t        t        j                  «      k(  sJ ‚t        | j                  d   t        «      sJ ‚y# 1 sw Y   Œ]xY w)z²Test that a diverging model does not raise errors when early stopping is enabled.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/29504
    r&   r   rI   rr  rº   r0   Tr”  r   r   )r1   rM   rK   r2   r¼   rL   r�   rN   rÊ   rH  r$   rr   Nr&  )r   r‚   rƒ   r„   ÚRuntimeWarningr   r8   r8  r9  Ústrr(  r)   Únanr'  Úfloat)rD   s    r-   Útest_mlp_diverging_lossr¤  ú  sÆ   € ô ØØØØØ ØØØØØØô€Cô 
×	 Ñ	 Ó	"ñ  ô 	×Ñ˜h¬Ô7Ü×Ñ˜hÔ(:Ô;Ø�‰”œÔ÷ ô ˆs×%Ñ% bÑ)Ó*¬c´"·&±&«kÒ9Ð9Ð9Ü�c×,Ñ,¨RÑ0´%Ô8Ð8Ñ8÷ ð  ús   «ACÃCc            	      óB  — t        dddd¬«      \  } }t        j                  |«      }t        ddddddd¬	«      }t	        di |¤Ž}|j                  | ||¬
«       t	        di |¤Žj                  | |d ¬
«      }t        |j                  | «      |j                  | «      «       y )Nr&   r   rn   )r    r!   rP  r$   r   r™  TrÏ   )r1   rK   rÊ   r«   rL   ræ   r$   )Úsample_weight© )r   r)   Ú	ones_likeÚdictr   r8   r   r¡   )r?   r@   ÚswÚparamsÚm1Úm2s         r-   Ú*test_mlp_sample_weight_with_early_stoppingr®    s«   € äØØØØô	�D€A€qô 
�‰�a‹€BÜØØØØØØØô€Fô 
ñ 
Ø
ñ
€Bð ‡F�Fˆ1ˆa˜r€FÔ"ä	Ñ	˜Ñ	×	#Ñ	# A q¸Ð	#Ó	=€BÜ�B—J‘J˜q“M 2§:¡:¨a£=Õ1r/   c                 óð  — d}t         j                  j                  | «      }t        j                  dd|«      }|j	                  t        j
                  |dz   «      «      }|j                  |d«      }t        dd¬«      j                  ||«      }t        ddd	dd
dt         j                  j                  | dz   «      ¬«      j                  ||«      }t        |j                  |«      |j                  |«      d¬«       t        ddd	dd
dt         j                  j                  | dz   «      ¬«      j                  ||«      }t        j                  |j                  |«      |j                  |«      d¬«      rJ ‚y)z:Test MLP with Poisson loss and no hidden layer equals GLM.r&   r   r0   r&  gH¯¼šò×z>)r2   r«   Úpoisson)r0   r   rp   )Úlossr1   rM   r2   rK   r«   r$   rr  r\  Úsquared_errorN)r)   r|   Údefault_rngÚlinspacer°  ÚexpÚreshaper	   r8   r   r}   r   r¡   Úallclose)Úglobal_random_seedr•   rõ   r?   r@   ÚglmrD   s          r-   Ú"test_mlp_vs_poisson_glm_equivalentrº  5  sF  € à€AÜ
�)‰)×
Ñ
Ð 2Ó
3€CÜ
�‰�A�q˜!Ó€AØ�‰”B—F‘F˜1˜q™5“MÓ"€AØ	�	‰	�!�RÓ€AÜ
 ¨Ô
-×
1Ñ
1°!°QÓ
7€Cô ØØØØØØÜ—Y‘Y×*Ñ*Ð+=ÀÑ+AÓBô÷ 
�cˆ!ˆQƒið ô �C—K‘K “N C§K¡K°£N¸Õ>ô ØØØØØØÜ—Y‘Y×*Ñ*Ð+=ÀÑ+AÓBô÷ 
�cˆ!ˆQƒið ô �{‰{˜3Ÿ;™; q›>¨3¯;©;°q«>ÀÕEÐEÐEÐEr/   c                  óÄ   — t        ddd¬«      \  } }t        dd¬«      }t        j                  t        d¬«      5  |j                  | |«       d	d	d	«       y	# 1 sw Y   y	xY w)
z9Check error message when the validation set is too small.r   rm   r   )r    r!   r$   Tr�  zThe validation set is too smallrî   N)r   r   r¯   rÔ   rÕ   r8   )r?   r@   r‘  s      r-   Útest_minimum_input_sample_sizer¼  Z  sQ   € ä Q°1À1ÔE�D€A€qÜ¨¸1Ô=€EÜ	�‰”zÐ)JÔ	Kñ Ø�	‰	�!�QŒ÷÷ ñ úrN  )bÚ__doc__r:  r‚   rs  Únumpyr)   r¯   Úsklearn.datasetsr   r   r   r   r   Úsklearn.exceptionsr   Úsklearn.linear_modelr	   Úsklearn.metricsr
   Úsklearn.neural_networkr   r   Úsklearn.preprocessingr   r   r   Úsklearn.utils._testingr   r   r   r   Úsklearn.utils.fixesr   r�   r^  r_  r€   r  r  r5   r6   rÚ   rç   rè   Úregression_datasetsÚirisr„  r8  ry  r9  rF   rk   r™   ÚmarkÚparametrizer¨   r¬   r²   r´   rÄ   rË   rÑ   rØ   rÞ   rä   ré   rì   rø   r  r	  r  r  r  r  r#  r.  r1  rC  rE  rI  ÚfilterwarningsrK  rM  rW  rh  rj  ra  rñ   rp  r  r’  r˜  r›  rž  r¤  r®  rº  r¼  r§  r/   r-   ú<module>rÌ     s  ðñó 
Û ã Û Û ÷õ õ 2Ý 1Ý )ß >ß EÑ E÷ó õ /â;Ð á ¨°tÔ<Ñ €ˆ(á“×-Ñ-¨h°t¸¨nÓ=€Ø˜$˜3�€á ¨°tÔ<Ñ €ˆ(á“.×.Ñ.¨x¸¸¨~Ó>€Ø˜4˜C�.€ð �^Ð$Ø�oÐ&ðÐ ñ
 Ø˜b t°5Àqô�€€uñ 	ˆe‹€Ø˜u�~Ð&Ð áƒ{€à	�‰€Ø	�‰€ò?ò*^FòB@/ðF ‡�×Ñ˜Ð 7Ó8ñRó 9ðRð0 ‡�×Ñ˜Ð 3Ó4ñ*ó 5ð*ð( ‡�×Ñ˜Ð 7Ó8ñ*ó 9ð*ð( ‡�×Ñ˜Ð 3Ó4ñ*ó 5ð*ò*Pò2#òL!ò.ò&ò6Eò"òJ
Eòò*2ò.2ò*2ò0'>ðT ‡�×Ñ˜¨.Ó9ñ%ó :ð%ò &òð ‡�×Ñ˜¨-¸Ð)FÓGñ0ó Hð0ò</òðD ‡�×Ñ˜¨-¸Ð)FÓGñ'ó Hð'ò$&ð( ‡�×ÑÐKÓLñ8ó Mð8ò2ò 5ò04ò(2ð  ‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;Ø‡�×Ñ˜ }°lÐ&CÓDñ#ó Eó <ð#ò$Bð6 ‡�×Ñ˜ }°lÐ&CÓDñó Eðð( ‡�×Ñ˜¨-¸Ð)FÓGñ=ó Hð=ð ‡�×Ñ˜¨-¸Ð)FÓGØ‡�×Ñ˜Ò#;Ó<ñó =ó Hðð2 ‡�×Ñ˜¨-¸Ð)FÓGñ	(ó Hð	(ò9ò@2ò6"FóJr/   