§
    rŠtj«£ ã                   ó&  — d dl 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
 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 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 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+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z; d dl<m=Z=m>Z>m?Z? d dl<m@ZA d dlBmCZCmDZD d dlEmFZFmGZGmHZH ejI         J                    d¦  «        ZKejI         J                    d¦  «        ZKdZLdd gd dgddggZMg d¢ZNg d¢ZO e¦   «         ZPd„ ZQejI         R                    deH¦  «        d „ ¦   «         ZSejI         R                    deH¦  «        d!„ ¦   «         ZTejI         J                    d"¦  «        ejI         R                    d#d$d%g¦  «        d&„ ¦   «         ¦   «         ZUejI         J                    d'¦  «        ejI         J                    d(¦  «        ejI         R                    d)e e!g¦  «        d*„ ¦   «         ¦   «         ¦   «         ZVejI         J                    d'¦  «        ejI         J                    d+¦  «        ejI         R                    d)d,ge d-fe!d.fg¦  «        d/„ ¦   «         ¦   «         ¦   «         ZWejI         R                    d0eG¦  «        d1„ ¦   «         ZXd2„ ZYd3„ ZZd4„ Z[d5„ Z\d6„ Z]ejI        j^        d7„ ¦   «         Z_ejI         R                    d8d9d:g¦  «        d;„ ¦   «         Z`ejI         J                    d'¦  «        d<„ ¦   «         Zad=„ ZbejI         R                    d>d?d@gfdAdBdCgfdDdBdCgfdEd@gfdFdBdCgfg¦  «        dG„ ¦   «         ZcdH„ ZdejI         R                    d8d9d:g¦  «        dI„ ¦   «         ZeejI         R                    dJd:d9g¦  «        ejI         R                    dKdLdMg¦  «        dN„ ¦   «         ¦   «         ZfdO„ ZgejI         R                    dPd:d9g¦  «        dQ„ ¦   «         ZhejI         R                    dPd:d9g¦  «        dR„ ¦   «         ZiejI         R                    d#eL¦  «        ejI         R                    deH¦  «        dS„ ¦   «         ¦   «         ZjejI         R                    dTdUdVdWœdUdVdXdYœg¦  «        ejI         R                    dZdTd[g¦  «        d\„ ¦   «         ¦   «         ZkejI         J                    d'¦  «        ejI         J                    d(¦  «        ejI         R                    d]d^¦  «        ejI         R                    d#eL¦  «        d_„ ¦   «         ¦   «         ¦   «         ¦   «         ZlejI         R                    d#eL¦  «        d`„ ¦   «         Zmda„ Zndb„ ZoejI         R                    ddc„ geHz   ¦  «        dd„ ¦   «         Zpde„ Zqdf„ ZrejI        j^        ejI         R                    deH¦  «        dg„ ¦   «         ¦   «         ZsejI         R                    d-dd g¦  «        dh„ ¦   «         Ztdi„ ZuejI         R                    dj ejv        ddk¦  «        ¦  «        ejI         R                    dlg dm¢¦  «        dn„ ¦   «         ¦   «         ZwejI         R                    d#eL¦  «        ejI         R                    d8d9d:g¦  «        do„ ¦   «         ¦   «         ZxejI         R                    d# ey ezeL¦  «         ezdpg¦  «        z
  ¦  «        ¦  «        ejI         R                    dqdr¦  «        ejI         R                    dPdr¦  «        ds„ ¦   «         ¦   «         ¦   «         Z{ejI         R                    d#d%dtg¦  «        ejI         R                    dPdr¦  «        ejI         R                    dudej|        f¦  «        dv„ ¦   «         ¦   «         ¦   «         Z}ejI         R                    d-dW¦  «        ejI         R                    deH¦  «        dw„ ¦   «         ¦   «         Z~ejI         R                    d#eL¦  «        ejI         R                    dPd:d9g¦  «        ejI         R                    deH¦  «        dx„ ¦   «         ¦   «         ¦   «         Zdy„ Z€dz„ Z�ejI         J                    d{¦  «        ejI         R                    dug d|¢¦  «        ejI         R                    d}d~dg¦  «        d€„ ¦   «         ¦   «         ¦   «         Z‚ejI         R                    dug d�¢¦  «        d‚„ ¦   «         ZƒejI         R                    du ej„        dƒdLd„¦  «        ¦  «        ejI         R                    d-g d…¢¦  «        d†„ ¦   «         ¦   «         Z…ejI         R                    dKd‡¦  «        dˆ„ ¦   «         Z†ejI         R                    d.d‰ ej‡        d ddL¦  «        f¦  «        ejI         R                    dKd‡¦  «        dŠ„ ¦   «         ¦   «         ZˆejI         R                    dKd‡¦  «        d‹„ ¦   «         Z‰dŒ„ ZŠejI         J                    d{¦  «        d�„ ¦   «         Z‹ejI         R                    du ej„        dƒdLd„¦  «        ¦  «        ejI         R                    d-g d…¢¦  «        dŽ„ ¦   «         ¦   «         ZŒd�„ Z�d�„ ZŽejI         J                    d{¦  «        ejI         R                    d# ey ezeL¦  «         ezdpg¦  «        z
  ¦  «        ¦  «        d‘„ ¦   «         ¦   «         Z�ejI         R                    d# ey ezeL¦  «         ezdpg¦  «        z
  ¦  «        ¦  «        d’„ ¦   «         Z�ejI        j^        ejI         R                    d“dd:d”d•d–œd d9d—d•d–œd d:d—d•d–œg¦  «        d˜„ ¦   «         ¦   «         Z‘d™„ Z’ejI         R                    d#g dš¢¦  «        ejI         R                    dPd:d9g¦  «        d›„ ¦   «         ¦   «         Z“ejI         R                    dZdœd�dœdYœd[g¦  «        dž„ ¦   «         Z”ejI         R                    d#eL¦  «        ejI         R                    deH¦  «        dŸ„ ¦   «         ¦   «         Z•d „ Z–d¡„ Z—d¢„ Z˜ ed9¬£¦  «        d¤„ ¦   «         Z™d¥„ ZšejI         R                    d#eL¦  «        d¦„ ¦   «         Z›d§„ Zœd¨„ Z�ejI         J                    d'¦  «        ejI         J                    d(¦  «        ejI         R                    d©e e!g¦  «        dª„ ¦   «         ¦   «         ¦   «         ZžejI         J                    d'¦  «        ejI         J                    d«¦  «        ejI         R                    d¬e e!g¦  «        d­„ ¦   «         ¦   «         ¦   «         ZŸd®„ Z ejI         J                    d¯¦  «        ejI         J                    d«¦  «        d°„ ¦   «         ¦   «         Z¡d±„ Z¢ejI         R                    d²d:d9g¦  «        ejI         R                    d³d:d9g¦  «        ejI         R                    d´d:d9g¦  «        ejI         R                    dZg dµ¢¦  «        ejI         R                    d¶ e?¦   «         ¦  «        ejI         J                    d"¦  «        d·„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z£ejI         J                    d¸¦  «        ejI         R                    d}d¹dºg¦  «        d»„ ¦   «         ¦   «         Z¤ejI         J                    d«¦  «        d¼„ ¦   «         Z¥ejI         J                    d'¦  «        d½„ ¦   «         Z¦ejI         R                    d²d9d:g¦  «        ejI         R                    d¶ e?¦   «         ¦  «        ejI         J                    d"¦  «        d¾„ ¦   «         ¦   «         ¦   «         Z§ejI         R                    djg d¿¢¦  «        edÀ„ ¦   «         ¦   «         Z¨ejI         R                    dKdLdMg¦  «        ejI         R                    dPd9d:g¦  «        edÁ„ ¦   «         ¦   «         ¦   «         Z©edÂ„ ¦   «         ZªdS )Ãé    N)Úassert_allcloseÚassert_array_almost_equalÚassert_array_equal)Úsparse)ÚLinAlgWarningÚsvd)Úconfig_context)ÚHalfMultinomialLoss)Úclone)ÚRecordingCallbackÚskip_callback_test_if_wasm)Ú	load_irisÚmake_classificationÚmake_low_rank_matrix)ÚConvergenceWarning)ÚLogisticRegressionÚLogisticRegressionCVÚSGDClassifier)Ú_log_reg_scoring_pathÚ_logistic_regression_path)Úbrier_score_lossÚ
get_scorerÚlog_loss)ÚGridSearchCVÚKFoldÚLeaveOneGroupOutÚStratifiedKFoldÚcross_val_scoreÚtrain_test_split)ÚOneVsRestClassifier)ÚLabelEncoderÚStandardScalerÚscale)Úl1_min_c)Úcompute_class_weightÚshuffle)Ú_atol_for_typeÚmove_toÚ)yield_namespace_device_dtype_combinations©Údevice)Ú_array_api_for_testsÚignore_warnings)Ú	_IS_32BITÚCOO_CONTAINERSÚCSR_CONTAINERSz6error::sklearn.exceptions.ConvergenceWarning:sklearn.*z6ignore:The default value for l1_ratios.*:FutureWarning)ÚlbfgsÚ	liblinearú	newton-cgúnewton-choleskyÚsagÚsagaéÿÿÿÿé   )r   r8   r8   )é   r8   r   c                 ó  — t          |¦  «        }t          j        |¦  «        }|j        d         }|                      ||¦  «                             |¦  «        }t          | j        |¦  «         |j        |fk    sJ ‚t          ||¦  «         |                      |¦  «        }|j        ||fk    sJ ‚t          | 
                    d¬¦  «        t          j        |¦  «        ¦  «         t          |                     d¬¦  «        |¦  «         dS )z;Check that the model is able to fit the classification datar   r8   ©ÚaxisN)ÚlenÚnpÚuniqueÚshapeÚfitÚpredictr   Úclasses_Úpredict_probar   ÚsumÚonesÚargmax)ÚclfÚXÚyÚ	n_samplesÚclassesÚ	n_classesÚ	predictedÚprobabilitiess           úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_logistic.pyÚcheck_predictionsrQ   E   sú   € å�A‘”€IÝŒi˜‰lŒl€GØ”˜aÔ €Ià—’˜˜1‘”×%Ò% aÑ(Ô(€IÝ�s”| WÑ-Ô-Ð-àŒ?˜y˜lÒ*Ð*Ð*Ð*Ý�y !Ñ$Ô$Ð$à×%Ò% aÑ(Ô(€MØÔ 9¨iÐ"8Ò8Ð8Ð8Ð8Ý�M×%Ò%¨1Ð%Ñ-Ô-­r¬w°yÑ/AÔ/AÑBÔBÐBÝ�}×+Ò+°Ð+Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7ó    Úcsr_containerc                 ó   — t          t          ¦   «         t          t          ¦  «         t          t          ¦   «          | t          ¦  «        t          ¦  «         t          t          d¬¦  «        t          t          ¦  «         t          t          d¬¦  «         | t          ¦  «        t          ¦  «         t          t          d¬¦  «        t          t          ¦  «         t          t          d¬¦  «         | t          ¦  «        t          ¦  «         d S )Néd   ©ÚCF©Úfit_intercept)rQ   r   rI   ÚY1©rS   s    rP   Útest_predict_2_classesr\   W   sÓ   € õ Õ(Ñ*Ô*­A­rÑ2Ô2Ð2ÝÕ(Ñ*Ô*¨M¨M½!Ñ,<Ô,<½bÑAÔAÐAåÕ(¨3Ð/Ñ/Ô/µµBÑ7Ô7Ð7ÝÕ(¨3Ð/Ñ/Ô/°°½qÑ1AÔ1AÅ2ÑFÔFÐFåÕ(°uÐ=Ñ=Ô=½qÅ"ÑEÔEÐEÝÕ(°uÐ=Ñ=Ô=¸}¸}ÍQÑ?OÔ?OÕQSÑTÔTÐTÐTÐTrR   c                 ó¼   — t          t          d¬¦  «        t          t          ¦  «         t          t          d¬¦  «         | t          ¦  «        t          ¦  «         d S )Né
   rV   )rQ   r   rI   ÚY2r[   s    rP   Útest_predict_3_classesr`   e   sN   € åÕ(¨2Ð.Ñ.Ô.µµ2Ñ6Ô6Ð6ÝÕ(¨2Ð.Ñ.Ô.°°½aÑ0@Ô0@Å"ÑEÔEÐEÐEÐErR   z,error::sklearn.exceptions.ConvergenceWarningÚsolverr1   r4   c                 ó  — t          j        g d¢g d¢g¦  «        j        }t          j        g d¢¦  «        }t          d|j        d         z  ddd| ¬	¦  «        }|                     ||¦  «         t          |j        d
d¬¦  «         t          |j        ddggd¬¦  «         t          j        g d¢¦  «        }|                     ||¦  «         t          |j        g d¢d¬¦  «         t          |j        ddgddgddggdd¬¦  «         dS )z<Compare Logistic regression with L2 regularization to glmnet)	éüÿÿÿéýÿÿÿéþÿÿÿr7   r   r8   r9   é   é   )	r   r   r8   r   r8   r8   r8   r   r   )	r   r   r   r8   r8   r8   r8   r8   r8   ç      ð?r   Tç:Œ0âŽyE>é,  )rW   rY   ÚtolÚmax_iterra   g…Ÿÿ;Á�ì?çñhãˆµøä>©Úrtolg&+4uÜ?gGÈG‹ÔÙ�?)	r   r   r   r8   r8   r8   r9   r9   r9   )g:Mup»¾¿gH"qœ†ÒÌ?gÕôóÃœéº¿g´ÀÞ‰ÀUØ¿g²	¸Wd‰¿g0R´Éf¿g§'u±ª=¨?gnH‡öWØ?g;%‡›ö¡¿©ro   ÚatolN)	r>   ÚarrayÚTr   r@   rA   r   Ú
intercept_Úcoef_)ra   rI   rJ   Úglms       rP   Útest_logistic_glmnetrw   k   sS  € õ  	ŒÐ1Ð1Ð1Ð3NÐ3NÐ3NÐOÑPÔPÔR€AÝ
ŒÐ,Ð,Ð,Ñ-Ô-€AÝ
Ø
�!”'˜!”*Ñ
ØØØØðñ ô €Cð ‡G‚GˆAˆq�M„M€MÝ�C”N M¸Ð=Ñ=Ô=Ð=Ý�C”I °Ð >Ð?ÀdÐKÑKÔKÐKõ6 	ŒÐ,Ð,Ð,Ñ-Ô-€AØ‡G‚GˆAˆq�M„M€MÝØŒÐHÐHÐHÈtðñ ô ð õ ØŒ	à˜^Ð,Ø˜Ð/Ø˜=Ð)ð	
ð
 Øð	ñ 	ô 	ð 	ð 	ð 	rR   z1ignore:The default value.*scoring.*:FutureWarningz.ignore:.*use_legacy_attributes.*:FutureWarningÚLRc                 óx  — t           j        t           j        }}dD ]]}d|› d�} | |¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ^dD ]v}d|z  }| t          k    r | |d¬	¦  «        }n | |d
¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒwdD ]]}d|z  } | |d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ^dD ]w}d|› d�}| t          k    r | |d¬	¦  «        }n | |d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œx| t          u red} | t          j	        d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )N©r2   zThe 'z4' solver does not support multiclass classification.©ra   ©Úmatch)r1   r3   r4   r5   z/Solver %s supports only 'l2' or None penalties,r8   )ra   Úl1_ratio©r8   )ra   Ú	l1_ratios)r1   r3   r4   r5   r6   z1Solver %s supports only dual=False, got dual=TrueT)ra   Údualz;Only 'saga' solver supports elasticnet penalty, got solver=ú.ç      à?)rƒ   z6penalty=None is not supported for the liblinear solverr2   ©rW   ra   )
ÚirisÚdataÚtargetÚpytestÚraisesÚ
ValueErrorrA   r   r>   Úinf)rx   rI   rJ   ra   ÚmsgÚlrs         rP   Útest_check_solver_optionrŽ   ³   sÅ  € õ
 Œ9•d”k€q€Að  ð ð ˆØR�fÐRÐRÐRˆØˆR�vÐÑÔˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð Cð ð ˆØ?À&ÑHˆØÕ#Ò#Ð#Ø�˜6¨AÐ.Ñ.Ô.ˆBˆBà�˜6¨TÐ2Ñ2Ô2ˆBÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øàJð ð ˆØAÀFÑJˆØˆR�v DÐ)Ñ)Ô)ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð  ð ð ˆØUÈFÐUÐUÐUˆØÕ#Ò#Ð#Ø�˜6¨CÐ0Ñ0Ô0ˆBˆBà�˜6¨VÐ4Ñ4Ô4ˆBÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð
 
ÕÐÐØFˆØˆR•"”& Ð-Ñ-Ô-ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð  ÐsZ   Á
A-Á-A1	Á4A1	ÃC&Ã&C*	Ã-C*	Ä#EÅE
	ÅE
	ÆG Ç G	ÇG	È	H-È-H1È4H1zignore::FutureWarningÚargr~   r€   c                 ó  —  | ddddœ|d i¤Ž}t          j        t          d¬¦  «        5  |                     t	          j        ddgdd	gg¦  «        t	          j        d
dg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ
elasticnetr6   )Úpenaltyra   z.*l1_ratio.*r|   r8   r9   rf   rg   r   © )rˆ   r‰   rŠ   rA   r>   rr   )rx   r�   Úmodels      rP   Ú$test_elasticnet_l1_ratio_err_helpfulr•   æ   sê   € ð ˆBÐB�|¨FÐBÐB°s¸D°kÐBÐB€EÝ	Œ•z¨Ð	9Ñ	9Ô	9ð @ð @Ø�	Š	•"”(˜Q ˜F Q¨ FÐ+Ñ,Ô,­b¬h¸¸1°vÑ.>Ô.>Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   ©AA9Á9A=Â A=Úcoo_containerc                 ó€  — t           j        j        \  }}t           j        t           j                 }t          t           j        ¦  «        }t          ¦   «                              ||¦  «        }|                     |¦  «        }| 	                    ¦   «          t          j        |j        ¦  «        sJ ‚|                     |¦  «        } | |¦  «        }|                     |¦  «        }	|                     ¦   «          |                     |¦  «        }
t          ||¦  «         t          ||	¦  «         t          ||
¦  «         d S ©N)r…   r†   r@   Útarget_namesr‡   r#   r   rA   Údecision_functionÚsparsifyr   Úissparseru   Údensifyr   )r–   rK   Ú
n_featuresr‡   rI   rH   Úpred_d_dÚpred_s_dÚsp_dataÚpred_s_sÚpred_d_ss              rP   Útest_sparsifyr¤   õ   s  € õ !œIœOÑ€IˆzÝÔ�tœ{Ô+€FÝ�dŒiÑÔ€AÝ
Ñ
Ô
×
"Ò
" 1 fÑ
-Ô
-€Cà×$Ò$ QÑ'Ô'€Hà‡L‚L�N„N€NÝŒ?˜3œ9Ñ%Ô%Ð%Ð%Ð%Ø×$Ò$ QÑ'Ô'€Hàˆm˜AÑÔ€GØ×$Ò$ WÑ-Ô-€Hà‡K‚K�M„M€MØ×$Ò$ WÑ-Ô-€Hå˜h¨Ñ1Ô1Ð1Ý˜h¨Ñ1Ô1Ð1Ý˜h¨Ñ1Ô1Ð1Ð1Ð1rR   c                  óf  — t           j                             d¦  «        } |                      d¦  «        }t          j        |j        d         ¦  «        }d|d<   t          d¬¦  «        }|d d…         }t          j        t          d¬¦  «        5  | 
                    t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | 
                    ||¦  «                             |                      d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   )é   r^   ©Úrandom_stater7   z.Found input variables with inconsistent numberr|   zX has 12 features, but)rf   é   )r>   ÚrandomÚRandomStateÚrandom_samplerF   r@   r   rˆ   r‰   rŠ   rA   rI   rB   )ÚrngÚX_Úy_rH   Úy_wrongs        rP   Útest_inconsistent_inputr±     s™  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ	×	Ò	˜7Ñ	#Ô	#€BÝ	Œ�”˜!”Ñ	Ô	€BØ€B€q�Eå
¨!Ð
,Ñ
,Ô
,€Cð ��"�Œg€Gå	ŒÝÐJð
ñ 
ô 
ð ð ð 	�Š•�7ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÐ)AÐ	BÑ	BÔ	Bð <ð <Ø�Š��B‰Œ×Ò × 1Ò 1°'Ñ :Ô :Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s$   ÂB6Â6B:Â=B:Ã=D&Ä&D*Ä-D*c                  óâ   — t          ¦   «         } |                      t          t          ¦  «         d| j        d d …<   d| j        d d …<   t          |                      t          ¦  «        d¦  «         d S )Nr   )r   rA   rI   rZ   ru   rt   r   rš   ©rH   s    rP   Útest_write_parametersr´   $  sa   € å
Ñ
Ô
€CØ‡G‚G�A�r�N„N€NØ€C„Iˆaˆaˆa�LØ€C„N�1�1�1ÑÝ˜c×3Ò3µAÑ6Ô6¸Ñ:Ô:Ð:Ð:Ð:rR   c                  ó(  — t          j        t          t           j        ¬¦  «        } t           j        | d<   t          ¦   «         }t          j        t          d¬¦  «        5  | 	                    | t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©Údtype©r   r8   zInput X contains NaN.r|   )r>   rr   rI   Úfloat64Únanr   rˆ   r‰   rŠ   rA   rZ   )ÚXnanrH   s     rP   Útest_nanr¼   -  s¾   € õ Œ8•A�RœZÐ(Ñ(Ô(€DÝ”€Dˆ�JÝ
Ñ
Ô
€Cå	Œ•zÐ)@Ð	AÑ	AÔ	Að ð Ø�Š�•bÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁBÂBÂBc                 ó¼  — t           j                             | ¦  «        }t          j        |                     dd¦  «        ddgz   |                     dd¦  «        f¦  «        }dgdz  dgdz  z   }t          j        ddd¦  «        }t          }dD ]Ÿ}  |t          ¦  «        ||ddg|d	d
|d| ¬¦	  «	        \  }}}t          |¦  «        D ]e\  }	}
t          |
d	d
|| d¬¦  «        }| 
                    ||¦  «         |j                             ¦   «         }t          |||	         dd|z  ¬¦  «         ŒfŒ dD ]ª}dg}  |t          ¦  «        ||ddg|d|d| ¬¦  «        \  }}}t          |d         dd| |¬¦  «        }| 
                    ||¦  «         t          j        |j                             ¦   «         |j        g¦  «        }t          ||d         dd|z  ¬¦  «         Œ«d S )NrU   r9   r8   r7   r   rg   r^   ©r5   r6   Frm   éè  )rL   ÚCsrY   rk   ra   rl   r¨   )rW   rY   rk   ra   r¨   rl   zwith solver = %s)ÚdecimalÚerr_msg)r1   r3   r4   r2   r5   r6   ç     @�@ç�íµ ÷Æ°>ç     ˆÃ@)rL   rÀ   rk   ra   Úintercept_scalingr¨   )rW   rk   rÆ   r¨   ra   )r>   rª   r«   ÚconcatenateÚrandnÚlogspacer-   r   Ú	enumerater   rA   ru   Úravelr   rt   )Úglobal_random_seedr­   rI   rJ   rÀ   Úfra   ÚcoefsÚ_ÚirW   r�   Úlr_coefs                rP   Útest_consistency_pathrÒ   8  sb  € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ
Œ˜Ÿ	š	 # qÑ)Ô)¨Q°¨FÑ2°C·I²I¸cÀ1Ñ4EÔ4EÐFÑGÔG€AØ	
ˆˆc‰	�R�D˜3‘JÑ€AÝ	Œ�Q˜˜2Ñ	Ô	€Bå€Að "ð ð ˆØ3�q�qÕ2Ñ3Ô3ØØØ˜�FØØØØØØ+ð

ñ 

ô 

‰ˆˆr�1õ ˜b‘M”Mð 	ð 	‰DˆAˆqÝ#ØØ#ØØØ/Øðñ ô ˆBð �FŠF�1�a‰LŒLˆLØ”h—n’nÑ&Ô&ˆGÝ%Ø˜˜qœ¨1Ð6HÈ6Ñ6Qðñ ô ð ð ð	ð  Xð 
ð 
ˆØˆUˆØ3�q�qÕ2Ñ3Ô3ØØØ˜�FØØØØ%Ø+ð	
ñ 	
ô 	
‰ˆˆr�1õ  Ø�ŒeØØ%Ø+Øð
ñ 
ô 
ˆð 	�Šˆq�!‰ŒˆÝ”. "¤(§.¢.Ñ"2Ô"2°B´MÐ!BÑCÔCˆÝ!Ø�U˜1”X qÐ2DÀvÑ2Mð	
ñ 	
ô 	
ð 	
ð 	
ð+
ð 
rR   c                  ó  — t           j                             d¦  «        } t          j        |                      dd¦  «        ddgz   |                      dd¦  «        f¦  «        }dgdz  dgdz  z   }dg}t          j        t          ¦  «        5 }t          ||ddg|dddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    sJ ‚|d         j
        j        d         }d	|v sJ ‚d
|v sJ ‚d|v sJ ‚d|v sJ ‚d S )Nr   rU   r9   r8   r7   rÃ   ç        )rL   rÀ   rk   rl   r¨   Úverbosez-lbfgs failed to converge after 1 iteration(s)z!Increase the number of iterationszscale the dataz%linear_model.html#logistic-regression)r>   rª   r«   rÇ   rÈ   rˆ   Úwarnsr   r   r=   ÚmessageÚargs)r­   rI   rJ   rÀ   ÚrecordÚwarn_msgs         rP   Ú.test_logistic_regression_path_convergence_failrÛ   x  sv  € Ý
Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ˜Ÿ	š	 # qÑ)Ô)¨Q°¨FÑ2°C·I²I¸cÀ1Ñ4EÔ4EÐFÑGÔG€AØ	
ˆˆc‰	�R�D˜3‘JÑ€AØ
ˆ€Bõ
 
ŒÕ(Ñ	)Ô	)ð 
¨VÝ!Øˆq˜1˜a˜& R¨S¸1È1ÐVWð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 ˆv‰;Œ;˜!ÒÐÐÐØ�aŒyÔ Ô% aÔ(€HØ:¸hÐFÐFÐFÐFØ.°(Ð:Ð:Ð:Ð:Ø˜xÐ'Ð'Ð'Ð'Ø2°hÐ>Ð>Ð>Ð>Ð>Ð>s   ÂB2Â2B6Â9B6c                 óþ  — t          d| ¬¦  «        \  }}t          | ddd¬¦  «        }|                     ||¦  «         t          | ddd¬¦  «        }|                     ||¦  «         t          | dz   ddd¬¦  «        }|                     ||¦  «         t          |j        |j        ¦  «         d}t          j        t          |¬	¦  «        5  t          |j        |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Né   ©rK   r¨   Tçü©ñÒMbP?r2   )r¨   r�   rk   ra   r8   z)Arrays are not almost equal to 6 decimalsr|   )r   r   rA   r   ru   rˆ   r‰   ÚAssertionError)rÌ   rI   rJ   Úlr1Úlr2Úlr3rŒ   s          rP   Ú test_liblinear_dual_random_staterä   �  sa  € õ ¨Ð:LÐMÑMÔM�D€A€qÝ
Ø'ØØØð	ñ ô €Cð ‡G‚GˆAˆq�M„M€MÝ
Ø'ØØØð	ñ ô €Cð ‡G‚GˆAˆq�M„M€MÝ
Ø'¨!Ñ+ØØØð	ñ ô €Cð ‡G‚GˆAˆq�M„M€Mõ ˜cœi¨¬Ñ3Ô3Ð3à
5€CÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð 8ð 8Ý! #¤)¨S¬YÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   Ã
C2Ã2C6Ã9C6Úuse_legacy_attributesTFc           
      óD  — d\  }}}t           j                             | ¦  «        }|                     ||¦  «        }t          j        |                     d|                     |¦  «        z  ¦  «        ¦  «        }||                     ¦   «         z  }||                     ¦   «         z  }t          dgdd| d|d|¬¦  «        }| 	                    ||¦  «         t          dd| d¬	¦  «        }	|	 	                    ||¦  «         t          |	j        |j        ¦  «         |j        j        d
|fk    sJ ‚t          |j        dd
g¦  «         t!          |j        ¦  «        dk    sJ ‚|j        j        dk    sJ ‚|j        j        d         }
|j        j        dk    sJ ‚|j        j        d         }|r•t          j        t)          |j                             ¦   «         ¦  «        ¦  «        }|j        d
||
||fk    sJ ‚t          j        t)          |j                             ¦   «         ¦  «        ¦  «        }|j        d
||
|fk    sJ ‚d S |j        j        |||
d
|fk    sJ ‚t1          |j        t4          ¦  «        sJ ‚t1          |j        t4          ¦  «        sJ ‚|j        j        |||
fk    sJ ‚d S )N©é2   r¦   rf   r¦   rh   ©rÔ   Fr2   Úneg_log_loss)rÀ   r€   rY   r¨   ra   ÚcvÚscoringrå   )rW   rY   r¨   ra   r8   r7   r9   r   r   )r>   rª   r«   rÈ   ÚsignÚdotÚmeanÚstdr   rA   r   r   ru   r@   r   rC   r=   ÚCs_Ú
l1_ratios_ÚasarrayÚlistÚcoefs_paths_ÚvaluesÚscores_Ú
isinstanceÚC_ÚfloatÚ	l1_ratio_)rÌ   rå   rK   rž   Ún_cvr­   ÚX_refrJ   Úlr_cvr�   Ún_CsÚn_l1_ratiosÚcoefs_pathsÚscoress                 rP   Útest_logistic_cvr  ³  s´  € ð #+Ñ€Iˆz˜4Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�IŠI�i Ñ,Ô,€EÝ
Œ�—	’	˜!˜cŸiši¨
Ñ3Ô3Ñ3Ñ4Ô4Ñ5Ô5€AØ	ˆU�ZŠZ‰\Œ\Ñ€EØ	ˆU�YŠY‰[Œ[Ñ€EÝ Øˆ5ØØØ'ØØØØ3ð	ñ 	ô 	€Eð 
‡I‚Iˆe�QÑÔÐÝ	Ø
˜UÐ1CÈKð
ñ 
ô 
€Bð ‡F‚Fˆ5�!ÑÔÐÝ˜bœh¨¬Ñ4Ô4Ð4àŒ;Ô  J Ò/Ð/Ð/Ð/Ý�u”~¨¨A wÑ/Ô/Ð/ÝˆuŒ~ÑÔ !Ò#Ð#Ð#Ð#ØŒ9Œ?˜dÒ"Ð"Ð"Ð"ØŒ9Œ?˜1Ô€DØÔÔ! TÒ)Ð)Ð)Ð)ØÔ"Ô(¨Ô+€KØð 	@Ý”j¥ eÔ&8×&?Ò&?Ñ&AÔ&AÑ!BÔ!BÑCÔCˆØÔ  Q¨¨d°KÀÐ$LÒLÐLÐLÐLÝ”�D ¤×!5Ò!5Ñ!7Ô!7Ñ8Ô8Ñ9Ô9ˆØŒ|  4¨¨{Ð;Ò;Ð;Ð;Ð;Ð;Ð;àÔ!Ô'¨D°+¸tÀQÈ
Ð+SÒSÐSÐSÐSÝ˜%œ(¥EÑ*Ô*Ð*Ð*Ð*Ý˜%œ/­5Ñ1Ô1Ð1Ð1Ð1ØŒ}Ô" t¨[¸$Ð&?Ò?Ð?Ð?Ð?Ð?Ð?rR   c                 óš   — t          | ¬¦  «        \  }}t          dgdd| ¬¦  «        }|                     ||¦  «         |j        dk    sJ ‚dS )aI  Test that non-elasticnet penalty with refit=False and
    use_legacy_attributes=False works without error.

    For non-elasticnet penalties, l1_ratio=0.0 (equivalent to pure L2).
    Previously, None was stored, which caused float() to raise a
    TypeError when use_legacy_attributes=False converted the value to a scalar.
    r§   rÔ   F)r€   Úrefitrå   r¨   N)r   r   rA   rû   )rÌ   rI   rJ   rþ   s       rP   Ú+test_logistic_cv_refit_false_non_elasticnetr  á  sg   € õ Ð,>Ð?Ñ?Ô?�D€A€qÝ Ø�%ØØ#Ø'ð	ñ ô €Eð 
‡I‚Iˆa��O„O€OØŒ?˜cÒ!Ð!Ð!Ð!Ð!Ð!rR   c                  óº  —  G d„ d¦  «        }  | ¦   «         }g d¢}d}t          |d||d¬¦  «        }t          d¬	¦  «        \  }}|                     ||¦  «         |j        |d         k    sJ ‚|j        |t          |¦  «        z  k    sJ ‚d|_        |                     ||                     |¦  «        ¦  «        }||j        d         k    sJ ‚|j        d
k    sJ ‚dS )z0Test that LogisticRegressionCV calls the scorer.c                   ó   — e Zd Zd„ Zdd„ZdS )ú0test_logistic_cv_mock_scorer.<locals>.MockScorerc                 ó&   — d| _         g d¢| _        d S )Nr   )çš™™™™™¹?gš™™™™™Ù?çš™™™™™é?rƒ   )Úcallsr  )Úselfs    rP   Ú__init__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__init__ù  s   € ØˆDŒJØ.Ð.Ð.ˆDŒKˆKˆKrR   Nc                 ót   — | j         | j        t          | j         ¦  «        z           }| xj        dz  c_        |S )Nr8   )r  r  r=   )r  r”   rI   rJ   Úsample_weightÚscores         rP   Ú__call__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__call__ý  s3   € Ø”K ¤
­S°´Ñ-=Ô-=Ñ =Ô>ˆEØˆJŒJ˜!‰OˆJŒJØˆLrR   r˜   )Ú__name__Ú
__module__Ú__qualname__r  r  r“   rR   rP   Ú
MockScorerr	  ø  s7   € € € € € ð	/ð 	/ð 	/ð	ð 	ð 	ð 	ð 	ð 	rR   r  )r8   r9   rf   rg   r9   ©r   F)rÀ   r€   rì   rë   rå   r   r§   r8   N)	r   r   rA   rù   r  r=   r  rB   r  )r  Úmock_scorerrÀ   rë   r�   rI   rJ   Úcustom_scores           rP   Útest_logistic_cv_mock_scorerr  õ  s  € ðð ð ð ð ñ ô ð ð �*‘,”,€KØ	ˆˆ€BØ	
€Bå	ØØØØØ#ð
ñ 
ô 
€Bõ ¨AÐ.Ñ.Ô.�D€A€qØ‡F‚Fˆ1ˆa�L„L€Lð Œ5�B�q”EŠ>ˆ>ˆ>ˆ>ð Ô ¥S¨¡W¤W¡Ò,Ð,Ð,Ð,ð €KÔØ—8’8˜A˜rŸzšz¨!™}œ}Ñ-Ô-€Là˜;Ô-¨aÔ0Ò0Ð0Ð0Ð0ØÔ Ò!Ð!Ð!Ð!Ð!Ð!rR   zscoring, multiclass_agg_listÚaccuracyÚ Ú	precisionÚ_macroÚ	_weightedÚf1rê   Úrecallc                 ó  — t          dddd¬¦  «        \  }}t          j        d¦  «        t          j        dd¦  «        }}t          dd¬	¦  «        }|                     ¦   «         }d
|d<   dD ]}||= Œ|                     ||         ||         ¦  «         |D ]o}	t          | |	z   ¦  «        }
t          t          ||||ft          j	        |¦  «        dg|
d d d dœ|¤Žd         d          |
|||         ||         ¦  «        ¦  «         Œpd S )NrU   é*   rf   é   )rK   r¨   rM   Ún_informativeéP   rh   r1   r„   Úl2r’   )rW   Ún_jobsÚ
warm_start)rL   rÀ   rì   Úmax_squared_sumr  Úscore_paramsr9   r   )
r   r>   Úaranger   Ú
get_paramsrA   r   r   r   r?   )rì   Úmulticlass_agg_listrI   rJ   ÚtrainÚtestr�   ÚparamsÚkeyÚ	averagingÚscorers              rP   Ú"test_logistic_cv_multinomial_scorer6    sa  € õ& Ø B°!À1ðñ ô �D€A€qõ ”)˜B‘-”-¥¤¨2¨sÑ!3Ô!3ˆ4€EÝ	˜c¨'Ð	2Ñ	2Ô	2€BØ�]Š]‰_Œ_€Fð
 €Fˆ9Ñð -ð ð ˆØ�3ˆKˆKØ‡F‚Fˆ1ˆUŒ8�Q�u”XÑÔÐØ(ð 
ð 
ˆ	Ý˜G iÑ/Ñ0Ô0ˆÝ!Ý!ØØØØð	õ
 œ	 !™œØ�5ØØ $Ø"Ø!ðð ð ðð ð ôð ôð ˆF�2�q˜”w  $¤Ñ(Ô(ñ	
ô 	
ð 	
ð 	
ð
ð 
rR   c                  ór  — d\  } }}t          | ||dd¬¦  «        \  }}t          ¦   «                              g d¢¦  «                             |¦  «        }t	          j        |¦  «        dz
  }t          ¦   «         }t          ddd¬	¦  «        }t          ¦   «         }t          ddd¬	¦  «        }	|                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |	                     ||¦  «         t          |j	        |j	        ¦  «         t          | 
                    |¦  «        | 
                    |¦  «        ¦  «         t          |j        ¦  «        g d¢k    sJ ‚t          |j	        |	j	        ¦  «         t          | 
                    |¦  «        |	 
                    |¦  «        ¦  «         t          |j        ¦  «        g d¢k    sJ ‚t          |	j        ¦  «        g d¢k    sJ ‚t          t	          j        |                     |¦  «        ¦  «        ¦  «        g d¢k    sJ ‚t          t	          j        |	                     |¦  «        ¦  «        ¦  «        h d
£k    sJ ‚t          g d¢dd¬	¦  «                             ||¦  «        }	t          t	          j        |	                     |¦  «        ¦  «        ¦  «        g d¢k    sJ ‚t          ddddœ¬¦  «                             ||¦  «        }	t          t	          j        |	                     |¦  «        ¦  «        ¦  «        ddgk    sJ ‚dS )zTest internally encode labelsrç   rf   r   )rK   rž   rM   r&  r¨   )ÚbarÚbazÚfoor8   Frê   )rÀ   rå   rì   >   r8  r9  r:  )r8   r9   r^   r9   )Úclass_weightr8  r9  N)r   r!   rA   Úinverse_transformr>   rr   r   r   r   ru   rD   ÚsortedrC   r?   rB   Úset)
rK   rž   rM   rý   rJ   Úy_strr�   rþ   Úlr_strÚ	lr_cv_strs
             rP   Ú2test_multinomial_logistic_regression_string_inputsrB  U  sN  € à'/Ñ$€Iˆz˜9Ý"ØØØØØðñ ô �H€Eˆ1õ ‰NŒN×ÒÐ4Ð4Ð4Ñ5Ô5×GÒGÈÑJÔJ€Eå
Œ�‰Œ�a‰€Aå	Ñ	Ô	€BÝ ØØ#Øðñ ô €Eõ
  Ñ!Ô!€FÝ$ØØ#Øðñ ô €Ið ‡F‚Fˆ5�!ÑÔÐØ	‡I‚Iˆe�QÑÔÐØ
‡J‚Jˆu�eÑÔÐØ‡M‚M�%˜ÑÔÐå�B”H˜fœlÑ+Ô+Ð+Ý�B×$Ò$ UÑ+Ô+¨V×-AÒ-AÀ%Ñ-HÔ-HÑIÔIÐIÝ�&”/Ñ"Ô"Ð&;Ð&;Ð&;Ò;Ð;Ð;Ð;Ý�E”K ¤Ñ1Ô1Ð1Ý�E×'Ò'¨Ñ.Ô.°	×0GÒ0GÈÑ0NÔ0NÑOÔOÐOÝ�&”/Ñ"Ô"Ð&;Ð&;Ð&;Ò;Ð;Ð;Ð;Ý�)Ô$Ñ%Ô%Ð)>Ð)>Ð)>Ò>Ð>Ð>Ð>õ •"”)˜FŸNšN¨5Ñ1Ô1Ñ2Ô2Ñ3Ô3Ð7LÐ7LÐ7LÒLÐLÐLÐLå�rŒy˜×*Ò*¨5Ñ1Ô1Ñ2Ô2Ñ3Ô3Ð7LÐ7LÐ7LÒLÐLÐLÐLõ %Øˆ:ˆ:Ø#Øðñ ô ÷ 
‚cˆ%�ÑÔð	 õ
 •"”)˜I×-Ò-¨eÑ4Ô4Ñ5Ô5Ñ6Ô6Ð:OÐ:OÐ:OÒOÐOÐOÐOõ #¸À!ÈAÐ0NÐ0NÐOÑOÔO×SÒSØˆuñô €Iõ •"”)˜I×-Ò-¨eÑ4Ô4Ñ5Ô5Ñ6Ô6¸5À%¸.ÒHÐHÐHÐHÐHÐHrR   c           
      óô  ‡‡— t           j        t           j        }}|j        \  }}d}t	          |¦  «        }t          |                     ||¦  «        ¦  «        }t          |ddd¬¦  «        }|                     ||¦  «         |j	        j        d|fk    sJ ‚t          |j        g d¢¦  «         t          j        t          |j                             ¦   «         ¦  «        ¦  «        }	|	j        d|d|d	z   fk    sJ ‚|j        j        d
k    sJ ‚t          j        t          |j                             ¦   «         ¦  «        ¦  «        }
|
j        d|dfk    sJ ‚t%          t'          t)          d¬¦  «        ¦  «        dt          j        ddd¬¦  «        id¬¦  «                             ||¦  «        }dD �]}|dv rdnd}t          ||d|dv rdnddd| ¬¦  «        Š|dk    rt-          |¦  «        }‰                     ||¦  «         ‰                     ||¦  «        }|                     ||¦  «        }||k    sJ ‚|j	        j        ‰j	        j        k    sJ ‚t          ‰j        g d¢¦  «         | �ret          j        t          ‰j                             ¦   «         ¦  «        ¦  «        }	|	j        d|d|d	z   fk    sJ ‚‰j        j        d
k    sJ ‚t          j        t          ‰j                             ¦   «         ¦  «        ¦  «        }
|
j        d|dfk    sJ ‚t1          ‰j        d         j        d         ¦  «        D ]—Šˆˆfd„‰j        D ¦   «         }t          j        |d	d¦  «                             t7          ‰j        ¦  «        d¦  «        }t          j        ||z  d	¬¦  «        }t          j        t          j        |¦  «        dk    ¦  «        sJ ‚Œ˜�Œ!ddd	d|d	z   f\  }}}}}‰j        j        |||||fk    sJ ‚t?          ‰j         tB          ¦  «        sJ ‚t?          ‰j"        tB          ¦  «        sJ ‚‰j        j        |||fk    sJ ‚t1          ‰j        j        d         ¦  «        D ]_Š‰j        ‰dd d …d d …d d…f         }t          j        ||z  d¬¦  «        }t          j        t          j        |¦  «        dk    ¦  «        sJ ‚Œ`�ŒtG          d¬¦  «        }t          j$        |¦  «        }t7          |¦  «        dk    sJ ‚|                     ||¦  «        D ]œ\  }}t7          t          j$        ||         ¦  «        ¦  «        dk    sJ ‚t7          t          j$        ||         ¦  «        ¦  «        d	k    sJ ‚tK          ||         ¦  «        tK          ||         ¦  «        z  tK          ¦   «         k    sJ ‚Œ�t          |d d!¬"¦  «                             ||¦  «        }t          j        |j        d#k    ¦  «        sJ ‚t          |d$t          j        d%dd¦  «        d ¬&¦  «                             ||¦  «        }|j         d'k    sJ ‚|j         }t          j        |d(k    ¦  «        sJ ‚t          j&        |¦  «        d)k     sJ ‚d S )*Nr9   r4   Trê   )rë   ra   rå   rì   rf   ©r   r8   r9   r^   r8   )r^   r{   Úestimator__Crc   rg   )Únum©rì   )r1   r3   r5   r6   r¾   éô  é   r$  rß   ç{®Gáz„?)ra   rl   r¨   rk   rë   rì   rå   r1   r   c                 óD   •— g | ]}‰j         |         ‰d d …d d…f         ‘ŒS )Nr7   )rõ   )Ú.0ÚcÚ	clf_multiÚfolds     €€rP   ú
<listcomp>z,test_multinomial_cv_iris.<locals>.<listcomp>Û  sA   ø€ ð ð ð Ø@A�IÔ*¨1Ô-¨d°A°A°A°s¸°s¨lÔ;ðð ð rR   r7   r;   )re   r7   ©Ún_splitsFr  )rë   rå   rì   rÔ   Úneg_brier_scoreéúÿÿÿ)rë   rì   rÀ   rå   rÄ   gffffffö?gš™™™™™ù?)'r…   r†   r‡   r@   r   rô   Úsplitr   rA   ru   r   rC   r>   ró   rõ   rö   rñ   r÷   r   r    r   rÉ   r#   r  ÚrangeÚswapaxesÚreshaper=   rE   ÚallÚdiffrø   rù   rú   rû   r   r?   r>  Úmin)rå   rI   rJ   rK   rž   rü   rë   Úprecomputed_foldsrH   r  r  Úclf_ovrra   rl   Úmulti_scoreÚ	ovr_scorerÎ   ÚnormsÚn_foldsÚn_csr   rM   Ún_dofrL   r0  r1  Úbrier_scoresrN  rO  s                              @@rP   Útest_multinomial_cv_irisre  “  sø  øø€ õ Œ9•d”k€q€AØœGÑ€Iˆzð €DÝ	˜Ñ	Ô	€BÝ˜RŸXšX a¨™^œ^Ñ,Ô,Ðõ ØØ Ø"Øð	ñ ô €Cð ‡G‚GˆAˆq�M„M€Mð Œ9Œ?˜q *˜oÒ-Ð-Ð-Ð-Ý�s”| Y Y YÑ/Ô/Ð/Ý”*�T #Ô"2×"9Ò"9Ñ";Ô";Ñ<Ô<Ñ=Ô=€KØÔ  D¨"¨j¸1©nÐ =Ò=Ð=Ð=Ð=ØŒ7Œ=˜EÒ!Ð!Ð!Ð!ÝŒZ�˜Sœ[×/Ò/Ñ1Ô1Ñ2Ô2Ñ3Ô3€FØŒ<˜A˜t R˜=Ò(Ð(Ð(Ð(õ ÝÕ.Ð6GÐHÑHÔHÑIÔIØ	�œ R¨°Ð3Ñ3Ô3Ð4Øðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 ð
 8ð @3ñ @3ˆØ  OÐ3Ð3�3�3¸ˆÝ(ØØØØ /Ð1Ð1��°tØØ"Ø"7ð
ñ 
ô 
ˆ	ð �WÒÐå�a‘”ˆAà�Š�a˜ÑÔÐØ—o’o a¨Ñ+Ô+ˆØ—M’M ! QÑ'Ô'ˆ	Ø˜YÒ&Ð&Ð&Ð&ð ŒyŒ )¤/Ô"7Ò7Ð7Ð7Ð7Ý˜9Ô-¨y¨y¨yÑ9Ô9Ð9Ø ñ )	3Ýœ*¥T¨)Ô*@×*GÒ*GÑ*IÔ*IÑ%JÔ%JÑKÔKˆKØÔ$¨¨D°"°jÀ1±nÐ(EÒEÐEÐEÐEØ”=Ô&¨%Ò/Ð/Ð/Ð/Ý”Z¥ YÔ%6×%=Ò%=Ñ%?Ô%?Ñ @Ô @ÑAÔAˆFØ”< A t¨R =Ò0Ð0Ð0Ð0õ ˜iÔ4°QÔ7Ô=¸aÔ@ÑAÔAð 3ð 3�ðð ð ð ð ØENÔEWðñ ô �õ œ E¨1¨aÑ0Ô0×8Ò8½¸Y¼]Ñ9KÔ9KÈRÑPÔP�Ýœ˜u u™}°1Ð5Ñ5Ô5�Ý”v�bœg e™nœn°Ò1Ñ2Ô2Ð2Ð2Ð2Ð2ñ3ð <=¸bÀ!ÀQÈ
ÐUVÉÐ;VÑ8ˆG�T˜;¨	°5ØÔ)Ô/ØØØØØð4ò ð ð ð õ ˜iœl­EÑ2Ô2Ð2Ð2Ð2Ý˜iÔ1µ5Ñ9Ô9Ð9Ð9Ð9ØÔ$Ô*¨w¸ÀTÐ.JÒJÐJÐJÐJõ ˜iÔ4Ô:¸1Ô=Ñ>Ô>ð 3ð 3�ð
 "Ô.¨t°Q¸¸¸¸1¸1¸1¸c¸r¸cÐ/AÔB�Ýœ˜u u™}°8Ð<Ñ<Ô<�Ý”v�bœg e™nœn°Ò1Ñ2Ô2Ð2Ð2Ð2Ð2ñ3õ 
˜Ð	Ñ	Ô	€BåŒi˜‰lŒl€GÝˆw‰<Œ<˜1ÒÐÐÐØ—x’x  1‘~”~ð 5ð 5‰ˆˆtÝ•2”9˜Q˜uœXÑ&Ô&Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ý•2”9˜Q˜tœWÑ%Ô%Ñ&Ô&¨!Ò+Ð+Ð+Ð+Ý�1�U”8‰}Œ}�s 1 T¤7™|œ|Ñ+­s©u¬uÒ4Ð4Ð4Ð4Ð4å
ØØ#Øðñ ô ÷ 
‚cˆ!ˆQ�i„ið	 õ Œ6�#”+ Ò$Ñ%Ô%Ð%Ð%Ð%õ ØØ!ÝŒ;�r˜1˜bÑ!Ô!Ø#ð	ñ ô ÷
 
‚cˆ!ˆQ�i„ið ð Œ6�TŠ>ˆ>ˆ>ˆ>Ø”K�<€Lõ Œ6�, Ò(Ñ)Ô)Ð)Ð)Ð)åŒ6�,ÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)rR   Úenable_metadata_routingrM   r9   rf   c           
      ó(  — t          | ¬¦  «        5  t          j        g d¢¦  «        dd|z  …         }t          j        d|z  ¦  «        dd…df         }t	          |¬¦  «        }|                     ||¦  «        D ]Ÿ\  }}t          t          j        ||         ¦  «        ¦  «        |dz
  k    sJ ‚t          t          j        ||         ¦  «        ¦  «        dk    sJ ‚t          ||         ¦  «        t          ||         ¦  «        z  t          ¦   «         k    sJ ‚Œ t          |dt          j
        dd	d
¦  «        dd¬¦  «                             ||¦  «        }|j        dk    sJ ‚t          |                     ||¦  «        ¦  «        D ]ò\  }\  }}t          |j        ¬¦  «                             ||¦  «        }	|j        |dddd…dd…f         |	_        |j        |dddd…df         |	_        |dk    r5t%          ||         |	                     ||         ¦  «        dddg¬¦  «        }
n3t%          ||         |	                     ||         ¦  «        g d¢¬¦  «        }
t)          |j        |ddf          |
¦  «         Œó	 ddd¦  «         dS # 1 swxY w Y   dS )zlTest that LogisticRegressionCV correctly computes scores even when classes are
    missing on CV folds.
    ©rf  )Úari  Úbrj  rM  rM  Nr9   rQ  r8   rS  rT  r%  r¦   r  F)rë   rì   rÀ   r€   rå   rÄ   rV   r   r7   rj  ri  )Ú	pos_labelÚlabels)ri  rj  rM  )rl  )r	   r>   rr   r-  r   rU  r=   r?   r>  r   rÉ   rA   rù   rÊ   r   rõ   ru   rt   r   rD   r   r÷   )rf  rM   rJ   rI   rë   r0  r1  rH   rÐ   Úclf2Úbss              rP   Ú+test_logistic_cv_folds_with_classes_missingro    sù  € õ 
Ð0GÐ	HÑ	HÔ	Hð '7ð '7ÝŒHÐ3Ð3Ð3Ñ4Ô4°_°q¸9±}°_ÔEˆÝŒI�a˜)‘mÑ$Ô$ Q Q Q¨ WÔ-ˆõ ˜IÐ&Ñ&Ô&ˆàŸ8š8 A q™>œ>ð 	9ð 	9‰KˆE�4Ý•r”y  5¤Ñ*Ô*Ñ+Ô+¨y¸1©}Ò<Ð<Ð<Ð<Ý•r”y  4¤Ñ)Ô)Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ý�q˜”x‘=”=¥3 q¨¤w¡<¤<Ñ/µ3±5´5Ò8Ð8Ð8Ð8Ð8å"ØØ%ÝŒ{˜2˜q !Ñ$Ô$ØØ"'ð
ñ 
ô 
÷ Š#ˆa�‰)Œ)ð 	ð Œv˜Š~ˆ~ˆ~ˆ~Ý )¨"¯(ª(°1°a©.¬.Ñ 9Ô 9ð 	7ð 	7ÑˆA‰}��tõ &¨¬Ð/Ñ/Ô/×3Ò3°A°qÑ9Ô9ˆDØÔ)¨!¨Q°°1°1°1°c°r°c¨/Ô:ˆDŒJØ!Ô.¨q°!°Q¸¸¸¸2¨~Ô>ˆDŒOØ˜AŠ~ˆ~Ý%Ø�d”GØ×&Ò& q¨¤wÑ/Ô/Ø!Ø ˜:ð	ñ ô ��õ &Ø�d”G˜T×/Ò/°°$´Ñ8Ô8ÀÀÀðñ ô �õ ˜Sœ[¨¨A¨q¨Ô1Ð1°2Ñ6Ô6Ð6Ð6ð%	7ð+'7ð '7ð '7ñ '7ô '7ð '7ð '7ð '7ð '7ð '7ð '7ð '7øøøð '7ð '7ð '7ð '7ð '7ð '7s   ‘I(JÊJÊJc                 ó  ‡‡‡— t          ddd| ¬¦  «        \  ŠŠt          dd| ¬¦  «        Šˆˆˆfd„t          D ¦   «         }t          j        |d	¬
¦  «        D ]5\  }}t          ||         j        ||         j        ddd|› d|› �¬¦  «         Œ6dS )z)Test solvers converge to the same result.éÈ   r^   r¦   )rK   rž   r&  r¨   r  F)rW   rY   r¨   c                 óV   •— i | ]%}|t          dd |i‰¤Ž                     ‰‰¦  «        “Œ&S )ra   r“   )r   rA   )rL  ra   rI   r2  rJ   s     €€€rP   ú
<dictcomp>z4test_logistic_regression_solvers.<locals>.<dictcomp>V  sO   ø€ ð ð ð àð 	Õ"Ð;Ð;¨&Ð;°FÐ;Ð;×?Ò?ÀÀ1ÑEÔEðð ð rR   r9   ©Úrrß   ç-Cëâ6?zCompare ú vs )rq   ro   rÂ   N)r   ÚdictÚSOLVERSÚ	itertoolsÚcombinationsr   ru   )rÌ   ÚclassifiersÚsolver_1Úsolver_2rI   r2  rJ   s       @@@rP   Ú test_logistic_regression_solversr  N  së   øøø€ åØ "°AÐDVðñ ô �D€A€qõ �C uÐ;MÐNÑNÔN€Fðð ð ð ð ð åðñ ô €Kõ
 (Ô4°[ÀAÐFÑFÔFð 
ð 
Ñˆ�(ÝØ˜Ô!Ô'Ø˜Ô!Ô'ØØØ7˜xÐ7Ð7¨XÐ7Ð7ð	
ñ 	
ô 	
ð 	
ð 	
ð
ð 
rR   rY   c           	      óš  ‡‡‡‡— d\  }}}t          ||d|d¬¦  «        \  ŠŠd}t          | |d¬¦  «        Šdd	d	d
œŠˆˆˆˆfd„t          t          ¦  «        t          dg¦  «        z
  D ¦   «         }|                     ¦   «         D ]%\  }}|j        j        ||fk    sJ d|› d�¦   «         ‚Œ&t          j        |d¬¦  «        D ]\  }}	t          ||         j        ||	         j        |dk    s|	dk    rdnd|› d|	› �¬¦  «         | r<t          ||         j
        ||	         j
        |dk    s|	dk    rdnd|› d|	› �¬¦  «         Œ€ˆˆˆˆfd„t          t          ¦  «        t          dg¦  «        z
  D ¦   «         }
|
D ]T}t          |
|         j        ||         j        d¬¦  «         | r(t          |
|         j
        ||         j
        d¬¦  «         ŒUdS )zATest solvers converge to the same result for multiclass problems.)rÝ   rÝ   rf   r^   r   ©rK   rž   r&  rM   r¨   ri   r$  )rY   rk   r¨   rq  i N  ©r1   r5   r6   c                 ó€   •— i | ]:}|t          d|‰                     |d ¦  «        dœ‰¤Ž                     ‰‰¦  «        “Œ;S )rU   ©ra   rl   r“   )r   ÚgetrA   ©rL  ra   rI   r2  Úsolver_max_iterrJ   s     €€€€rP   rs  z?test_logistic_regression_solvers_multiclass.<locals>.<dictcomp>z  sl   ø€ ð ð ð ð ð 	Õ"ð 
Ø O×$7Ò$7¸ÀÑ$DÔ$Dð
ð 
ØHNð
ð 
ç
Š#ˆa�‰)Œ)ðð ð rR   r2   zSolver z" generates coef_ with wrong shape.r9   rt  r6   ç{®Gázt?rß   rw  ©ro   rÂ   c                 óˆ   •— i | ]>}|t          dd g|‰                     |d¦  «        dddœ‰¤Ž                     ‰‰¦  «        “Œ?S )rh   rU   Frê   )rÀ   ra   rl   rå   rì   r“   )r   r…  rA   r†  s     €€€€rP   rs  z?test_logistic_regression_solvers_multiclass.<locals>.<dictcomp>—  s|   ø€ ð 
ð 
ð 
ð ð 	Õ$ð 
ØˆuØØ$×(Ò(¨°Ñ5Ô5Ø"'Ø"ð
ð 
ð ð
ð 
÷ Š#ˆa�‰)Œ)ð
ð 
ð 
rR   rJ  rn   N)r   rx  r>  ry  Úitemsru   r@   rz  r{  r   rt   )rY   rK   rž   rM   rk   r|  ra   rH   r}  r~  Úclassifiers_cvrI   r2  r‡  rJ   s              @@@@rP   Ú+test_logistic_regression_solvers_multiclassr�  h  s¾  øøøø€ ð (1Ñ$€Iˆz˜9ÝØØØØØðñ ô �D€A€qð €CÝ °3ÀRÐHÑHÔH€Fð !$¨F¸FÐCÐC€Oðð ð ð ð ð ð õ �'‘l”l¥S¨+¨Ñ%7Ô%7Ñ7ð	ñ ô €Kð #×(Ò(Ñ*Ô*ð 
ð 
‰ˆ�ØŒyŒ 9¨jÐ"9Ò9Ð9Ð9Ø@�fÐ@Ð@Ð@ñ :Ô9Ð9Ð9õ (Ô4°[ÀAÐFÑFÔFð ð Ñˆ�(ÝØ˜Ô!Ô'Ø˜Ô!Ô'Ø" fÒ,Ð,°¸FÒ0BÐ0B��ÈØÐ/Ð/ XÐ/Ð/ð		
ñ 	
ô 	
ð 	
ð ð 	ÝØ˜HÔ%Ô0Ø˜HÔ%Ô0Ø&¨&Ò0Ð0°HÀÒ4FÐ4F�T�TÈTØ#Ð3Ð3¨Ð3Ð3ð	ñ ô ð øð
ð 
ð 
ð 
ð 
ð 
ð 
õ �'‘l”l¥S¨+¨Ñ%7Ô%7Ñ7ð
ñ 
ô 
€Nð !ð 	ð 	ˆÝØ˜6Ô"Ô(¨+°fÔ*=Ô*CÈ$ð	
ñ 	
ô 	
ð 	
ð ð 	ÝØ˜vÔ&Ô1Ø˜FÔ#Ô.Øðñ ô ð øð	ð 	rR   c           
      ó®  ‡‡‡‡‡‡— d\  }}}t           j                             |¦  «        }t          ||| z   || z   d|¬¦  «        Š| r	d‰dd…df<   t	          ‰¦  «        \  }}}t          j        |dk    ¦  «        sJ ‚t          j        |¦  «        t          j        |¦  «        z  dk     sJ ‚| r‰dd…dd…f         Š|                     dd	||z  ¬
¦  «        }	|	 	                    ||¦  «        }	|                     dd|¬
¦  «        | z  }
‰|	j
        z  |
z   }t          |¬¦  «        }|j                             |¦  «        }t          j        |¦  «        Št          |¦  «        D ]>}t          j        |                     d||dd…f         ¬¦  «        ¦  «        d         ‰|<   Œ?dŠt%          | |¬¦  «        ŠddddœŠdddœŠˆˆˆˆˆˆfd„t'          t(          ¦  «        t'          dg¦  «        z
  D ¦   «         }|                     ¦   «         D ]4}t-          ||         j                             d¬¦  «        dd|¬¦  «         Œ5t3          j        |d¬¦  «        D ]\  }}t-          ||         j        ||         j        |dk    s|dk    rdnd|› d |› �¬!¦  «         | r<t-          ||         j        ||         j        |dk    s|dk    rdnd|› d |› �¬!¦  «         Œ€dS )"zGTest and compare solver results for unpenalized multinomial multiclass.)rU   rg   rf   r  )rK   rž   Úeffective_rankÚtail_strengthr¨   r8   Nr7   rß   rU   rf   )ÚlowÚhighÚsize)rM   )ÚnÚpvals)r   r   g•Ö&è.>)rY   r¨   rq  é'  r‚  ri   r¾   c                 óÀ   •— i | ]Z}|t          dt          j        |‰                     |‰¦  «        ‰                     |d ¦  «        dœ‰¤Ž                     ‰‰¦  «        “Œ[S )rU   )rW   ra   rk   rl   r“   )r   r>   r‹   r…  rA   )rL  ra   rI   r2  r‡  Ú
solver_tolrk   rJ   s     €€€€€€rP   rs  zKtest_logistic_regression_solvers_multiclass_unpenalized.<locals>.<dictcomp>Ô  s‡   ø€ ð 	ð 	ð 	ð ð 	Õ"ð 
ÝŒfØØ—’˜v sÑ+Ô+Ø$×(Ò(¨°Ñ5Ô5ð	
ð 
ð
 ð
ð 
÷ Š#ˆa�‰)Œ)ð	ð 	ð 	rR   r2   r   r;   ç»½×Ùß|Û=)rq   rÂ   r9   rt  r6   rˆ  gü©ñÒMb`?rw  r‰  )r>   rª   r«   r   r   rY  Úmaxr[  ÚuniformrX  rs   r
   ÚlinkÚinverseÚzerosrV  ÚargwhereÚmultinomialrx  r>  ry  Úkeysr   ru   rE   rz  r{  rt   )rY   rÌ   rK   rž   rM   r­   ÚUÚsÚVtÚcoefÚ	interceptÚraw_predictionÚlossÚprobarÐ   Ú
regressorsra   r}  r~  rI   r2  r‡  r˜  rk   rJ   s                      @@@@@@rP   Ú7test_logistic_regression_solvers_multiclass_unpenalizedr«  ®  s’  øøøøøø€ ð (1Ñ$€Iˆz˜9Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝØØ Ñ-Ø! MÑ1ØØð	ñ 	ô 	€Að ð Øˆˆ!ˆ!ˆ!ˆRˆ%‰Ý�1‰vŒv�H€A€qˆ"ÝŒ6�!�d’(ÑÔÐÐÐÝŒ6�!‰9Œ9•r”v˜a‘y”yÑ  3Ò&Ð&Ð&Ð&Øð Øˆaˆaˆa��"�ˆfŒIˆØ�;Š;˜1 1¨:¸	Ñ+Aˆ;ÑBÔB€DØ�<Š<˜	 :Ñ.Ô.€DØ—’ ¨°�Ñ;Ô;¸mÑK€IØ˜œ‘Z )Ñ+€Nå¨Ð3Ñ3Ô3€DØŒI×Ò˜nÑ-Ô-€Eå
Œ�ÑÔ€AÝ�9ÑÔð Jð JˆÝŒ{˜3Ÿ?š?¨Q°e¸A¸q¸q¸q¸D´k˜?ÑBÔBÑCÔCÀDÔIˆˆ!‰ˆà
€CÝ Ð<NÐOÑOÔO€FØ #¨F¸FÐCÐC€OØ tÐ,Ð,€Jð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ �'‘l”l¥S¨+¨Ñ%7Ô%7Ñ7ð	ñ 	ô 	€Jð —/’/Ñ#Ô#ð 
ð 
ˆåØ�vÔÔ$×(Ò(¨aÐ(Ñ0Ô0°!¸%Èð	
ñ 	
ô 	
ð 	
ð 	
õ (Ô4°ZÀ1ÐEÑEÔEð ð Ñˆ�(ÝØ�xÔ Ô&Ø�xÔ Ô&Ø" fÒ,Ð,°¸FÒ0BÐ0B��ÈØÐ/Ð/ XÐ/Ð/ð		
ñ 	
ô 	
ð 	
ð ð 	ÝØ˜8Ô$Ô/Ø˜8Ô$Ô/Ø&¨&Ò0Ð0°HÀÒ4FÐ4F�T�TÈTØ#Ð3Ð3¨Ð3Ð3ð	ñ ô ð øðð rR   c                 óº  — t          dd| ¬¦  «        \  }}d||dk     <   t          g d¢ddd¬	¦  «        }t          d|d
ddœ|¤Ž}|                     ||¦  «         t          d|d
ddœ|¤Ž}|                      ||¦  «        |¦  «         |dv rdnd}t	          |j        |j        |¬¦  «         t	          |j        |j        |¬¦  «         |j        |j        k    sJ ‚dS )z?Test that sparse and dense X gives same result for each solver.rU   r¦   ©rK   rž   r¨   rÔ   )r  r8   ç      $@r–  gH¯¼šò×z>r$  )rÀ   rl   rk   r¨   Frê   )ra   rå   rì   r¾   g¸…ëQ¸®?rm   rn   Nr“   )r   rx  r   rA   r   ru   rt   rù   )	rÌ   ra   rS   rI   rJ   r2  rH   Úclfsro   s	            rP   Útest_logistic_cv_sparser°  ô  s8  € õ Ø !Ð2Dðñ ô �D€A€qð €A€aˆ#‚g�JÝ�^�^�^¨f¸$ÈRÐPÑPÔP€Få
ð ØØ#Øðð ð ð	ð €Cð ‡G‚GˆAˆq�M„M€MÝð ØØ#Øðð ð ð	ð €Dð 	‡H‚Hˆ]ˆ]˜1ÑÔ˜qÑ!Ô!Ð!à˜_Ð,Ð,ˆ4ˆ4°$€DÝ�D”J ¤	°Ð5Ñ5Ô5Ð5Ý�D”O S¤^¸$Ð?Ñ?Ô?Ð?ØŒ7�c”fÒÐÐÐÐÐrR   Úweightr  çš™™™™™É?r¸   rƒ   rD  r;  Úbalancedc           	      óL  — t          | ¦  «        }|dk    r| }t          ddddd||¬¦  «        \  }}t          dd|dd¬	¦  «        }t          dd
ddœ|¤Ž}t	          t
          ¬¦  «        5  |                     ||¦  «         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        t          g d¢¦  «        z
  D ]f}t          d|ddœ|¤Ž}	|dv r|	 	                    dd|dz   ¬¦  «         |	                     ||¦  «         t          |	j        |j        d|› d�¬¦  «         ŒgdS )z+Test class_weight for LogisticRegressionCV.r±  rI  rf   r   )rK   rž   Ú
n_repeatedr&  Ún_redundantrM   r¨   r8   Fri   )rÀ   rY   r;  rk   rå   r1   rê   )ra   rì   ©ÚcategoryN)r1   r2   r4   r¾   g¬CÒÑ]r2<r–  )rk   rl   r¨   rß   z	 vs lbfgsr‰  r“   )r=   r   rx  r   r-   r   rA   r>  ry  Ú
set_paramsr   ru   )
r±  r;  rÌ   rM   rI   rJ   r2  Ú	clf_lbfgsra   rH   s
             rP   Ú(test_logistic_regressioncv_class_weightsr»    sñ  € õ �F‘”€IØ�xÒÐØˆåØØØØØØØ'ðñ ô �D€A€qõ ØØØ!ØØ#ðñ ô €Fõ %ð ØØðð ð ðð €Iõ 
Õ"4Ð	5Ñ	5Ô	5ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ •g‘,”,¥Ð%NÐ%NÐ%NÑ!OÔ!OÑOð 
ð 
ˆÝ"ð 
ØØ"ð
ð 
ð ð
ð 
ˆð
 �_Ð$Ð$Ø�NŠNØ EÐ8JÈQÑ8Nð ñ ô ð ð 	�Š��1‰ŒˆåØŒI�y”¨T¸fÐ;OÐ;OÐ;Oð	
ñ 	
ô 	
ð 	
ð 	
ð
ð 
s   Á)BÂBÂBÚproblem)Úsinglerë   c                 óz  — d}d}t          ||z  dddd|¬¦  «        \  }}t          j                             |¦  «        }t          j        |j        d         ¦  «        }|d|                     d¦  «        rd	nd
ddœ}	|	                     ¦   «         }
|                     dd|¬¦  «        |d |…<   t          j	        || 
                    t          ¦  «        d¬¦  «        }t          j	        || 
                    t          ¦  «        d¬¦  «        }| dk    r	t          }�n| dk    �rt          }t          j        t          j        |d¦  «        t          j        |d¦  «        t          j        |d¦  «        g¦  «        }t!          t#          ¦   «                              ||¬¦  «        ¦  «        }|	                     d|dœ¦  «         t          j	        || 
                    t          ¦  «        d¬¦  «        }t!          t#          ¦   «                              ||¬¦  «        ¦  «        }|
                     d|dœ¦  «          |dd|i|	¤Ž} |dd|i|
¤Ž}|dk    rtt)          j        ¦   «         5  t)          j        dt.          ¦  «         |                     |||¬¦  «         |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   n.|                     |||¬¦  «         |                     ||¦  «         | dk    r&t3          |j        d         |j        d         ¦  «         t3          |j        |j        d¬¦  «         d S )Nrq  rf   r¦   r9   r   )rK   rž   r&  rM   r¶  r¨   Fr5   é † r¿   ri   ©r¨   rY   rl   rk   ©r“  r;   r½  rë   r8   )Úgroupsr^   )rÀ   rë   ra   r1   Úignore©r  rm   ©rq   r“   )r   r>   rª   r«   rF   r@   Ú
startswithÚcopyÚrandintÚrepeatÚastypeÚintr   r   rÇ   Úfullrô   r   rU  ÚupdateÚwarningsÚcatch_warningsÚsimplefilterr   rA   r   r÷   ru   )r¼  ra   rÌ   Ún_samples_per_cv_groupÚn_cv_groupsrI   rJ   r­   ÚswÚkw_weightedÚkw_repeatedÚ
X_repeatedÚ
y_repeatedrx   Úgroups_weightedÚsplits_weightedÚgroups_repeatedÚsplits_repeatedÚclf_sw_weightedÚclf_sw_repeateds                       rP   Ú'test_logistic_regression_sample_weightsrÞ  M  s�  € ð !ÐØ€KåØ(¨;Ñ6ØØØØØ'ðñ ô �D€A€qõ Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ	Œ�”˜”Ñ	Ô	€Bð +ØØ%×0Ò0°Ñ7Ô7ÐB�G�G¸UØð	ð €Kð ×"Ò"Ñ$Ô$€KØ"%§+¢+¨a°Ð9O +Ñ"PÔ"P€BÐÐÐÑÝ”˜1˜bŸiši­™nœn°1Ð5Ñ5Ô5€JÝ”˜1˜bŸiši­™nœn°1Ð5Ñ5Ô5€Jà�(ÒÐÝˆ‰Ø	�DŠ‰Ý!ˆåœ.å”Ð.°Ñ2Ô2Ý”Ð.°Ñ2Ô2Ý”Ð.°Ñ2Ô2ðñ
ô 
ˆõ Õ/Ñ1Ô1×7Ò7¸À/Ð7ÑRÔRÑSÔSˆØ×Ò "¨OÐ<Ð<Ñ=Ô=Ð=åœ) O°R·Y²Y½s±^´^È!ÐLÑLÔLˆÝÝÑÔ×$Ò$ Z¸Ð$ÑHÔHñ
ô 
ˆð 	×Ò "¨OÐ<Ð<Ñ=Ô=Ð=à�bÐ6Ð6 Ð6¨+Ð6Ð6€OØ�bÐ6Ð6 Ð6¨+Ð6Ð6€Oà�ÒÐõ Ô$Ñ&Ô&ð 	8ð 	8ÝÔ! (Õ,>Ñ?Ô?Ð?Ø×Ò  1°BÐÑ7Ô7Ð7Ø×Ò 
¨JÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8øð 	×Ò˜A˜q°ÐÑ3Ô3Ð3Ø×Ò˜J¨
Ñ3Ô3Ð3à�$‚€Ý˜Ô/°Ô2°OÔ4KÈAÔ4NÑOÔOÐOÝ�OÔ)¨?Ô+@ÀtÐLÑLÔLÐLÐLÐLs   É$A	J9Ê9J=Ë J=c                 ó   — t          dddd|¬¦  «        \  }}|dz   }|ddd	d
œ}t          d| dddœdœ|¤Ž}|                     ||¦  «         t          dd| i|¤Ž}|                     |||¬¦  «         t          |j        |j        d¬¦  «         d S )Nrj   r¦   rf   r9   r�  r8   Fr¿  ri   rÀ  r¸   )ra   r;  ra   rÄ  rÄ   rÅ  r“   ©r   r   rA   r   ru   )ra   rÌ   rI   rJ   r  rÔ  Ú	clf_cw_12Ú	clf_sw_12s           rP   Ú-test_logistic_regression_solver_class_weightsrã  •  sã   € õ ØØØØØ'ðñ ô �D€A€qð ˜‘E€Mð +ØØØð	ð €Kõ #ð Ø¨¨a L Lðð Ø4?ðð €Ið ‡M‚M�!�QÑÔÐÝ"Ð@Ð@¨&Ð@°KÐ@Ð@€IØ‡M‚M�!�Q m€MÑ4Ô4Ð4Ý�I”O Y¤_¸4Ð@Ñ@Ô@Ð@Ð@Ð@rR   c           
      ó  — t          dddd| ¬¦  «        \  }}|dz   }t          ddddd	œdd
d| ¬¦  «        }|                     ||¦  «         t          dddd
d| ¬¦  «        }|                     |||¦  «         t          |j        |j        d¬¦  «         t          ddddd	œdd
dd| ¬¦  «        }|                     ||¦  «         t          dddd
dd| ¬¦  «        }|                     |||¦  «         t          |j        |j        d¬¦  «         d S )Nrj   r¦   rf   r9   r�  r8   r2   Fr¸   r–  çê-�™—q=)ra   rY   r;  r~   rl   rk   r¨   )ra   rY   r~   rl   rk   r¨   r™  rÅ  r   T)ra   rY   r;  r~   rl   rk   r�   r¨   )ra   rY   r~   rl   rk   r�   r¨   rà  )rÌ   rI   rJ   r  Úclf_cwÚclf_sws         rP   Ú2test_sample_and_class_weight_equivalence_liblinearrè  ´  sz  € õ ØØØØØ'ðñ ô �D€A€qð ˜‘E€MåØØØ˜q�\�\ØØØØ'ðñ ô €Fð ‡J‚Jˆq�!ÑÔÐÝØØØØØØ'ðñ ô €Fð ‡J‚Jˆq�!�]Ñ#Ô#Ð#Ý�F”L &¤,°UÐ;Ñ;Ô;Ð;åØØØ˜q�\�\ØØØØØ'ð	ñ 	ô 	€Fð ‡J‚Jˆq�!ÑÔÐÝØØØØØØØ'ðñ ô €Fð ‡J‚Jˆq�!�]Ñ#Ô#Ð#Ý�F”L &¤,°UÐ;Ñ;Ô;Ð;Ð;Ð;rR   c                 óŒ   — t          j        | ¦  «        }t          d|| ¬¦  «        }t          t	          ||¦  «        ¦  «        }|S )Nr³  )rL   rJ   )r>   r?   r%   rx  Úzip)rJ   rL   r;  Úclass_weight_dicts       rP   Ú _compute_class_weight_dictionaryrì  ï  sA   € åŒi˜‰lŒl€GÝ'¨
¸GÀqÐIÑIÔI€LÝ�S ¨,Ñ7Ô7Ñ8Ô8ÐØÐrR   c                 ó   — | S r˜   r“   )Úxs    rP   ú<lambda>rï  ÷  s   € °Q€ rR   c                 óŠ  — t          t          j        ¦  «        }|dd …d d …f         } ||¦  «        }t          j        dd …         }t	          |¦  «        }t          t          ¦  «        t          ddg¦  «        z
  D �]}t          |d| ¬¦  «        }t          dddi|¤Ž}t          dd|i|¤Ž}	| 	                    ||¦  «         |	 	                    ||¦  «         t          |j        ¦  «        dk    sJ ‚t          |j        |	j        d	¬
¦  «         t          j        |j        d         ¦  «        }
|j        D ]}|
||k    xx         ||         z  cc<   Œt          di |¤Ž 	                    |||
¬¦  «        }t          |j        |	j        d	¬
¦  «         �Œ|dd…d d …f         }t          j        dd…         }t	          |¦  «        }t          D ]x}t          |d| ¬¦  «        }t          dddi|¤Ž}t          dd|i|¤Ž}	| 	                    ||¦  «         |	 	                    ||¦  «         t#          |j        |	j        d¬¦  «         Œyd S )Né-   r2   r4   éÐ  )ra   rl   r¨   r;  r³  rf   rv  rn   r   rÄ  rU   r¿   r%  ©rÁ   r“   )r#   r…   r†   r‡   rì  r>  ry  rx  r   rA   r=   rC   r   ru   r>   rF   r@   r   )rÌ   rS   ÚX_irisrI   rJ   rë  ra   r2  Úclf1rm  rÓ  rM  Úclf3s                rP   Ú&test_logistic_regression_class_weightsr÷  ÷  s|  € õ •4”9ÑÔ€Fàˆrˆsˆs�A�A�AˆvŒ€AØˆ�aÑÔ€AÝŒ�B�C�CÔ€AÝ8¸Ñ;Ô;Ðå•g‘,”,¥ kÐ3DÐ%EÑ!FÔ!FÑFð ;ñ ;ˆÝ˜V¨dÐASÐTÑTÔTˆÝ!ÐDÐD¨zÐD¸VÐDÐDˆÝ!ÐKÐKÐ/@ÐKÀFÐKÐKˆØ�Š��A‰ŒˆØ�Š��A‰ŒˆÝ�4”=Ñ!Ô! QÒ&Ð&Ð&Ð&Ý˜œ
 D¤J°TÐ:Ñ:Ô:Ð:åŒW�Q”W˜Q”ZÑ Ô ˆØ”ð 	/ð 	/ˆAØˆq�AŠvˆJˆJŒJÐ+¨AÔ.Ñ.ˆJˆJ‰JˆJÝ!Ð+Ð+ FÐ+Ð+×/Ò/°°1ÀBÐ/ÑGÔGˆÝ˜œ
 D¤J°TÐ:Ñ:Ô:Ð:Ñ:ð 	ˆr�#ˆv�q�q�qˆyÔ€AÝŒ�B�s�FÔ€AÝ8¸Ñ;Ô;Ðåð Eð EˆÝ˜V¨dÐASÐTÑTÔTˆå!ÐDÐD¨zÐD¸VÐDÐDˆÝ!ÐKÐKÐ/@ÐKÀFÐKÐKˆØ�Š��A‰ŒˆØ�Š��A‰ŒˆÝ! $¤*¨d¬jÀ!ÐDÑDÔDÐDÐDðEð ErR   c                 ó  — t          dd| ¬¦  «        \  }}t          dd| ¬¦  «        }|                     ||¦  «         t          j        d¦  «        }t          |                     |¦  «        t          j        d¦  «        ¦  «         d S )Nr¦   r­  Fr2   )rY   ra   r¨   )r¦   r¦   )r   r   rA   r>   rž  r   rB   )rÌ   rI   rJ   rH   s       rP   Ú%test_liblinear_decision_function_zerorù    sŽ   € õ Ø Ð0Bðñ ô �D€A€qõ Ø KÐ>Pðñ ô €Cð ‡G‚GˆAˆq�M„M€Mõ 	Œ�ÑÔ€AÝ�s—{’{ 1‘~”~¥r¤x°¡{¤{Ñ3Ô3Ð3Ð3Ð3rR   c                  ó€   — t          d¬¦  «        } |                      t          t          ¦  «         | j        dk    sJ ‚d S )NFrX   rÔ   )r   rA   rI   rZ   rt   r³   s    rP   Ú"test_logreg_intercept_scaling_zerorû  2  s>   € õ ¨5Ð
1Ñ
1Ô
1€CØ‡G‚G�A�r�N„N€NØŒ>˜SÒ Ð Ð Ð Ð Ð rR   c                 ó  — t           j                             | ¦  «        }d}t          |d| ¬¦  «        \  }}|                     |df¬¦  «        }t          j        |df¬¦  «        }t          j        |||fd¬	¦  «        }t          dd
ddd| ¬¦  «        }t          dddi|¤Ž}	|	 	                    ||¦  «         t          dddi|¤Ž}
|
 	                    ||¦  «         t          |
j        |	j        d¬¦  «          ||¦  «        }t          dddi|¤Ž}| 	                    ||¦  «         t          |j        |	j        ¦  «         t          dddi|¤Ž}| 	                    ||¦  «         t          |j        |
j        ¦  «         d S )NrU   rÝ   r­  rf   rÁ  r9   ©r@   r8   r;   rh   Fr–  r™  )r~   rW   rY   rl   rk   r¨   ra   r2   r6   g333333Ó?rÅ  r“   )r>   rª   r«   r   ÚnormalrF   rÇ   rx  r   rA   r   ru   )rÌ   rS   r­   rK   rI   rJ   ÚX_noiseÚ
X_constantr2  Úlr_liblinearÚlr_sagaÚX_spÚlr_liblinear_spÚ
lr_saga_sps                 rP   Útest_logreg_l1r  <  sÁ  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IÝØ¨Ð9Kðñ ô �D€A€qð �jŠj˜y¨!˜nˆjÑ-Ô-€GÝ” 	¨1˜~Ð.Ñ.Ô.€JÝ
Œ˜˜7 JÐ/°aÐ8Ñ8Ô8€AÝØØ
ØØØØ'ðñ ô €Fõ &ÐCÐC¨[ÐC¸FÐCÐC€LØ×Ò�Q˜ÑÔÐå Ð9Ð9¨Ð9°&Ð9Ð9€GØ‡K‚K��1ÑÔÐå�G”M <Ô#5¸CÐ@Ñ@Ô@Ð@ð ˆ=˜ÑÔ€DÝ(ÐFÐF°ÐF¸vÐFÐF€OØ×Ò˜˜aÑ Ô Ð Ý�OÔ)¨<Ô+=Ñ>Ô>Ð>å#Ð<Ð<¨6Ð<°VÐ<Ð<€JØ‡N‚N�4˜ÑÔÐÝ�JÔ$ g¤mÑ4Ô4Ð4Ð4Ð4rR   c           	      ó(  — t          dd| ¬¦  «        \  }}t          d| dd¬¦  «        }t          ddg|fd	d
ddœ|¤Ž}|                     ||¦  «         t	          dd|dœ|¤Ž}|                     ||¦  «         t          |j        |j        ¦  «         d S )NrU   rÝ   r­  r6   r–  rå  )ra   r¨   rl   rk   rh   Trê   F)rÀ   r€   r  rì   rå   ©rW   r~   r“   )r   rx  r   rA   r   r   ru   )rÌ   r~   rI   rJ   Úcommon_paramsrþ   r�   s          rP   Ú!test_logistic_regression_cv_refitr
  e  sÖ   € õ Ø "Ð3Eðñ ô �D€A€qõ ØØ'ØØð	ñ ô €Mõ !ð Øˆ5Ø�+ØØØ#ðð ð ðð €Eð 
‡I‚Iˆa��O„O€OÝ	Ð	F˜c¨HÐ	FÐ	F¸Ð	FÐ	F€BØ‡F‚Fˆ1ˆa�L„L€LÝ�E”K ¤Ñ*Ô*Ð*Ð*Ð*rR   c                 ó  — t          dd| dd¬¦  «        \  }}t          ¦   «         }|                     ||¦  «         t          ||                     |¦  «        ¦  «        }t          t          ¦   «         ¦  «        }|                     ||¦  «         t          ||                     |¦  «        ¦  «        }||k    sJ ‚t          ||                     |¦  «        ¦  «        }t          ||                     |¦  «        ¦  «        }||k    sJ ‚d S )Nr^   rÝ   rf   )rK   rž   r¨   rM   r&  )r   r   rA   r   rD   r    Ú_predict_proba_lr)rÌ   rI   rJ   rN  Úclf_multi_lossr]  Úclf_ovr_lossÚclf_wrong_losss           rP   Ú%test_logreg_predict_proba_multinomialr  †  s  € ÝØØØ'ØØðñ ô �D€A€qõ #Ñ$Ô$€IØ‡M‚M�!�QÑÔÐÝ˜a ×!8Ò!8¸Ñ!;Ô!;Ñ<Ô<€NÝ!Õ"4Ñ"6Ô"6Ñ7Ô7€GØ‡K‚K��1ÑÔÐÝ˜A˜w×4Ò4°QÑ7Ô7Ñ8Ô8€LØ˜.Ò(Ð(Ð(Ð(õ ˜a ×!8Ò!8¸Ñ!;Ô!;Ñ<Ô<€NÝ˜a ×!<Ò!<¸QÑ!?Ô!?Ñ@Ô@€NØ˜NÒ*Ð*Ð*Ð*Ð*Ð*rR   rl   r¦   zsolver, message))r3   zAnewton-cg failed to converge.* Increase the number of iterations.)r2   z@Liblinear failed to converge, increase the number of iterations.)r5   ú?The max_iter was reached which means the coef_ did not converge)r6   r  )r1   úlbfgs failed to converge)r4   z6Newton solver did not converge after [0-9]* iterationsc                 óŠ  — t           j        t           j                             ¦   «         }}d||dk    <   |dk    r|dk    rt	          j        d¦  «         t          |d| |¬¦  «        }t	          j        t          |¬¦  «        5  | 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j
        d         |k    sJ ‚d S )	Nr   r9   r4   r8   z/solver newton-cholesky might converge very fastgVçž¯Ò<)rl   rk   r¨   ra   r|   )r…   r†   r‡   rÇ  rˆ   Úskipr   rÖ   r   rA   Ún_iter_)rÌ   rl   ra   r×   rI   Úy_binr�   s          rP   Útest_max_iterr     s  € õ( Œy�$œ+×*Ò*Ñ,Ô,€u€AØ€Eˆ%�1Š*ÑàÐ"Ò"Ð" x°!¢| |ÝŒÐEÑFÔFÐFå	ØØØ'Øð	
ñ 
ô 
€Bõ 
ŒÕ(°Ð	8Ñ	8Ô	8ð ð Ø
�Šˆq�%ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ:�aŒ=˜HÒ$Ð$Ð$Ð$Ð$Ð$s   ÂB%Â%B)Â,B)c           
      ó  — t           j        t           j        }}| dk    rt          |¦  «        }t	          j        |¦  «        j        d         }|dk    sJ ‚|                     ¦   «         }d||dk    <   d}d}d}t          dd| d	¬
¦  «        }	|	 	                    ||¦  «         |	j
        j        dk    sJ ‚t          d| |d|d	|d¬¦  «        }
|
 	                    ||¦  «         |r|
j
        j        d|||fk    sJ ‚n|
j
        j        |||fk    sJ ‚| dv rd S |	 	                    ||¦  «         |	j
        j        dk    sJ ‚|
 	                    ||¦  «         |r|
j
        j        d|||fk    sJ ‚d S |
j
        j        |||fk    sJ ‚d S )Nr1   r   rf   r9   rg   r8   rJ  rh   r$  )rk   rW   ra   r¨   r   ré   rê   )rk   ra   rÀ   r€   rë   r¨   rå   rì   rz   )r…   r†   r‡   r#   r>   r?   r@   rÇ  r   rA   r  r   )ra   rå   rI   rJ   rM   r  rÿ   Ú	n_cv_foldr   rH   Úclf_cvs              rP   Útest_n_iterr  Æ  sá  € õ Œ9•d”k€q€AØ�ÒÐå�!‰HŒHˆå”	˜!‘”Ô" 1Ô%€IØ˜Š>ˆ>ˆ>ˆ>ð �FŠF‰HŒH€EØ€Eˆ%�1Š*Ñà€DØ€IØ€Kõ  ¨°VÈ"Ð
MÑ
MÔ
M€CØ‡G‚GˆAˆuÑÔÐØŒ;Ô Ò$Ð$Ð$Ð$å!ØØØØØØØ3Øð	ñ 	ô 	€Fð ‡J‚Jˆq�%ÑÔÐØð FØŒ~Ô#¨¨9°d¸KÐ'HÒHÐHÐHÐHÐHàŒ~Ô#¨	°;ÀÐ'EÒEÐEÐEÐEð �ÐÐàˆð ‡G‚GˆAˆq�M„M€MØŒ;Ô Ò$Ð$Ð$Ð$à
‡J‚Jˆq�!ÑÔÐØð FØŒ~Ô#¨¨9°d¸KÐ'HÒHÐHÐHÐHÐHÐHàŒ~Ô#¨	°;ÀÐ'EÒEÐEÐEÐEÐEÐErR   r2   r*  )TFc                 óæ  — t           j        t           j        }}t          d||| |¬¦  «        }t	          t
          ¬¦  «        5  |                     ||¦  «         |j        }d|_        |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j
        t          j        ||j        z
  ¦  «        ¦  «        }d|› d|›d|›�}	|rd|k    s
J |	¦   «         ‚d S |dk    s
J |	¦   «         ‚d S )	Nrv  )rk   r*  ra   r¨   rY   r·  r8   z Warm starting issue with solver zwith fit_intercept=z and warm_start=ç       @)r…   r†   r‡   r   r-   r   rA   ru   rl   r>   rE   Úabs)
rÌ   ra   r*  rY   rI   rJ   rH   Úcoef_1Úcum_diffrŒ   s
             rP   Útest_warm_startr!     sW  € õ Œ9•d”k€q€Aå
ØØØØ'Ø#ðñ ô €Cõ 
Õ"4Ð	5Ñ	5Ô	5ð ð Ø�Š��1‰ŒˆØ”ˆàˆŒØ�Š��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Œv•b”f˜V c¤iÑ/Ñ0Ô0Ñ1Ô1€Hð	3¨6ð 	3ð 	3Øð	3ð 	3Ø%/ð	3ð 	3ð ð ð #Ø�XŠ~ˆ~ˆ~˜s‰~Œ~ˆ~ˆ~ˆ~à˜#Š~ˆ~ˆ~˜s‰~Œ~ˆ~ˆ~ˆ~s   Á;B	Â	BÂBr3   rW   c                 ó,  — t           j        t           j        }}t          | d||¬¦  «        }t	          t
          ¬¦  «        5  |                     ||¦  «         ddd¦  «         n# 1 swxY w Y   t          | dd||¬¦  «        }t	          t
          ¬¦  «        5  |                     ||¦  «         |                     ||¦  «         ddd¦  «         n# 1 swxY w Y   t          |j        |j        ¦  «         |rt          |j	        |j	        ¦  «         dS dS )zITest that 2 steps at once are the same as 2 single steps with warm start.r9   )ra   rl   rY   rW   r·  Nr8   T)ra   rl   r*  rY   rW   )
r…   r†   r‡   r   r-   r   rA   r   ru   rt   )ra   rY   rW   rI   rJ   rõ  rm  s          rP   Útest_warm_start_newton_solverr#  !  s�  € õ
 Œ9•d”k€q€AåØØØ#Ø
ð	ñ ô €Dõ 
Õ"4Ð	5Ñ	5Ô	5ð ð Ø�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ØØØØ#Ø
ðñ ô €Dõ 
Õ"4Ð	5Ñ	5Ô	5ð ð Ø�Š��A‰ŒˆØ�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �D”J ¤
Ñ+Ô+Ð+Øð :Ý˜œ¨¬Ñ9Ô9Ð9Ð9Ð9ð:ð :s$   ÁA$Á$A(Á+A(Â-CÃCÃCc                 ó€  — t          ¦   «         }|j        |j        }}t          j        |gdz  ¦  «        }t          j        |gdz  ¦  «        }||dk             }||dk             dz  dz
  }t          dd| ¬¦  «        \  }}	 ||¦  «        }||f||	ffD ]ª\  }}|j        d         }
t          j        ddd¦  «        D ]�}t          d	|
|z  z  |d
dd| d¬¦  «        }t          d	|
|z  z  |ddd| d¬¦  «        }| 	                    ||¦  «         | 	                    ||¦  «         t          |j        |j        d¦  «         Œ‚Œ«d S )Nrf   r8   r9   rè   rÝ   r­  r   r7   rh   r6   rH  FrÄ   )rW   r~   ra   rl   rY   r¨   rk   r2   )r   r†   r‡   r>   rÇ   r   r@   rÉ   r   rA   r   ru   )rÌ   rS   r~   r…   rI   rJ   ÚX_binr  ÚX_sparseÚy_sparserK   Úalphar6   r2   s                 rP   Útest_saga_vs_liblinearr)  A  s   € õ ‰;Œ;€DØŒ9�d”k€q€AÝ
Œ˜�s˜Q‘wÑÔ€AÝ
Œ˜�s˜Q‘wÑÔ€Aàˆa�1ŠfŒI€EØˆa�1ŠfŒI˜‰M˜AÑ€Eå,Ø Ð2Dðñ ô Ñ€Hˆhð ˆ}˜XÑ&Ô&€Hà˜� (¨HÐ!5Ð6ð Fð F‰ˆˆ1Ø”G˜A”Jˆ	å”[  Q¨Ñ*Ô*ð 	Fð 	FˆEÝ%Ø˜ UÑ*Ñ+Ø!ØØØ#Ø/Øðñ ô ˆDõ +Ø˜ UÑ*Ñ+Ø!Ø"ØØ#Ø/Øðñ ô ˆIð �HŠH�Q˜‰NŒNˆNØ�MŠM˜!˜QÑÔÐå% d¤j°)´/À1ÑEÔEÐEÐEð1	FðFð FrR   c                 óš  — | dk    rt           j        nt           j        }t          j        t          ¦  «                             t           j        ¦  «        }t          j        t          ¦  «                             t           j        ¦  «        }t          j        t          ¦  «                             t           j        ¦  «        }t          j        t          ¦  «                             t           j        ¦  «        } |t          t           j        ¬¦  «        } |t          t           j        ¬¦  «        }	d}
t          | d|
|¬¦  «        }t          |¦  «        }| 	                    ||¦  «         |j
        j        |k    sJ ‚t          |¦  «        }| 	                    ||¦  «         |j
        j        |k    sJ ‚t          |¦  «        }| 	                    ||¦  «         |j
        j        t           j        k    sJ ‚t          |¦  «        }| 	                    |	|¦  «         |j
        j        t           j        k    sJ ‚d|
z  }t          j        dk    r	t          rd}t          |j
        |j
                             t           j        ¦  «        |¬	¦  «         | d
v r|rd}t          |j
        |j
        |¬	¦  «         t          |j
        |j
        |¬	¦  «         d S )Nr2   r¶   gü©ñÒMb@?r$  )ra   r¨   rk   rY   g…ëQ¸…@ÚntrJ  rÅ  r¾   r²  )r>   r¹   Úfloat32rr   rI   rÊ  rZ   r   r   rA   ru   r·   ÚosÚnamer.   r   )ra   rY   rS   Ú
out32_typeÚX_32Úy_32ÚX_64Úy_64ÚX_sparse_32ÚX_sparse_64r˜  Úlr_templÚlr_32Úlr_32_sparseÚlr_64Úlr_64_sparserq   s                    rP   Útest_dtype_matchr;  o  sb  € ð  &¨Ò4Ð4•”�½"¼*€JåŒ8•A‰;Œ;×Ò�bœjÑ)Ô)€DÝŒ8•B‰<Œ<×Ò�rœzÑ*Ô*€DÝŒ8•A‰;Œ;×Ò�bœjÑ)Ô)€DÝŒ8•B‰<Œ<×Ò�rœzÑ*Ô*€DØ�-¥­¬Ð4Ñ4Ô4€KØ�-¥­¬Ð4Ñ4Ô4€KØ€Jå!ØØØØ#ð	ñ ô €Hõ �(‰OŒO€EØ	‡I‚Iˆd�DÑÔÐØŒ;Ô 
Ò*Ð*Ð*Ð*õ ˜‘?”?€LØ×Ò�[ $Ñ'Ô'Ð'ØÔÔ# zÒ1Ð1Ð1Ð1õ �(‰OŒO€EØ	‡I‚Iˆd�DÑÔÐØŒ;Ô¥¤
Ò*Ð*Ð*Ð*õ ˜‘?”?€LØ×Ò�[ $Ñ'Ô'Ð'ØÔÔ#¥r¤zÒ1Ð1Ð1Ð1ð �jÑ €DÝ	„w�$‚€�9€àˆõ �E”K ¤×!3Ò!3µB´JÑ!?Ô!?ÀdÐKÑKÔKÐKà�Ð Ð  ]Ð ð ˆå�E”K Ô!3¸$Ð?Ñ?Ô?Ð?Ý�E”K Ô!3¸$Ð?Ñ?Ô?Ð?Ð?Ð?rR   c                 ó|  — t           j                             | ¦  «        }t          j        |                     dd¦  «        ddgz   |                     dd¦  «        f¦  «        }t          j        dgdz  dgdz  z   ¦  «        }t          ddd| ¬¦  «        }t          dd	d| ¬¦  «        }t          ||                     ||¦  «         	                    |¦  «        ¦  «        }t          d
¦  «        D ]}|                     ||¦  «         Œt          || 	                    |¦  «        ¦  «        }t          ||d¬¦  «         d S )NrU   r9   r8   r7   r5   FrÄ   )ra   r*  rk   r¨   Tr¦   rm   rn   )r>   rª   r«   rÇ   rÈ   rr   r   r   rA   rD   rV  r   )	rÌ   r­   rI   rJ   Úlr_no_wsÚlr_wsÚlr_no_ws_lossrÐ   Ú
lr_ws_losss	            rP   Útest_warm_start_converge_LRrA  ¶  s>  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ
Œ˜Ÿ	š	 # qÑ)Ô)¨Q°¨FÑ2°C·I²I¸cÀ1Ñ4EÔ4EÐFÑGÔG€AÝ
Œ�!��s‘˜b˜T C™ZÑ'Ñ(Ô(€AÝ!Ø ¨DÐ?Qðñ ô €Hõ Ø ¨4Ð>Pðñ ô €Eõ ˜Q §¢¨Q°Ñ 2Ô 2× @Ò @ÀÑ CÔ CÑDÔD€MÝ�1‰XŒXð ð ˆØ�	Š	�!�Q‰ŒˆˆÝ˜!˜U×0Ò0°Ñ3Ô3Ñ4Ô4€JÝ�M :°DÐ9Ñ9Ô9Ð9Ð9Ð9rR   c           	      óˆ  — t          | ¬¦  «        \  }}d}t          ¦   «         }dD ]G}t          ||d| dd¬¦  «        }|                     ||¦  «         |                     |j        ¦  «         ŒH|\  }}}	t          j        ||dd¬	¦  «        rJ ‚t          j        ||	dd¬	¦  «        rJ ‚t          j        |	|dd¬	¦  «        rJ ‚d S )
Nr§   r  )rƒ   r8   r   r6   rß   rH  )rW   r~   ra   r¨   rk   rl   r   rp   )r   rô   r   rA   Úappendru   r>   Úallclose)
rÌ   rI   rJ   rW   Úcoeffsr~   r�   Úelastic_net_coeffsÚ	l1_coeffsÚ	l2_coeffss
             rP   Útest_elastic_net_coeffsrI  Ë  sú   € õ Ð,>Ð?Ñ?Ô?�D€A€qà€AÝ‰VŒV€FØð 
 ð 
 ˆÝØØØØ+ØØð
ñ 
ô 
ˆð 	�Šˆq�!‰ŒˆØ�Š�b”hÑÔÐÐà/5Ñ,Ð˜	 9õ Œ{Ð-¨y¸qÀtÐLÑLÔLÐLÐLÐLÝŒ{Ð-¨y¸qÀtÐLÑLÔLÐLÐLÐLÝŒ{˜9 i°a¸dÐCÑCÔCÐCÐCÐCÐCÐCrR   z1ignore:.*'penalty' was deprecated.*:FutureWarning)rß   r  r8   r^   rU   r¿   ç    €„.Azpenalty, l1_ratio)Úl1r8   )r(  r   c                 ó
  — t          | ¬¦  «        \  }}t          d||d| d¬¦  «        }t          ||d| d¬¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j        |j        ¦  «         d S )Nr§   r‘   r6   rJ  )r’   rW   r~   ra   r¨   rk   )r’   rW   ra   r¨   rk   )r   r   rA   r   ru   )rÌ   rW   r’   r~   rI   rJ   Úlr_enetÚlr_expecteds           rP   Ú"test_elastic_net_l1_l2_equivalencerO  ç  s§   € õ Ð,>Ð?Ñ?Ô?�D€A€qå ØØ
ØØØ'Øðñ ô €Gõ %Ø˜1 VÐ:LÐRVðñ ô €Kð ‡K‚K��1ÑÔÐØ‡O‚O�A�qÑÔÐå˜gœm¨[Ô->Ñ?Ô?Ð?Ð?Ð?rR   )rß   r8   rU   rJ  c                 ó$  — t          dd¬¦  «        \  }}t          ||d¬¦  «        \  }}}}dt          j        ddd¦  «        i}t	          d| ddd	¬
¦  «        }t          ||d¬¦  «        }	t	          d| ddd	¬
¦  «        }
t	          d| ddd	¬
¦  «        }|	|
|fD ]}|                     ||¦  «         Œ|	                     ||¦  «        |
                     ||¦  «        k    sJ ‚|	                     ||¦  «        |                     ||¦  «        k    sJ ‚d S )NrH  r   r§   r~   r8   r¦   rƒ   r6   rJ  )r~   rW   ra   r¨   rk   T)r  )r   r   r>   Úlinspacer   r   rA   r  )rW   rI   rJ   ÚX_trainÚX_testÚy_trainÚy_testÚ
param_gridÚenet_clfÚgsÚl1_clfÚl2_clfrH   s                rP   Útest_elastic_net_vs_l1_l2r[    sW  € õ
 ˜s°Ð3Ñ3Ô3�D€A€qÝ'7¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fà�bœk¨!¨Q°Ñ2Ô2Ð3€Jå!ØØ
ØØØðñ ô €Hõ 
�h 
°$Ð	7Ñ	7Ô	7€BåØ�a °Q¸Dðñ ô €Fõ  Ø�a °Q¸Dðñ ô €Fð �F˜FÐ#ð "ð "ˆØ�Š�˜Ñ!Ô!Ð!Ð!à�8Š8�F˜FÑ#Ô# v§|¢|°F¸FÑ'CÔ'CÒCÐCÐCÐCØ�8Š8�F˜FÑ#Ô# v§|¢|°F¸FÑ'CÔ'CÒCÐCÐCÐCÐCÐCrR   rd   rg   )r  rƒ   çÍÌÌÌÌÌì?c           	      óJ  ‡ ‡‡‡— t          ddddddd¬¦  «        \  ŠŠt          ‰¦  «        Št          ‰‰ ddd¬	¦  «        }t          ddd‰ d¬
¦  «        }|                     ‰‰¦  «         |                     ‰‰¦  «         ˆ ˆˆˆfd„} ||¦  «         ||¦  «        k     sJ ‚d S )Nr¿   r9   rÝ   r^   r   ©rK   rM   rž   r&  r¶  rµ  r¨   r6   F)r~   rW   ra   r¨   rY   )r~   ra   r¨   rW   rY   c                 ó   •— | j                              ¦   «         }‰t          ‰|                      ‰¦  «        ¦  «        z  }|‰t	          j        t	          j        |¦  «        ¦  «        z  z  }|d‰z
  dz  t	          j        ||¦  «        z  z  }|S )Nrh   rƒ   )ru   rË   r   rD   r>   rE   r  rî   )r�   r¥  ÚobjrW   rI   r~   rJ   s      €€€€rP   Úenet_objectivezEtest_LogisticRegression_elastic_net_objective.<locals>.enet_objectiveC  s€   ø€ ØŒx�~Š~ÑÔˆØ•(˜1˜b×.Ò.¨qÑ1Ô1Ñ2Ô2Ñ2ˆØˆx�"œ&¥¤¨¡¤Ñ.Ô.Ñ.Ñ.ˆØ��h‘ #Ñ%­¬¨t°TÑ(:Ô(:Ñ:Ñ:ˆØˆ
rR   )r   r#   r   rA   )rW   r~   rM  Úlr_l2ra  rI   rJ   s   ``   @@rP   Ú-test_LogisticRegression_elastic_net_objectiverc  #  s  øøøø€ õ ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aå ØØ
ØØØðñ ô €Gõ Ø˜6°°QÀeðñ ô €Eð ‡K‚K��1ÑÔÐØ	‡I‚Iˆa��O„O€Oðð ð ð ð ð ð ð ð ˆ>˜'Ñ"Ô" ^ ^°EÑ%:Ô%:Ò:Ð:Ð:Ð:Ð:Ð:rR   )r9   rf   c           
      óâ  — t          d| dd¬¦  «        \  }}t          d¦  «        }t          j        ddd¦  «        }t          j        ddd¦  «        }t          ||d	|dd
dd¬¦  «        }|                     ||¦  «         ||dœ}t          d	dd
¬¦  «        }t          |||d¬¦  «        }	|	                     ||¦  «         |	j	        d         |j
        k    sJ ‚|	j	        d         |j        k    sJ ‚d S )NrU   rf   r   )rK   rM   r&  r¨   r¦   r8   rc   rg   r6   rJ  rê   F)r€   rÀ   ra   rë   r¨   rk   rì   rå   r  )ra   r¨   rk   ©rë   rì   r~   rW   )r   r   r>   rQ  rÉ   r   rA   r   r   Úbest_params_rû   rù   )
rM   rI   rJ   rë   r€   rÀ   ÚlrcvrV  r�   rX  s
             rP   Ú2test_LogisticRegressionCV_GridSearchCV_elastic_netrh  N  s)  € õ
 ØØØØð	ñ ô �D€A€qõ 
˜Ñ	Ô	€Bå”˜A˜q !Ñ$Ô$€IÝ	Œ�R˜˜AÑ	Ô	€BåØØØØØØØØ#ð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€Nà yÐ1Ð1€JÝ	ØØØð
ñ 
ô 
€Bõ
 
�b˜*¨°^Ð	DÑ	DÔ	D€BØ‡F‚Fˆ1ˆa�L„L€LàŒ?˜:Ô&¨$¬.Ò8Ð8Ð8Ð8ØŒ?˜3Ô 4¤7Ò*Ð*Ð*Ð*Ð*Ð*rR   r  c           
      óð  — d}t          d|||d¬¦  «        \  }}t          j        ddd¦  «        }t          || ddd	d
dd¬¦  «        }|                     ||¦  «         |dk    rdn|}|j        j        |fk    sJ ‚|j        j        |fk    sJ ‚|j        j        ||fk    sJ ‚t          |j        |j        d         ¦  «         t          | ¦  «        dk    r"t          |j        |j        d         ¦  «         d S d S )NrÝ   rq  r   ©rK   rM   r&  rž   r¨   rc   rg   rf   r6   rJ  Frê   T)rÀ   r€   ra   r¨   rk   r  rì   rå   r9   r8   )r   r>   rÉ   r   rA   rù   r@   rû   ru   r   r=   )r€   rM   rž   rI   rJ   rÀ   rg  s          rP   Ú"test_LogisticRegressionCV_no_refitrk  x  s/  € ð
 €JÝØØØØØðñ ô �D€A€qõ 
Œ�R˜˜AÑ	Ô	€BÝØØØØØØØØ"ð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€Nà !’^�^��¨€IØŒ7Œ=˜Y˜LÒ(Ð(Ð(Ð(ØŒ>Ô I <Ò/Ð/Ð/Ð/ØŒ:Ô 	¨:Ð6Ò6Ð6Ð6Ð6å�D”G˜TœW QœZÑ(Ô(Ð(Ý
ˆ9�~„~˜ÒÐÝ˜œ¨¬°qÔ(9Ñ:Ô:Ð:Ð:Ð:ð ÐrR   c           
      ó  — d}t          d| | |d¬¦  «        \  }}t          j        ddd¦  «        }t          j        ddd	¦  «        }d	}t	          ||d
|dddd¬¦  «        }|                     ||¦  «         t          j        t          |j         	                    ¦   «         ¦  «        ¦  «        }| d	k    rdn| } |j
        | ||j        |j        |dz   fk    sJ ‚t          j        t          |j         	                    ¦   «         ¦  «        ¦  «        }	|	j
        | ||j        |j        fk    sJ ‚|j        j
        d||j        |j        fk    sJ ‚t          |j        |j        d         ¦  «         t          |j        |j        d         ¦  «         d S )NrÝ   rq  r   rj  rc   rg   rf   r8   r9   r6   rJ  rê   T)rÀ   r€   ra   rë   r¨   rk   rì   rå   )r   r>   rÉ   rQ  r   rA   ró   rô   rõ   rö   r@   r“  r÷   r  r   rù   rû   )
rM   rž   rI   rJ   rÀ   r€   ra  rg  r  r  s
             rP   Ú5test_LogisticRegressionCV_elasticnet_attribute_shapesrm  �  s¬  € ð
 €JÝØØØØØðñ ô �D€A€qõ 
Œ�R˜˜AÑ	Ô	€BÝ”˜A˜q !Ñ$Ô$€Ià€GÝØØØØØØØØ"ð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€NÝ”*�T $Ô"3×":Ò":Ñ"<Ô"<Ñ=Ô=Ñ>Ô>€Kà !’^�^��¨€IØÔØØØ
ŒØŒØ�Q‰ð!ò ð ð ð õ ŒZ�˜Tœ\×0Ò0Ñ2Ô2Ñ3Ô3Ñ4Ô4€FØŒ<˜I w°´¸¼ÐHÒHÐHÐHÐHàŒ<Ô ! W¨b¬g°y´~Ð!FÒFÐFÐFÐFõ �D”G˜TœW QœZÑ(Ô(Ð(Ý�D”N D¤N°1Ô$5Ñ6Ô6Ð6Ð6Ð6rR   c            	      ó–  — t           j        t           j        }} t          dddd¬¦  «                             | |¦  «        }t          d¦  «        }t          |                     | |¦  «        ¦  «        }ddgddgd	d
gfD ]Ë\  }}||         d         }t          |j	        |         dd¬¦  «                             | |         ||         ¦  «        }t          j        |¦  «        D ]f}	t          |j        |	         ||dd…f         |j        |	         d¬¦  «         t          |j        |	         ||df         |j        |	         d¬¦  «         ŒgŒÌdS )zETest that LogisticRegressionCV produces the correct result on a fold.r4   ri   Trê   )ra   rk   rå   rì   r¦   r   r8   rf   r%  )rW   ra   rk   Nr7   rm   rn   )r…   r†   r‡   r   rA   r   rô   rU  r   rñ   r>   r?   r   rõ   ru   rt   )
rI   rJ   rg  rë   ÚfoldsÚidx_foldÚidx_CÚtrain_fold_0r�   Úcls
             rP   Ú"test_LogisticRegressionCV_on_foldsrt  Î  s†  € åŒ9•d”k€q€AÝØ ØØ"Øð	ñ ô ÷
 
‚cˆ!ˆQ�i„ið 	õ 
˜Ñ	Ô	€BÝ�—’˜!˜Q‘”Ñ Ô €Eð  ˜F Q¨ F¨Q°¨FÐ3ð ð ‰ˆ�%Ø˜X” qÔ)ˆÝØŒh�uŒoØ$Øð
ñ 
ô 
÷ Š#ˆa�Œo˜q œÑ
/Ô
/ð	 	õ ”)˜A‘,”,ð 	ð 	ˆBåØÔ! "Ô% h°°s¸°sÐ&:Ô;Ø”˜”Øðñ ô ð õ ØÔ! "Ô% h°°rÐ&9Ô:Ø”˜bÔ!Øðñ ô ð ð ð	ðð rR   c                  óÒ   — d} t          j        t          | ¬¦  «        5  t          ddd¬¦  «                             t
          t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzQl1_ratio parameter is only used when penalty is 'elasticnet'\. Got \(penalty=l1\)r|   rK  r6   rƒ   )r’   ra   r~   )rˆ   rÖ   ÚUserWarningr   rA   rI   rZ   )rŒ   s    rP   Útest_l1_ratio_non_elasticnetrw  ö  sÀ   € ð	.ð õ 
Œ•k¨Ð	-Ñ	-Ô	-ð Qð QÝ 4°ÀÐEÑEÔE×IÒIÍ!ÍRÑPÔPÐPðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs   ž1AÁA Á#A c           
      óP  — d}t          |ddddd| ¬¦  «        \  }}t          |¦  «        }t          d|| dd dd	|z  |z  d
¬¦  «        }t          || ddd|d¬¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j        |j        d¬¦  «         d S )NrH  r9   r¦   r   r^  r‘   Frò  rh   r   )r’   r~   r¨   rY   rk   rl   r(  r¨  rm   r¿   r6   )r~   r¨   rY   rk   rl   rW   ra   gffffffÖ?rÅ  )r   r#   r   r   rA   r   ru   )rÌ   rW   r~   rK   rI   rJ   ÚsgdÚlogs           rP   Útest_elastic_net_versus_sgdr{     sæ   € ð €IÝØØØØØØØ'ðñ ô �D€A€qõ 	ˆa‰Œ€Aå
ØØØ'ØØØØ�A‰g˜	Ñ!Øð	ñ 	ô 	€Cõ ØØ'ØØØØ
Øðñ ô €Cð ‡G‚GˆAˆq�M„M€MØ‡G‚GˆAˆq�M„M€Må�C”I˜sœy¨tÐ4Ñ4Ô4Ð4Ð4Ð4rR   c            	      ót  — t          ddddddd¬¦  «        \  } }g d¢}t          | |t          j        |¦  «        d|d	d¬
¦  «        \  }}}t	          j        t          ¦  «        5  t          |d         |d         d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          ¦  «        5  t          |d         |d         d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          ¦  «        5  t          |d         |d         d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrq  rf   r9   r   r8   ©rK   rM   r&  r¶  Ún_clusters_per_classr¨   rž   )rm   r8   r–  rK  r6   )rL   r’   rÀ   ra   r¨   ró  )r   r   r>   r?   rˆ   r‰   rà   r   )rI   rJ   rÀ   rÎ   rÏ   s        rP   Ú/test_logistic_regression_path_coefs_multinomialr  *  sB  € õ ØØØØØØØðñ ô �D€A€qð 
Ð	Ð	€BÝ+Ø	Ø	Ý”	˜!‘”ØØØØðñ ô �K€Eˆ1ˆaõ 
Œ•~Ñ	&Ô	&ð Að AÝ! %¨¤(¨E°!¬H¸aÐ@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aå	Œ•~Ñ	&Ô	&ð Að AÝ! %¨¤(¨E°!¬H¸aÐ@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aå	Œ•~Ñ	&Ô	&ð Að AÝ! %¨¤(¨E°!¬H¸aÐ@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As6   Á#BÂBÂBÂ2CÃC!Ã$C!ÄD-Ä-D1Ä4D1c            	      ót  — t          ddddddd¬¦  «        \  } }t          j        |¦  «        }t          j        d¦  «        }t	          | |||d¬¦  «         d	t          j        t          |j        ¦  «        ¦  «        › d
�}t          j
        t          |¬¦  «        5  t	          | |||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ddddddd¬¦  «        \  } }t          j        |¦  «        }t          j        d¦  «        }t	          | |||d¬¦  «         t          j        d¦  «        }t	          | |||d¬¦  «         d	t          j        t          |j        ¦  «        ¦  «        › d�}t          j
        t          |¬¦  «        5  t	          | |||dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrq  rf   r9   r   r8   r}  )rf   rf   )rL   r¥  r¨   z Initialization coef is of shape z.+expected.+\(3, 2\)r|   F)rL   r¥  r¨   rY   )r8   rf   z.+expected.+\(2,\) or \(1, 2\))r   r>   r?   rF   r   ÚreÚescapeÚstrr@   rˆ   r‰   rŠ   )rI   rJ   rL   r¥  rŒ   s        rP   Ú(test_logistic_regression_path_init_coefsr„  J  s¤  € ÝØØØØØØØðñ ô �D€A€qõ Œi˜‰lŒl€Gõ Œ7�6‰?Œ?€DÝØ	Ø	ØØØðñ ô ð ð	 ­B¬Iµc¸$¼*±o´oÑ,FÔ,Fð 	 ð 	 ð 	 ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 
ð 
Ý!Øˆq˜'¨¸1ÈEð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 ØØØØØØØðñ ô �D€A€qõ Œi˜‰lŒl€Gõ
 Œ7�1‰:Œ:€DÝØ	Ø	ØØØðñ ô ð õ Œ7�6‰?Œ?€DÝØ	Ø	ØØØðñ ô ð ð	*­B¬Iµc¸$¼*±o´oÑ,FÔ,Fð 	*ð 	*ð 	*ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 
ð 
Ý!Øˆq˜'¨¸1ÈEð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s$   ÂB=Â=CÃCÆ
F-Æ-F1Æ4F1c                 ó  — t          dd| ¬¦  «        \  }}d}t          d |d¬¦  «        }t          j        t          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          d |d| ¬	¦  «        }t          d
t          j        |d| ¬¦  «        }|                     ||¦  «                             |¦  «        }|                     ||¦  «                             |¦  «        }	t          ||	¦  «         d S )Nr¿   r   ©rK   r¶  r¨   z&Setting penalty=None will ignore the Crg   )r’   ra   rW   r|   rj   )r’   ra   rl   r¨   r(  )r’   rW   ra   rl   r¨   )
r   r   rˆ   rÖ   rv  rA   r>   r‹   rB   r   )
rÌ   ra   rI   rJ   rŒ   r�   Úlr_noneÚlr_l2_C_infÚ	pred_noneÚpred_l2_C_infs
             rP   Útest_penalty_noner‹  ”  s[  € õ Ø AÐ4Fðñ ô �D€A€qð 3€CÝ	 D°¸1Ð	=Ñ	=Ô	=€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ !Ø˜V¨cÐ@Rðñ ô €Gõ %ØÝ
Œ&ØØØ'ðñ ô €Kð —’˜A˜qÑ!Ô!×)Ò)¨!Ñ,Ô,€IØ—O’O A qÑ)Ô)×1Ò1°!Ñ4Ô4€MÝ�y -Ñ0Ô0Ð0Ð0Ð0s   ÁA(Á(A,Á/A,c                 óH  — t          ddd¬¦  «        \  }}t          t          j        | ¬¦  «        }t	          j        ¦   «         5  t	          j        d¦  «         t	          j        dt          ¬¦  «         | 	                    ||¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
z Test that C=np.inf (recommended approach) produces no warnings.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/32927
    rU   r   r$  r†  r„   ÚerrorrÃ  r·  N)
r   r   r>   r‹   rÎ  rÏ  rÐ  Úfilterwarningsr   rA   )ra   rI   rJ   r�   s       rP   Útest_c_inf_no_warningr�  ´  sÜ   € õ ¨¸!È"ÐMÑMÔM�D€A€qå	�bœf¨VÐ	4Ñ	4Ô	4€BÝ	Ô	 Ñ	"Ô	"ð ð ÝÔ˜gÑ&Ô&Ð&ÝÔ Õ3EÐFÑFÔFÐFØ
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁABÂBÂBr2  rÄ   r¿   )r~   r�   rk   rl   rå  c                 ób  — t          j        ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddggt          j        d¦  «        ¬¦  «        }t          j        g d¢t          j        d¦  «        ¬¦  «        }t          j        ||g¦  «        }t          j        |d|z
  g¦  «        }t          j        t          |¦  «        dz  ¬	¦  «        }d
|t          |¦  «        d …<   t          |||| ¬¦  «        \  }}}t          d| ¬¦  «        } |j	        di |¤Ž t          |¦  «                             ||¦  «        }t          |¦  «                             |||¬¦  «        }	dD ]D}
 t          ||
¦  «        |¦  «        } t          |	|
¦  «        |¦  «        }t          ||¦  «         ŒEd S )Nr8   rf   r9   rg   rú   r¶   )r8   r8   r8   r8   r9   r9   r9   r9   r8   r8   r8   r8   r9   r9   r9   r9   rË  rý  r   r§   r2   )ra   r¨   rÄ  )rB   rD   rš   r“   )r>   rr   r·   ÚvstackÚhstackrF   r=   r&   r   r¹  r   rA   Úgetattrr   )rÌ   r2  rI   rJ   ÚX2Úy2r  Úbase_clfÚclf_no_weightÚclf_with_weightÚmethodÚX_clf_no_weightÚX_clf_with_weights                rP   Ú/test_logisticregression_liblinear_sample_weightrœ  Æ  s  € õ 	Œà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð!	
õ$ Œh�wÑÔð'	ñ 	ô 	€Aõ* 	ŒØ8Ð8Ð8ÅÄÈÁÄð	ñ 	ô 	€Aõ 
Œ�A�q�6Ñ	Ô	€BÝ	Œ�A�q˜1‘u�:Ñ	Ô	€BÝ”G¥# a¡&¤&¨1¡*Ð-Ñ-Ô-€MØ€M•#�a‘&”&�(�(ÑÝ#Ø
ˆB�Ð,>ðñ ô Ñ€BˆˆMõ "¨ÐCUÐVÑVÔV€HØ€HÔÐ!Ð!˜&Ð!Ð!Ð!Ý˜(‘O”O×'Ò'¨¨1Ñ-Ô-€MÝ˜H‘o”o×)Ò)¨"¨bÀÐ)ÑNÔN€OàCð <ð <ˆØ8�' -°Ñ8Ô8¸Ñ;Ô;ˆØ<�G O°VÑ<Ô<¸QÑ?Ô?ÐÝ˜Ð):Ñ;Ô;Ð;Ð;ð<ð <rR   c                  ó  — t          dd¬¦  «        \  } }t          d¬¦  «        }ddg}g d¢}t          |||d	dd
ddd¬¦	  «	        }|                     | |¦  «         |j        d                              d¬¦  «        }t          |¦  «        D ]y\  }}t          |¦  «        D ]d\  }	}
t          ||
d	dd
d¬¦  «        }t          || ||d¬¦  «                             ¦   «         }|||	f         t          j
        |d¬¦  «        k    sJ ‚ŒeŒzd S )Nr¿   r   rÞ   r¦   rQ  r  r\  )r  r8   r^   r6   éú   rß   rê   T)	rÀ   r€   rë   ra   r¨   rl   rk   rì   rå   r8   r;   )rW   r~   ra   r¨   rl   rk   re  )Úrel)r   r   r   rA   r÷   rï   rÊ   r   r   rˆ   Úapprox)rI   rJ   rë   r€   rÀ   rg  Úavg_scores_lrcvrÐ   rW   Újr~   r�   Úavg_score_lrs                rP   Ú'test_scores_attribute_layout_elasticnetr¤  þ  se  € õ ¨¸AÐ>Ñ>Ô>�D€A€qÝ	 !Ð	$Ñ	$Ô	$€Bà�c�
€IØ	ˆˆ€BåØØØØØØØØØ"ð
ñ 
ô 
€Dð 	‡H‚HˆQ��N„N€Nà”l 1”o×*Ò*°Ð*Ñ2Ô2€Oå˜"‘”ð Rð R‰ˆˆ1Ý$ YÑ/Ô/ð 	Rð 	R‰KˆAˆxÝ#ØØ!ØØØØðñ ô ˆBõ +Ø�A�q˜R¨ðñ ô çŠd‰fŒfð ð # 1 a 4Ô(­F¬M¸,ÈDÐ,QÑ,QÔ,QÒQÐQÐQÐQÐQð	RðRð RrR   )r1   r3   r4   c                 ó¶  — t           j        t           j                 }t          t	          t           j        ¦  «        | |¬¦  «        }t          t           j        ¦  «        }|                     ||¦  «         t          |j	         
                    d¬¦  «        dd¬¦  «         |r5|j         
                    d¬¦  «        t          j        dd¬¦  «        k    sJ ‚dS dS )	a|  Test that the multinomial classification is identifiable.

    A multinomial with c classes can be modeled with
    probability_k = exp(X@coef_k) / sum(exp(X@coef_l), l=1..c) for k=1..c.
    This is not identifiable, unless one chooses a further constraint.
    According to [1], the maximum of the L2 penalized likelihood automatically
    satisfies the symmetric constraint:
    sum(coef_k, k=1..c) = 0

    Further details can be found in [2].

    Reference
    ---------
    .. [1] :doi:`Zhu, Ji and Trevor J. Hastie. "Classification of gene microarrays by
           penalized logistic regression". Biostatistics 5 3 (2004): 427-43.
           <10.1093/biostatistics/kxg046>`

    .. [2] :arxiv:`Noah Simon and Jerome Friedman and Trevor Hastie. (2013)
           "A Blockwise Descent Algorithm for Group-penalized Multiresponse and
           Multinomial Regression". <1311.6529>`
    )rW   ra   rY   r   r;   r™  rÅ  g•dyáý¥=)r  N)r…   r™   r‡   r   r=   r†   r#   rA   r   ru   rE   rt   rˆ   r   )ra   rY   r‡   rH   ÚX_scaleds        rP   Ú(test_multinomial_identifiability_on_irisr§  +	  sÒ   € õ2 Ô�tœ{Ô+€Få
Ý
�dŒi‰.Œ.ØØ#ðñ ô €Cõ •T”YÑÔ€HØ‡G‚GˆH�fÑÔÐõ �C”I—M’M q�MÑ)Ô)¨1°5Ð9Ñ9Ô9Ð9Øð IØŒ~×!Ò! qÐ!Ñ)Ô)­V¬]¸1À%Ð-HÑ-HÔ-HÒHÐHÐHÐHðIð IØHÐHrR   rh   r®  c                 ó   — t          d¬¦  «        \  }}t          |¦  «        }t          j        |¦  «        }d|d |dz  …<   |                     ¦   «         }t          | d¬¦  «        }|                     |||¬¦  «         t          ||¦  «         d S )NT©Ú
return_X_yr9   rq  )r;  rl   rÄ  )r   r=   r>   rF   rÇ  r   rA   r   )r;  rI   rJ   rž   ÚWÚexpectedrH   s          rP   Útest_sample_weight_not_modifiedr­  U	  s›   € å Ð%Ñ%Ô%�D€A€qÝ�Q‘”€JÝ
Œ�
ÑÔ€AØ€AÐˆ
�a‰ÐÑà�vŠv‰xŒx€Hå
Ø!Øðñ ô €Cð ‡G‚GˆAˆq €GÑ"Ô"Ð"Ý�H˜aÑ Ô Ð Ð Ð rR   c           	      ó>  —  |t          j        ddd¬¦  «        ¦  «        }dD ]4}t          ||t          ||¦  «                             d¦  «        ¦  «         Œ5t
          j                             d¦  «        }|                     d|j	        d         ¬	¦  «        }| d
v r\d}t          j        t          |¬¦  «        5  t          | ¬¦  «                             ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          | ¬¦  «                             ||¦  «         d S )NrÝ   r^   r$  r§   )ÚindicesÚindptrÚint64r9   r   rÁ  )r2   r5   r6   z0Only sparse matrices with 32-bit integer indicesr|   r{   )r   ÚrandÚsetattrr“  rÊ  r>   rª   r«   rÈ  r@   rˆ   r‰   rŠ   r   rA   )ra   rS   rI   Úattrr­   rJ   rŒ   s          rP   Útest_large_sparse_matrixrµ  f	  sd  € ð 	ˆ•f”k " b°rÐ:Ñ:Ô:Ñ;Ô;€AØ%ð ;ð ;ˆÝ��4�  DÑ)Ô)×0Ò0°Ñ9Ô9Ñ:Ô:Ð:Ð:Ý
Œ)×
Ò
 Ñ
#Ô
#€CØ�Š�A˜AœG AœJˆÑ'Ô'€AàÐ-Ð-Ð-Ø@ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	8ð 	8Ý fÐ-Ñ-Ô-×1Ò1°!°QÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8õ 	 &Ð)Ñ)Ô)×-Ò-¨a°Ñ3Ô3Ð3Ð3Ð3s   Â:%C,Ã,C0Ã3C0c                  ó:  — t          j        ddg¦  «                             dd¦  «        } t          j        ddg¦  «        }d}t          j        t
          |¬¦  «        5  t          d¬¦  «                             | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   g}Ã”%­I²Tr7   r8   z’Using the 'liblinear' solver while X contains a maximum value > 1e30 results in a frozen fit. Please choose another solver or rescale the input X.r|   r2   r{   )r>   rr   rX  rˆ   r‰   rŠ   r   rA   )rI   rJ   rŒ   s      rP   Ú test_liblinear_with_large_valuesr·  {	  sà   € õ
 	Œ�!�U�ÑÔ×$Ò$ R¨Ñ+Ô+€AÝ
Œ�!�Q�ÑÔ€Að	)ð õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9Ý +Ð.Ñ.Ô.×2Ò2°1°aÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   Á%BÂBÂBc                  óÚ   — t          j        g d¢g¦  «        j        } t          j        g d¢¦  «        }| j        d         dk    sJ ‚t	          dd¬¦  «                             | |¦  «         d S )N)rƒ   gÍÌÌÌÌÌä?gš™™™™™ñ?g      ô?r  gHáz®Gá?gffffffî?çffffffæ?)r8   r8   r   r   r8   r8   r   r8   r8   r3   T©ra   rY   )r>   rr   rs   r@   r   rA   )rI   rJ   s     rP   Útest_single_feature_newton_cgr»  Œ	  sr   € õ 	ŒÐ>Ð>Ð>Ð?Ñ@Ô@ÔB€AÝ
ŒÐ)Ð)Ð)Ñ*Ô*€AØŒ7�1Œ:˜Š?ˆ?ˆ?ˆ?Ý˜k¸Ð>Ñ>Ô>×BÒBÀ1ÀaÑHÔHÐHÐHÐHrR   c           	      óþ  — t           j                             ¦   «         }t           j                             ¦   «         }||dk             }||dk             }t	          ¦   «                              |¦  «        }t          ||d¬¦  «        dz  }t          d|dddd	| ¬
¦  «        }t          j	        ¦   «         5  t          j
        dt          ¦  «         |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr9   rz  )r¨  g¤›ntž²@r8   r2   rÄ   rU   rÅ   )r~   rW   ra   rk   rl   rÆ   r¨   r�  )r…   r†   rÇ  r‡   r"   Úfit_transformr$   r   rÎ  rÏ  rÐ  r   rA   )rÌ   rI   rJ   ÚX_preprW   rH   s         rP   Útest_liblinear_not_stuckr¿  –	  s8  € åŒ	�ŠÑÔ€AÝŒ×ÒÑÔ€AØ	ˆ!ˆqŠ&Œ	€AØ	ˆ!ˆqŠ&Œ	€AÝÑÔ×+Ò+¨AÑ.Ô.€Få��A˜EÐ"Ñ"Ô" _Ñ4€AÝ
ØØ
ØØØØ!Ø'ðñ ô €Cõ 
Ô	 Ñ	"Ô	"ð ð ÝÔ˜gÕ'9Ñ:Ô:Ð:Ø�Š�˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â41C2Ã2C6Ã9C6rh  c                 óš  — t           j                             | ¦  «        }t          d|¬¦  «        \  }}t          d|¬¦  «        \  }}t          j        t          |¦  «        ¦  «        }d|dt          |¦  «        dz  …<   d|i}t          d¦  «                             d¬¦  «        }t          |d	d
¬¦  «        }	 |	j	        ||fi |¤Ž t          d¦  «                             d
¬¦  «        }
t          |
d	d
¬¦  «        } |j	        ||fi |¤Ž t          j
        |	j        d         |j        d         ¦  «        rJ ‚d}t          j        t          t          j        |¦  «        ¬¦  «        5   |	j        ||fi |¤Ž ddd¦  «         n# 1 swxY w Y   |	                     ||¦  «        } |j        ||fi |¤Ž}t          j
        ||¦  «        rJ ‚dS )zåTest that `sample_weight` is correctly passed to the scorer in
    `LogisticRegressionCV.fit` and `LogisticRegressionCV.score` by
    checking the difference in scores with the case when `sample_weight`
    is not requested.
    rò  rÞ   r9   Nr  r  FrÄ  gTäqs*É>T)rì   rk   rå   r8   zlLogisticRegressionCV.score got unexpected argument(s) {'sample_weight'}, which are not routed to any object.r|   )r>   rª   r«   r   rF   r=   r   Úset_score_requestr   rA   rD  r÷   rˆ   r‰   Ú	TypeErrorr�  r‚  r  )rÌ   r­   rI   rJ   ÚX_tÚy_tr  ÚkwargsÚscorer1Úlr_cv1Úscorer2Úlr_cv2rÂ   Úscore_1Úscore_2s                  rP   Ú8test_lr_cv_scores_differ_when_sample_weight_is_requestedrÌ  ¯	  s'  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CÝ¨¸CÐ@Ñ@Ô@�D€A€qÝ"¨TÀÐDÑDÔD�H€CˆÝ”G�C ™FœF‘O”O€MØ#$€M�-•C˜‘F”F˜a‘K�-Ñ Ø˜}Ð-€Få˜Ñ$Ô$×6Ò6ÀUÐ6ÑKÔK€GÝ!¨'°tÐSWÐXÑXÔX€FØ€F„Jˆq�!ÐÐ�vÐÐÐå˜Ñ$Ô$×6Ò6ÀTÐ6ÑJÔJ€GÝ!¨'°tÐSWÐXÑXÔX€FØ€F„Jˆq�!ÐÐ�vÐÐÐåŒ{˜6œ>¨!Ô,¨f¬n¸QÔ.?Ñ@Ô@Ð@Ð@Ð@ð	/ð õ 
Œ•y­¬	°'Ñ(:Ô(:Ð	;Ñ	;Ô	;ð )ð )ØˆŒ�S˜#Ð(Ð( Ð(Ð(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à�lŠl˜3 Ñ$Ô$€GØˆfŒl˜3 Ð.Ð. vÐ.Ð.€GåŒ{˜7 GÑ,Ô,Ð,Ð,Ð,Ð,Ð,s   Å(FÆFÆFc                  ó<  — t           j                             d¦  «        } t          d| ¬¦  «        \  }}t          d| ¬¦  «        \  }}t          j        t          |¦  «        ¦  «        }d|dt          |¦  «        dz  …<   d|i}t          d¬¦  «        5  t          d¦  «        }t          |d¬	¦  «        } |j	        ||fi |¤Ž  |j
        ||fi |¤Ž}	ddd¦  «         n# 1 swxY w Y   t          d
¬¦  «        5  t          d¦  «        }
|
                     d
¬¦  «         t          |
d¬	¦  «        } |j	        ||fi |¤Ž  |j
        ||fi |¤Ž}ddd¦  «         n# 1 swxY w Y   t          |j        d         |j        d         ¦  «         t          |	|¦  «         dS )z±Test that `sample_weight` is passed correctly to the scorer in
    `LogisticRegressionCV.fit` and `LogisticRegressionCV.score` even
    when `enable_metadata_routing=False`
    r^   rÞ   r9   Nr  Frh  r  )rì   rå   TrÄ  r8   )r>   rª   r«   r   rF   r=   r	   r   r   rA   r  rÁ  r   r÷   )r­   rI   rJ   rÃ  rÄ  r  rÅ  rÆ  rÇ  rÊ  rÈ  rÉ  rË  s                rP   Ú3test_lr_cv_scores_without_enabling_metadata_routingrÎ  Ô	  sU  € õ
 Œ)×
Ò
 Ñ
#Ô
#€CÝ¨¸#Ð>Ñ>Ô>�D€A€qÝ"¨R¸cÐBÑBÔB�H€CˆÝ”G�C ™FœF‘O”O€MØ#$€M�-•C˜‘F”F˜a‘K�-Ñ Ø˜}Ð-€Få	°Ð	6Ñ	6Ô	6ð 3ð 3Ý˜ZÑ(Ô(ˆÝ%ØØ"'ð
ñ 
ô 
ˆð 	ˆŒ
�1�aÐ"Ð"˜6Ð"Ð"Ð"Ø�&”,˜s CÐ2Ð2¨6Ð2Ð2ˆð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ 
°Ð	5Ñ	5Ô	5ð 3ð 3Ý˜ZÑ(Ô(ˆØ×!Ò!°Ð!Ñ5Ô5Ð5Ý%ØØ"'ð
ñ 
ô 
ˆð 	ˆŒ
�1�aÐ"Ð"˜6Ð"Ð"Ð"Ø�&”,˜s CÐ2Ð2¨6Ð2Ð2ˆð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ �F”N 1Ô% v¤~°aÔ'8Ñ9Ô9Ð9Ý�G˜WÑ%Ô%Ð%Ð%Ð%s%   Â?CÃC#Ã&C#Ã:AEÅEÅ"Ec                 ó°  — t          d¬¦  «        \  }}|dk    }t          t          ¬¦  «        5  t          | d¬¦  «                             ||¦  «        }d d d ¦  «         n# 1 swxY w Y   | dvr|j        dk    sJ ‚| dk    r·t          |j        t          j	        |j        ¦  «        ¦  «         t          | 
                    |¦  «        t          j        |j        d         |j        ¬	¦  «        ¦  «         t          |                     |¦  «        t          j        |j        d         dfd
¬	¦  «        ¦  «         |                     ||¦  «        dk     sJ ‚d S )NTr©  r9   r·  r   r„  )r6   r5   r1   )r@   Ú
fill_valuerƒ   r¹  )r   r-   r   r   rA   r  r   ru   r>   Ú
zeros_likerš   rÌ  r@   rt   rD   r  )ra   rI   rJ   rH   s       rP   Útest_zero_max_iterrÒ  ÷	  s¥  € õ  Ð%Ñ%Ô%�D€A€qØ	ˆQŠ€AÝ	Õ"4Ð	5Ñ	5Ô	5ð Fð FÝ ¨¸Ð;Ñ;Ô;×?Ò?ÀÀ1ÑEÔEˆðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fà�_Ð$Ð$àŒ{˜aÒÐÐÐà�ÒÐå˜œ	¥2¤=°´Ñ#;Ô#;Ñ<Ô<Ð<ÝØ×!Ò! !Ñ$Ô$ÝŒG˜!œ' !œ*°´Ð@Ñ@Ô@ñ	
ô 	
ð 	
õ 	Ø×Ò˜aÑ Ô ÝŒG˜1œ7 1œ: q˜/°cÐ:Ñ:Ô:ñ	
ô 	
ð 	
ð �9Š9�Q˜‰?Œ?˜SÒ Ð Ð Ð Ð Ð s   ¯&A!Á!A%Á(A%c                  ó¶  — t          dd¬¦  «        \  } }t          dd¬¦  «        }d}t          d¬¦  «        5  d	d
i}t          j        t
          |¬¦  «        5   |j        | |fi |¤Ž ddd¦  «         n# 1 swxY w Y   t          j        t
          |¬¦  «        5   |j        | |fi |¤Ž ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )z‰Test that the right error message is raised when metadata params
    are passed while not supported when `enable_metadata_routing=False`.r^   r   rÞ   Frê   )rå   rì   z1is only supported if enable_metadata_routing=Truerh  Úextra_paramrh   r|   N)r   r   r	   rˆ   r‰   rŠ   rA   r  )rI   rJ   rþ   rŒ   r2  s        rP   Ú5test_passing_params_without_enabling_metadata_routingrÕ  
  sÈ  € õ ¨¸!Ð<Ñ<Ô<�D€A€qÝ Ø#Øðñ ô €Eð >€Cå	°Ð	6Ñ	6Ô	6ð (ð (Ø Ð%ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	&ð 	&ØˆEŒI�a˜Ð%Ð%˜fÐ%Ð%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&õ Œ]�:¨SÐ1Ñ1Ô1ð 	(ð 	(ØˆEŒK˜˜1Ð'Ð' Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (sY   ¸ CÁA4Á(CÁ4A8	Á8CÁ;A8	Á<CÂB6Â*CÂ6B:	Â:CÂ=B:	Â>CÃCÃCc                  óL  — t          ddd¬¦  «        \  } }d}t          d|¬¦  «        }t          j        ¦   «         5  t          j        d¦  «         |                     | |¦  «         |j        d	         }d d d ¦  «         n# 1 swxY w Y   |d
k    sJ ‚t          d|¬¦  «        }t          t          ¬¦  «        5  |                     | |¦  «         |j        d	         }d d d ¦  «         n# 1 swxY w Y   ||k    sJ ‚t          d||d
z
  ¬¦  «        }t          t          ¬¦  «        5  t          j
        t          d¬¦  «        5  |                     | |¦  «         |j        d	         }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ||j        d
z
  k    sJ ‚d S )Nr^   rÝ   r$  r­  gêŒ 9Y>)Fr1   )ra   rW   r�  r   r8   r4   r·  )ra   rW   rl   r  r|   )r   r   rÎ  rÏ  rÐ  rA   r  r-   r   rˆ   rÖ   r   rl   )	rI   rJ   rW   Úlr_lbfgsÚn_iter_lbfgsÚlr_ncÚ	n_iter_ncÚlr_nc_limitedÚn_iter_nc_limiteds	            rP   Ú&test_newton_cholesky_fallback_to_lbfgsrÝ  %
  sÄ  € õ ¨¸ÈÐLÑLÔL�D€A€qØ€Aõ "¨°AÐ6Ñ6Ô6€HÝ	Ô	 Ñ	"Ô	"ð +ð +ÝÔ˜gÑ&Ô&Ð&Ø�Š�Q˜ÑÔÐØÔ'¨Ô*ˆð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð
 ˜1ÒÐÐÐõ Ð&7¸1Ð=Ñ=Ô=€EÝ	¥-Ð	0Ñ	0Ô	0ð %ð %Ø�	Š	�!�Q‰ŒˆØ”M !Ô$ˆ	ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð ˜Ò$Ð$Ð$Ð$õ 'Ø  A°¸qÑ0@ðñ ô €Mõ 
¥-Ð	0Ñ	0Ô	0ð 9ð 9ÝŒ\Õ,Ð4NÐOÑOÔOð 	9ð 	9Ø×Ò˜a Ñ#Ô#Ð#Ø -Ô 5°aÔ 8Ðð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð
  Ô 6¸Ñ :Ò:Ð:Ð:Ð:Ð:Ð:sY   ¼8B Â BÂBÂ9$C)Ã)C-Ã0C-Ä&F	Å$E2Å&F	Å2E6	Å6F	Å9E6	Å:F	Æ	FÆFÚ	Estimatorc                 óÚ   — d}t          j        t          |¬¦  «        5   | d¬¦  «                             t          j        t          j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z<Check that liblinear raises an error on multiclass problems.zAThe 'liblinear' solver does not support multiclass classificationr|   r2   r{   N)rˆ   r‰   rŠ   rA   r…   r†   r‡   )rÞ  rŒ   s     rP   Ú test_liblinear_multiclass_raisesrà  N
  s¾   € ð N€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð Bð BØˆ	˜Ð%Ñ%Ô%×)Ò)­$¬)µT´[ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs   ž5A Á A$Á'A$z7ignore:.*default.*use_legacy_attributes.*:FutureWarningÚestc                 óà   — t          ddd¬¦  «        \  }} | d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     ||¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )
z?Check that penalty in LogisticRegression and *CV is deprecated.r9   rÝ   r%  ©rM   rK   r&  r(  )r’   z'penalty' was deprecatedr|   N)r   rˆ   rÖ   ÚFutureWarningrA   )rá  rI   rJ   r�   rŒ   s        rP   Útest_penalty_deprecatedrå  Z
  s½   € õ
 ¨°bÈÐJÑJÔJ�D€A€qØ	ˆ�TÐ	Ñ	Ô	€BØ
$€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¿A#Á#A'Á*A'c                  óè   — t          ddd¬¦  «        \  } }t          d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nrf   rè   r%  rã  rê   rG  z@The default value of use_legacy_attributes will change from Truer|   ©r   r   rˆ   rÖ   rä  rA   ©rI   rJ   r�   rŒ   s       rP   Ú:test_logisticregressioncv_warns_with_use_legacy_attributesré  g
  sÃ   € Ý¨°bÈÐJÑJÔJ�D€A€qÝ	Øð
ñ 
ô 
€Bð M€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   ÁA'Á'A+Á.A+z3ignore:l1_ratios parameter is only us.*:UserWarningc                  óV  — t          ddd¬¦  «        \  } }t          d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         ddd¦  «         n# 1 swxY w Y   t          d	¬
¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         ddd¦  «         n# 1 swxY w Y   t          dd	¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z=Check that l1_ratio=None in LogisticRegression is deprecated.r9   rÝ   r%  rã  N)r~   z'l1_ratio=None' was deprecatedr|   rê   rG  z+The default value for l1_ratios will change)r€   rì   z'l1_ratios=None' was deprecated)r   r   rˆ   rÖ   rä  rA   r   rè  s       rP   Útest_l1_ratio_None_deprecatedrì  r
  sô  € õ ¨°bÈÐJÑJÔJ�D€A€qå	 TÐ	*Ñ	*Ô	*€BØ
*€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Øð
ñ 
ô 
€Bð 8€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ØØð
ñ 
ô 
€Bð ,€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   ÁA&Á&A*Á-A*ÂCÃCÃCÃ:DÄD"Ä%D"c                  óè   — t          ddd¬¦  «        \  } }t          d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nrf   rè   r%  rã  r8   )r)  z'n_jobs' has no effectr|   )r   r   rˆ   rÖ   rä  rA   rè  s       rP   Ú)test_logisticregression_warns_with_n_jobsrî  Ž
  s¹   € Ý¨°bÈÐJÑJÔJ�D€A€qÝ	 1Ð	%Ñ	%Ô	%€BØ
"€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rê  ÚbinaryÚ	use_str_yÚuse_sample_weight)Nr³  rx  z(array_namespace, device_name, dtype_namec           	      ó®
  — t          |||¦  «        \  }}t          j                             |d¬¦  «        }	|	j        \  }
}|                     |	|¬¦  «        }|rª| rUt          j        dk                         t          j        ¦  «        }t          j	        ddg¦  «        |         }|dk    rdd	d
œ}n(t          j
        t          j                 }|dk    rddd	dœ}|                     ¦   «         }t          j        |d¬¦  «        }n| r9t          j        dk                         t          j        ¦  «        }|dk    rdd	dœ}nt          j        }|dk    rddd	dœ}|                     |¦  «        }|                     ||¬¦  «        }|r]t          j                             d¦  «                             dd|
¬¦  «                             dd ¦  «                             |¦  «        }nd }t!          dddd|¬¦  «        }t#          j        ¦   «         5  t'          d#i |¤Ž                     |	||¬¦  «        }|j        |j        k     sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |j        ¦  «                             ¦   «         dk    sJ ‚|                     |	¦  «        }|                     |	¦  «        }|                     |	¦  «        }t;          |¦  «        dz  }|dk    rdnd}t=          d¬¦  «        5  t#          j        ¦   «         5  t#          j        dt@          ¦  «         t'          d#i |¤Ž                     |||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |j        j        |j        j        k    sJ ‚tC          |j        d         ¦  «        |j        k     sJ ‚dD ]~}tE          ||¦  «        }tE          ||¦  «        }tG          tI          |t          d ¬!¦  «        |||¬"¦  «         |j%        |j%        k    sJ ‚tM          |¦  «        tM          |¦  «        k    sJ ‚Œ|                     |¦  «        }tG          tI          |t          d ¬!¦  «        |||¬"¦  «         |j%        |j%        k    sJ ‚tM          |¦  «        tM          |¦  «        k    sJ ‚|                     |¦  «        }tG          tI          |t          d ¬!¦  «        |||¬"¦  «         |j%        |j%        k    sJ ‚tM          |¦  «        tM          |¦  «        k    sJ ‚|                     |¦  «        }|stI          |t          d ¬!¦  «        }tO          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )$NT©rÇ  r*   r   Úsetosaú
not-setosarx  rh   g      @)rô  rõ  r  )Ú	virginicarô  Ú
versicolorr¸   rD  r7   r¦   rÁ  rJ  r1   rå  rH  )rW   ra   rk   rl   r;  rÄ  r  r^   r,  rˆ  rm   ©Úarray_api_dispatchr�  )ru   rt   Úcpu)Úxpr+   rp   r“   )(r,   r…   r†   rÊ  r@   ró   r‡   r>   r±  rr   r™   rÇ  rª   Údefault_rngr›  Úcliprx  rÎ  rÏ  r   rA   r  rl   r  ru   rš  rD   Úpredict_log_probarB   r'   r	   rÐ  r   rË  r“  r   r(   r·   Úarray_api_devicer   )rï  rð  rñ  r;  Úarray_namespaceÚdevice_nameÚ
dtype_namerû  r+   ÚX_nprK   rÏ   ÚX_xpr‡   Úy_npÚ
y_xp_or_npr  Ú	lr_paramsÚlr_npÚpredict_proba_npÚpreditct_log_proba_npÚprediction_nprq   ro   Úlr_xpÚ	attr_nameÚattr_xpÚattr_npÚpredict_proba_xpÚpredict_log_proba_xpÚprediction_xps                                  rP   Ú-test_logistic_regression_array_api_compliancer  –
  sl  € õ$ & o°{ÀJÑOÔO�J€BˆÝŒ9×Ò˜J¨TÐÑ2Ô2€DØ”:�L€IˆqØ�:Š:�d 6ˆ:Ñ*Ô*€DØð 5Øð 	TÝ”k A’o×-Ò-­b¬hÑ7Ô7ˆFÝ”X˜x¨Ð6Ñ7Ô7¸Ô?ˆFØ˜vÒ%Ð%Ø*-¸SÐAÐA�øåÔ&¥t¤{Ô3ˆFØ˜vÒ%Ð%Ø-0¸CÈsÐSÐS�Ø�{Š{‰}Œ}ˆÝ”Z ¨4Ð0Ñ0Ô0ˆ
ˆ
àð 	8Ý”k A’o×-Ò-­b¬hÑ7Ô7ˆFØ˜vÒ%Ð%Ø#&¨3Ð/Ð/�øå”[ˆFØ˜vÒ%Ð%Ø#&¨3°3Ð7Ð7�Ø�}Š}˜ZÑ(Ô(ˆØ—Z’Z ¨V�ZÑ4Ô4ˆ
àð åŒI×!Ò! !Ñ$Ô$ßŠW�R˜ ˆWÑ+Ô+ßŠT�!�T‰]Œ]ßŠV�JÑÔð	 	ˆð ˆõ Ø
�w E°CÀlðñ ô €Iõ 
Ô	 Ñ	"Ô	"ð .ð .å"Ð/Ð/ YÐ/Ð/×3Ò3Ø�$ mð 4ñ 
ô 
ˆð Œ}˜uœ~Ò-Ð-Ð-Ð-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ Œ6�%”+ÑÔ×"Ò"Ñ$Ô$ sÒ*Ð*Ð*Ð*à×*Ò*¨4Ñ0Ô0ÐØ!×3Ò3°DÑ9Ô9ÐØ—M’M $Ñ'Ô'€Mõ ˜*Ñ%Ô%¨Ñ*€DØ Ò*Ð*ˆ4ˆ4°€Då	¨4Ð	0Ñ	0Ô	0ð ,9ð ,9ÝÔ$Ñ&Ô&ð 	ð 	õ Ô! 'Õ+=Ñ>Ô>Ð>Ý&Ð3Ð3¨Ð3Ð3×7Ò7Ø�j°ð 8ñ ô ˆEð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð Œ}Ô" e¤mÔ&9Ò9Ð9Ð9Ð9Ý�5”= Ô#Ñ$Ô$ u¤~Ò5Ð5Ð5Ð5à0ð 	Gð 	GˆIÝ˜e YÑ/Ô/ˆGÝ˜e YÑ/Ô/ˆGÝÝ˜¥B¨uÐ5Ñ5Ô5°wÀTÐPTðñ ô ð ð ”= D¤JÒ.Ð.Ð.Ð.Ý# GÑ,Ô,Õ0@ÀÑ0FÔ0FÒFÐFÐFÐFÐFà ×.Ò.¨tÑ4Ô4ÐÝÝÐ$­°EÐ:Ñ:Ô:ØØØð		
ñ 	
ô 	
ð 	
ð  Ô%¨¬Ò3Ð3Ð3Ð3ÝÐ 0Ñ1Ô1Õ5EÀdÑ5KÔ5KÒKÐKÐKÐKà$×6Ò6°tÑ<Ô<ÐÝÝÐ(­R¸Ð>Ñ>Ô>Ø!ØØð		
ñ 	
ô 	
ð 	
ð $Ô)¨T¬ZÒ7Ð7Ð7Ð7ÝÐ 4Ñ5Ô5Õ9IÈ$Ñ9OÔ9OÒOÐOÐOÐOàŸš dÑ+Ô+ˆØð 	HÝ# MµbÀÐGÑGÔGˆMÝ˜=¨-Ñ8Ô8Ð8ðY,9ð ,9ð ,9ñ ,9ô ,9ð ,9ð ,9ð ,9ð ,9ð ,9ð ,9ð ,9øøøð ,9ð ,9ð ,9ð ,9ð ,9ð ,9sI   È
5IÉIÉIË3U
Ì=MÍU
ÍM	ÍU
ÍM	ÍG%U
Õ
UÕUzignore:'penalty' was deprecated)rK  rÔ   )r(  rh   c                 óô   — t          d¬¦  «        \  }}t          d| |¬¦  «        }d| › d|› �}t          j        t          |¬¦  «        5  |                     ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	z=Check that incompatible penalty and l1_ratio raise a warning.rÝ   ©rK   r6   )ra   r’   r~   zInconsistent values: penalty=z with l1_ratio=r|   N)r   r   rˆ   rÖ   rv  rA   )r’   r~   rI   rJ   r�   rŒ   s         rP   Ú$test_lr_penalty_l1ratio_incompatibler    sË   € õ ¨Ð,Ñ,Ô,�D€A€qÝ	 6°7ÀXÐ	NÑ	NÔ	N€BØ
L¨'Ð
LÐ
LÀ(Ð
LÐ
L€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á	A-Á-A1Á4A1c                  óæ   — t          d¬¦  «        \  } }t          dg¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z$Check that scoring raises a warning.rÝ   r  r   )r€   z8The default value of the parameter 'scoring' will changer|   Nrç  rè  s       rP   Útest_lr_scoring_warnsr  (  s¹   € õ ¨Ð,Ñ,Ô,�D€A€qÝ	¨¨Ð	,Ñ	,Ô	,€BØ
D€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA&Á&A*Á-A*c                  ój   — t          ¦   «         } |                      ¦   «         j        j        dk    sJ ‚dS )z;Test that LogisticRegressionCV gets correct default scorer.Úaccuracy_scoreN)r   Ú_get_scorerÚ_score_funcr  )r�   s    rP   Útest_get_default_scorerr  3  s7   € õ 
Ñ	Ô	€BØ�>Š>ÑÔÔ'Ô0Ð4DÒDÐDÐDÐDÐDÐDrR   c                 óP  — t          |||¦  «        \  }}t          j                             |d¬¦  «        }| r$t          j        dk                         |¦  «        }nt          j                             |¦  «        }|                     ||¬¦  «        }|                     ||¬¦  «        }	t          d¬¦  «        5  t          dddd¬	¦  «        }
|
                     ||	¦  «         |
 	                    |¦  «         |
                     ||	¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z‚Test that warm_start=True works with array API inputs across
    multiple fit calls for both binary and multiclass classification.Tró  r   r*   rø  rJ  r1   rj   )rW   ra   rl   r*  N)
r,   r…   r†   rÊ  r‡   ró   r	   r   rA   rB   )rï  r   r  r  rû  Údevice_r  r  r  Úy_xpr�   s              rP   Ú-test_logistic_regression_array_api_warm_startr!  :  s[  € õ ' ¸ÀZÑPÔP�K€BˆÝŒ9×Ò˜J¨TÐÑ2Ô2€DØð .Ý”˜a’×'Ò'¨
Ñ3Ô3ˆˆåŒ{×!Ò! *Ñ-Ô-ˆà�:Š:�d 7ˆ:Ñ+Ô+€DØ�:Š:�d 7ˆ:Ñ+Ô+€Då	¨4Ð	0Ñ	0Ô	0ð ð Ý $¨wÀÐQUÐVÑVÔVˆØ
�Šˆt�TÑÔÐØ
�
Š
�4ÑÔÐØ
�Šˆt�TÑÔÐð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â9ADÄDÄ"D)r   r9   r¿   c                 óú  — t          dd¬¦  «        \  }}t          ¦   «         }t          d| ¬¦  «                             |¦  «        }|                     ||¦  «         |                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d	¦  «        dt          |j        d¦  «        z   dz   k    sJ ‚|                     d
¦  «        dt          |j        d¦  «        z   dz   k    sJ ‚dS )z1Test the callback support for LogisticRegression.rg   r   )rž   r¨   r1   r„  Úsetupr8   ÚteardownÚon_fit_task_beginÚon_fit_task_endN)r   r   r   Úset_callbacksrA   Úcount_hooksrš  r  )rl   rI   rJ   Úcbr�   s        rP   Ú)test_logistic_regression_callback_supportr*  Z  sþ   € õ ¨!¸!Ð<Ñ<Ô<�D€A€qå	Ñ	Ô	€BÝ	 7°XÐ	>Ñ	>Ô	>×	LÒ	LÈRÑ	PÔ	P€BØ‡F‚Fˆ1ˆa�L„L€Là�>Š>˜'Ñ"Ô" aÒ'Ð'Ð'Ð'Ø�>Š>˜*Ñ%Ô%¨Ò*Ð*Ð*Ð*à�>Š>Ð-Ñ.Ô.°!µc¸"¼*ÀaÑ6HÔ6HÑ2HÈ1Ñ2LÒLÐLÐLÐLØ�>Š>Ð+Ñ,Ô,°µC¸¼
ÀAÑ4FÔ4FÑ0FÈÑ0JÒJÐJÐJÐJÐJÐJrR   c                 ól  — t          ddd| d¬¦  «        \  }}t          ¦   «         }d|dœ}t          di |¤Ž                     |¦  «                             ||¦  «        }|j        d         }d„ |j        D ¦   «         }d„ |j        D ¦   «         }	t          t          ||	¦  «        ¦  «        D �]ˆ\  }
\  }}|d         j	        |
k    sJ ‚|d         j	        |
k    sJ ‚|
dk    rœ|d	         d
         }t          di |¤d|
i¤Ž                     ||¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         |
|k     r¡|d	         d
         }t          di |¤d|
dz   i¤Ž                     ||¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         t          |                     |¦  «        |                     |¦  «        ¦  «         �Œx|d	         d
         �J ‚�ŒŠdS )zÔCheck the fitted_estimator in callback hooks.

    It is able to predict, with learned parameters identical to the ones obtained if the
    owner estimator had been fitted with the same number of iterations.
    rg   r   )rž   r&  r¶  rM   r¨   r1   rº  c                 óH   — g | ]}|d          dk    ¯d|d         j         v ¯|‘Œ S )r.  r%  ÚiterÚcontext©Ú	task_name©rL  Úrecs     rP   rP  zFtest_logistic_regression_callback_fitted_estimator.<locals>.<listcomp>‚  sC   € ð ð ð àØˆvŒ;Ð-Ò-Ð-°&¸CÀ	¼NÔ<TÐ2TÐ2Tð 	à2TÐ2TÐ2TrR   c                 óH   — g | ]}|d          dk    ¯d|d         j         v ¯|‘Œ S )r.  r&  r-  r.  r/  r1  s     rP   rP  zFtest_logistic_regression_callback_fitted_estimator.<locals>.<listcomp>‡  sC   € ð ð ð àØˆvŒ;Ð+Ò+Ð+°¸#¸i¼.Ô:RÐ0RÐ0Rð 	à0RÐ0RÐ0RrR   r.  rÅ  Úfitted_estimatorrl   r8   Nr“   )r   r   r   r'  rA   r  rÙ   rÊ   rê  Útask_idr   ru   rt   rB   )rM   rY   rI   rJ   r)  r  r�   Ún_iterÚiter_beginsÚ	iter_endsrÐ   Ú
iter_beginÚiter_endrá  Úexpected_lrs                  rP   Ú2test_logistic_regression_callback_fitted_estimatorr<  l  s„  € õ ØØØØØðñ ô �D€A€qõ 
Ñ	Ô	€Bà"°]ÐCÐC€IÝ	Ð	(Ð	(˜iÐ	(Ð	(×	6Ò	6°rÑ	:Ô	:×	>Ò	>¸qÀ!Ñ	DÔ	D€BØŒZ˜Œ]€Fðð à”9ðñ ô €Kð
ð à”9ðñ ô €Iõ &/­s°;À	Ñ/JÔ/JÑ%KÔ%Kð Bñ BÑ!ˆÑ!ˆJ˜Ø˜)Ô$Ô,°Ò1Ð1Ð1Ð1Ø˜	Ô"Ô*¨aÒ/Ð/Ð/Ð/àˆqŠ5ˆ5Ø˜XÔ&Ð'9Ô:ˆCÝ,ÐEÐE¨yÐEÐEÀ1ÐEÐEÐE×IÒIÈ!ÈQÑOÔOˆKÝ˜CœI {Ô'8Ñ9Ô9Ð9Ý˜CœN¨KÔ,BÑCÔCÐCÝ˜CŸKšK¨™NœN¨K×,?Ò,?ÀÑ,BÔ,BÑCÔCÐCàˆvŠ:ˆ:Ø˜8Ô$Ð%7Ô8ˆCÝ,ÐIÐI¨yÐIÐIÀ1ÀqÁ5ÐIÐIÐI×MÒMÈaÐQRÑSÔSˆKÝ˜CœI {Ô'8Ñ9Ô9Ð9Ý˜CœN¨KÔ,BÑCÔCÐCÝ˜CŸKšK¨™NœN¨K×,?Ò,?ÀÑ,BÔ,BÑCÔCÐCÑCð ˜HÔ%Ð&8Ô9ÐAÐAÐAÑAð'Bð BrR   c                  óÐ   — t          ¦   «         } t          j        t          d¬¦  «        5  t	          d¬¦  «                             | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zLTest the warning message when trying to set a callback with solver!='lbfgs'.zECallbacks are only supported in LogisticRegression for solver='lbfgs'r|   r2   r{   N)r   rˆ   rÖ   rv  r   r'  )r)  s    rP   Ú1test_logistic_regression_callback_support_warningr>  ±  sÅ   € õ 
Ñ	Ô	€BÝ	ŒÝØUð
ñ 
ô 
ð Að Aõ 	 +Ð.Ñ.Ô.×<Ò<¸RÑ@Ô@Ð@ð	Að Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As   ª$AÁAÁ"A)«rz  r-  r�  rÎ  Únumpyr>   rˆ   Únumpy.testingr   r   r   Úscipyr   Úscipy.linalgr   r   Úsklearnr	   Úsklearn._lossr
   Úsklearn.baser   Úsklearn.callback.tests._utilsr   r   Úsklearn.datasetsr   r   r   Úsklearn.exceptionsr   Úsklearn.linear_modelr   r   r   Úsklearn.linear_model._logisticr   r   Úsklearn.metricsr   r   r   Úsklearn.model_selectionr   r   r   r   r   r   Úsklearn.multiclassr    Úsklearn.preprocessingr!   r"   r#   Úsklearn.svmr$   Úsklearn.utilsr%   r&   Úsklearn.utils._array_apir'   r(   r)   r+   rÿ  Úsklearn.utils._testingr,   r-   Úsklearn.utils.fixesr.   r/   r0   ÚmarkrŽ  Ú
pytestmarkry  rI   rZ   r_   r…   rQ   Úparametrizer\   r`   rw   rŽ   r•   r¤   r±   r´   r¼   rÒ   rÛ   Úthread_unsaferä   r  r  r  r6  rB  re  ro  r  r�  r«  r°  r»  rÞ  rã  rè  rì  r÷  rù  rû  r  r
  r  r-  r  r  r=  r>  r!  r‹   r#  r)  r;  rA  rI  rO  r[  rÉ   rc  rh  rQ  rk  rm  rt  rw  r{  r  r„  r‹  r�  rœ  r¤  r§  r­  rµ  r·  r»  r¿  rÌ  rÎ  rÒ  rÕ  rÝ  rà  rå  ré  rì  rî  r  r  r  r  r!  r*  r<  r>  r“   rR   rP   ú<module>rX     sd  ðØ Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à "Ð "Ð "Ð "Ð "Ð "Ø -Ð -Ð -Ð -Ð -Ð -Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð RÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ Xðð ð ð ð ð ð ð ð CÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ  Ð  Ð  Ð  Ð  Ð  Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IàŒ[×'Ò'Ø<ñô €
ð Œ[×'Ò'Ø<ñô €
ð P€Øˆ!€Wˆq�!ˆf�q˜!�fÐ€Ø€Y€Y€Ø€Y€Y€Ø€y�{„{€ð8ð 8ð 8ð$ „×Ò˜¨.Ñ9Ô9ð
Uð 
Uñ :Ô9ð
Uð „×Ò˜¨.Ñ9Ô9ðFð Fñ :Ô9ðFð
 „×ÒÐJÑKÔKØ„×Ò˜ GÐ->Ð#?Ñ@Ô@ðBð Bñ AÔ@ñ LÔKðBðL „×ÒÐOÑPÔPà„×ÒÐLÑMÔMØ„×Ò˜Ð 2Ð4HÐIÑJÔJð+ð +ñ KÔJñ NÔMñ QÔPð+ð^ „×ÒÐOÑPÔPà„×ÒÐ3Ñ4Ô4Ø„×ÒØ	ˆ5€MØ˜*Ð%Ð(<¸kÐ'JÐKñô ð@ð @ñ	ô ñ 5Ô4ñ QÔPð@ð „×Ò˜¨.Ñ9Ô9ð2ð 2ñ :Ô9ð2ð0<ð <ð <ð,;ð ;ð ;ðð ð ð=
ð =
ð =
ð@?ð ?ð ?ð0 „Ôð8ð 8ñ Ôð8ðD „×ÒÐ0°4¸°-Ñ@Ô@ð)@ð )@ñ AÔ@ð)@ðZ „×ÒÐOÑPÔPð"ð "ñ QÔPð"ð&&"ð &"ð &"ðR „×ÒØ"à	�b�TÐØ	�x Ð-Ð.ð 
�˜+Ð&Ð'Ø	˜"˜ÐØ	�H˜kÐ*Ð+ðñô ð%
ð %
ñô ð%
ðP:Ið :Ið :Ið| „×ÒÐ0°4¸°-Ñ@Ô@ðG*ð G*ñ AÔ@ðG*ðT „×ÒÐ2°U¸D°MÑBÔBØ„×Ò˜ q¨! fÑ-Ô-ð+7ð +7ñ .Ô-ñ CÔBð+7ð\
ð 
ð 
ð4 „×Ò˜¨5°$¨-Ñ8Ô8ðBð Bñ 9Ô8ðBðJ „×Ò˜¨5°$¨-Ñ8Ô8ðBð Bñ 9Ô8ðBðJ „×Ò˜ 7Ñ+Ô+Ø„×Ò˜¨.Ñ9Ô9ðð ñ :Ô9ñ ,Ô+ðð: „×Ò˜¨°Ð$4Ð$4¸#À#È#Ð6NÐ6NÐ#OÑPÔPØ„×Ò˜¨(°JÐ)?Ñ@Ô@ð4
ð 4
ñ AÔ@ñ QÔPð4
ðp „×ÒÐOÑPÔPà„×ÒÐLÑMÔMØ„×Ò˜Ð$4Ñ5Ô5Ø„×Ò˜ 7Ñ+Ô+ð@Mð @Mñ ,Ô+ñ 6Ô5ñ NÔMñ QÔPð
@MðF „×Ò˜ 7Ñ+Ô+ðAð Añ ,Ô+ðAð<8<ð 8<ð 8<ðvð ð ð „×Ò˜¨;¨;¨-¸.Ñ*HÑIÔIð$Eð $Eñ JÔIð$EðN4ð 4ð 4ð&!ð !ð !ð „ÔØ„×Ò˜¨.Ñ9Ô9ð$5ð $5ñ :Ô9ñ Ôð$5ðN „×Ò˜ a¨ VÑ,Ô,ð+ð +ñ -Ô,ð+ð@+ð +ð +ð4 „×Ò˜ Y R¤Y¨q°!¡_¤_Ñ5Ô5Ø„×ÒØðð ð ñô ð"%ð %ñ#ô ñ 6Ô5ð$%ð( „×Ò˜ 7Ñ+Ô+Ø„×ÒÐ0°4¸°-Ñ@Ô@ð5Fð 5Fñ AÔ@ñ ,Ô+ð5Fðp „×Ò˜ 6 6¨#¨#¨g©,¬,¸¸¸k¸]Ñ9KÔ9KÑ*KÑ#LÔ#LÑMÔMØ„×Ò˜ }Ñ5Ô5Ø„×Ò˜¨-Ñ8Ô8ð#ð #ñ 9Ô8ñ 6Ô5ñ NÔMð#ð< „×Ò˜Ð$5°{Ð#CÑDÔDØ„×Ò˜¨-Ñ8Ô8Ø„×Ò˜˜q "¤&˜kÑ*Ô*ð:ð :ñ +Ô*ñ 9Ô8ñ EÔDð:ð: „×Ò˜ VÑ,Ô,Ø„×Ò˜¨.Ñ9Ô9ð)Fð )Fñ :Ô9ñ -Ô,ð)FðX „×Ò˜ 7Ñ+Ô+Ø„×Ò˜¨5°$¨-Ñ8Ô8Ø„×Ò˜¨.Ñ9Ô9ðA@ð A@ñ :Ô9ñ 9Ô8ñ ,Ô+ðA@ðH:ð :ð :ð*Dð Dð Dð8 „×ÒÐOÑPÔPØ„×Ò˜ÐAÐAÐAÑBÔBØ„×ÒÐ,¨y¸)Ð.DÑEÔEð@ð @ñ FÔEñ CÔBñ QÔPð@ð. „×Ò˜Ð2Ð2Ð2Ñ3Ô3ðDð Dñ 4Ô3ðDðB „×Ò˜˜k˜bœk¨"¨a°Ñ3Ô3Ñ4Ô4Ø„×Ò˜ _ _ _Ñ5Ô5ð%;ð %;ñ 6Ô5ñ 5Ô4ð%;ðR „×Ò˜ fÑ-Ô-ð&+ð &+ñ .Ô-ð&+ðR „×Ò˜ t¨[¨R¬[¸¸A¸qÑ-AÔ-AÐ&BÑCÔCØ„×Ò˜ fÑ-Ô-ð ;ð  ;ñ .Ô-ñ DÔCð ;ðF „×Ò˜ fÑ-Ô-ð-7ð -7ñ .Ô-ð-7ð`$ð $ð $ðP „×ÒÐOÑPÔPðQð Qñ QÔPðQð „×Ò˜˜k˜bœk¨"¨a°Ñ3Ô3Ñ4Ô4Ø„×Ò˜ _ _ _Ñ5Ô5ð%5ð %5ñ 6Ô5ñ 5Ô4ð%5ðPAð Að Að@F
ð F
ð F
ðT „×ÒÐOÑPÔPØ„×Ò˜ 6 6¨#¨#¨g©,¬,¸¸¸k¸]Ñ9KÔ9KÑ*KÑ#LÔ#LÑMÔMð1ð 1ñ NÔMñ QÔPð1ð< „×Ò˜ 6 6¨#¨#¨g©,¬,¸¸¸k¸]Ñ9KÔ9KÑ*KÑ#LÔ#LÑMÔMðð ñ NÔMðð" „ÔØ„×ÒØà ¨dÀÐEÐEØ ¨UÀÐEÐEØ ¨eÀÐFÐFðñô ð,<ð ,<ñô ñ Ôð,<ð^*Rð *Rð *RðZ „×Ò˜Ð#LÐ#LÐ#LÑMÔMØ„×Ò˜¨5°$¨-Ñ8Ô8ð%Ið %Iñ 9Ô8ñ NÔMð%IðP „×Ò˜¨c°d¸sÐ*CÐ*CÀZÐ)PÑQÔQð!ð !ñ RÔQð!ð  „×Ò˜ 7Ñ+Ô+Ø„×Ò˜¨.Ñ9Ô9ð4ð 4ñ :Ô9ñ ,Ô+ð4ð&9ð 9ð 9ð"Ið Ið Iðð ð ð2 €¨Ð-Ñ-Ô-ð!-ð !-ñ .Ô-ð!-ðH &ð  &ð  &ðF „×Ò˜ 7Ñ+Ô+ð!ð !ñ ,Ô+ð!ð2(ð (ð (ð(%;ð %;ð %;ðR „×ÒÐOÑPÔPà„×ÒÐLÑMÔMØ„×Ò˜Ð'9Ð;OÐ&PÑQÔQðBð Bñ RÔQñ NÔMñ QÔPðBð „×ÒÐOÑPÔPØ„×ÒÐUÑVÔVØ„×Ò˜Ð!3Ð5IÐ JÑKÔKðð ñ LÔKñ WÔVñ QÔPððð ð ð „×ÒÐQÑRÔRØ„×ÒÐUÑVÔVðð ñ WÔVñ SÔRðð4ð ð ð „×Ò˜ E¨4 =Ñ1Ô1Ø„×Ò˜ u¨d mÑ4Ô4Ø„×ÒÐ,¨u°d¨mÑ<Ô<Ø„×Ò˜Ð)CÐ)CÐ)CÑDÔDØ„×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×ÒÐJÑKÔKðy9ð y9ñ LÔKñ	ô ñ EÔDñ =Ô<ñ 5Ô4ñ 2Ô1ðy9ðz „×ÒÐ=Ñ>Ô>Ø„×ÒÐ,¨{¸KÐ.HÑIÔIðð ñ JÔIñ ?Ô>ðð „×ÒÐUÑVÔVðð ñ WÔVðð „×ÒÐOÑPÔPðEð Eñ QÔPðEð „×Ò˜ D¨% =Ñ1Ô1Ø„×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×ÒÐJÑKÔKðð ñ LÔKñ	ô ñ 2Ô1ðð4 „×Ò˜ \ \ \Ñ2Ô2ØðKð Kñ Ôñ 3Ô2ðKð  „×Ò˜ q¨! fÑ-Ô-Ø„×Ò˜¨4°¨-Ñ8Ô8Øð1Bð 1Bñ Ôñ 9Ô8ñ .Ô-ð1BðD ðAð Añ ÔðAð Að ArR   