§
    ¨éUg;. ã                   óÞ  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ 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# d dl$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z: ej;         <                    d¦  «        Z= eed ¬¦  «        Z eed ¬¦  «        ZdZ>dd gd dgddggZ?g d¢Z@g d¢ZA e¦   «         ZBd„ ZCej;         D                    de:¦  «        d„ ¦   «         ZEd„ ZFe6d „ ¦   «         ZGej;         D                    de:¦  «        d!„ ¦   «         ZHej;         <                    d"¦  «        ej;         D                    d# e eIeBjJ        ¦  «        d$d%¬&¦  «         e eIeBjJ        ¦  «        d'¬(¦  «         e eIeBjJ        ¦  «        d)¬(¦  «         e eIeBjJ        ¦  «        d*d+d%d,¬-¦  «         e eIeBjJ        ¦  «        d.d+d%d,¬-¦  «         e eIeBjJ        ¦  «        d/d%¬&¦  «        g¦  «        d0„ ¦   «         ¦   «         ZKej;         <                    d"¦  «        ej;         D                    d1eeg¦  «        d2„ ¦   «         ¦   «         ZLej;         D                    d1eeg¦  «        d3„ ¦   «         ZMej;         <                    d"¦  «        ej;         D                    d4g d5¢¦  «        d6„ ¦   «         ¦   «         ZNej;         <                    d"¦  «        d7„ ¦   «         ZOej;         D                    d8e9¦  «        d9„ ¦   «         ZPd:„ ZQd;„ ZRd<„ ZSd=„ ZTd>„ ZUd?„ ZVd@„ ZWej;         D                    dAdBdCgfdDdEdFgfdGdEdFgfdHdCgfdIdEdFgfg¦  «        dJ„ ¦   «         ZXdK„ ZYej;         D                    de:¦  «        dL„ ¦   «         ZZej;         <                    d"¦  «        dM„ ¦   «         Z[dN„ Z\dO„ Z]ej;         D                    dPdQdRdSœdQdRdTdUœg¦  «        ej;         D                    dVdPdWg¦  «        dX„ ¦   «         ¦   «         Z^dY„ Z_dZ„ Z`ej;         D                    dd[„ ge:z   ¦  «        d\„ ¦   «         Zad]„ Zbd^„ Zcej;         D                    de:¦  «        d_„ ¦   «         Zdej;         D                    de:¦  «        d`„ ¦   «         Zeda„ Zfdb„ Zgej;         D                    de:¦  «        dc„ ¦   «         Zhej;         D                    ddd,g¦  «        ej;         D                    dedfdgg¦  «        dh„ ¦   «         ¦   «         Zidi„ Zjej;         <                    d"¦  «        ej;         D                    dj ejk        ddk¦  «        ¦  «        ej;         D                    dld%dmg¦  «        ej;         D                    dng do¢¦  «        dp„ ¦   «         ¦   «         ¦   «         ¦   «         Zlej;         <                    d"¦  «        ej;         D                    d4e>¦  «        dq„ ¦   «         ¦   «         Zmej;         D                    d4 en eoe>¦  «         eod$d/g¦  «        z
  ¦  «        ¦  «        ej;         D                    drds¦  «        ej;         D                    dtds¦  «        du„ ¦   «         ¦   «         ¦   «         Zpej;         D                    de:¦  «        dv„ ¦   «         Zqej;         <                    d"¦  «        ej;         D                    dld%dmg¦  «        ej;         D                    d4g dw¢¦  «        ej;         D                    dtdxdyg¦  «        ej;         D                    de:¦  «        dz„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zrd{„ Zsd|„ Ztej;         D                    d}g d~¢¦  «        ej;         D                    dd€d�g¦  «        d‚„ ¦   «         ¦   «         Zuej;         D                    d}g dƒ¢¦  «        d„„ ¦   «         Zvej;         D                    d} ejw        d…d†d‡¦  «        ¦  «        ej;         D                    dˆg d‰¢¦  «        dŠ„ ¦   «         ¦   «         Zxej;         D                    d‹dŒ¦  «        d�„ ¦   «         Zyej;         <                    d"¦  «        dŽ„ ¦   «         Zzej;         <                    d"¦  «        ej;         D                    ded�¦  «        ej;         D                    dld�¦  «        d‘„ ¦   «         ¦   «         ¦   «         Z{ej;         <                    d"¦  «        d’„ ¦   «         Z|d“„ Z}ej;         D                    d} ejw        d…d†d‡¦  «        ¦  «        ej;         D                    dˆg d‰¢¦  «        d”„ ¦   «         ¦   «         Z~d•„ Zej;         <                    d"¦  «        ej;         D                    d– ed d—¬˜¦  «         ed d™d™dšd—¬›¦  «        gdœ„ ¬�¦  «        ej;         D                    d4e>¦  «        dž„ ¦   «         ¦   «         ¦   «         Z€ej;         D                    d4 en eoe>¦  «         eod$g¦  «        z
  ¦  «        ¦  «        dŸ„ ¦   «         Z�ej;         D                    d dfdxd¡d¢d£œdgdyd¤d¢d£œdgdxd¤d¢d£œg¦  «        d¥„ ¦   «         Z‚d¦„ Zƒej;         D                    dtdxdyg¦  «        d§„ ¦   «         Z„ej;         <                    d"¦  «        ej;         D                    dlg d�¢¦  «        ej;         D                    dVd¨d©d¨dUœdWg¦  «        dª„ ¦   «         ¦   «         ¦   «         Z…ej;         D                    d4e>¦  «        ej;         D                    de:¦  «        d«„ ¦   «         ¦   «         Z†d¬„ Z‡d­„ Zˆej;         ‰                    d®¦  «        d¯„ ¦   «         ZŠd°„ Z‹ej;         D                    d4e>¦  «        d±„ ¦   «         ZŒd²„ Z�d³„ ZŽdS )´é    N)Úpartial)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)Úsparse)Úconfig_context)Úclone)Ú	load_irisÚmake_classification)ÚConvergenceWarning)ÚSGDClassifier)ÚLogisticRegression)ÚLogisticRegressionCV)Ú_log_reg_scoring_pathÚ_logistic_regression_path)Ú
get_scorerÚlog_loss)ÚGridSearchCVÚStratifiedKFoldÚcross_val_scoreÚtrain_test_split)ÚOneVsRestClassifier)ÚLabelEncoderÚStandardScalerÚscale)Úl1_min_c)Úcompute_class_weightÚshuffle)Úignore_warningsÚskip_if_no_parallel)Ú	_IS_32BITÚCOO_CONTAINERSÚCSR_CONTAINERSz6error::sklearn.exceptions.ConvergenceWarning:sklearn.*©Úrandom_state)ÚlbfgsÚ	liblinearú	newton-cgúnewton-choleskyÚsagÚsagaéÿÿÿÿé   )r   r.   r.   )é   r.   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   r.   ©ÚaxisN)ÚlenÚnpÚuniqueÚshapeÚfitÚpredictr   Úclasses_Úpredict_probar   ÚsumÚonesÚargmax)ÚclfÚXÚyÚ	n_samplesÚclassesÚ	n_classesÚ	predictedÚprobabilitiess           úg/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/linear_model/tests/test_logistic.pyÚcheck_predictionsrG   <   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×/Ò/°QÐ/Ñ7Ô7½¼ÀÑ9KÔ9KÑLÔLÐLÝ�}×+Ò+°Ð+Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7ó    Úcsr_containerc                 ó0  — t          t          d¬¦  «        t          t          ¦  «         t          t          d¬¦  «         | t          ¦  «        t          ¦  «         t          t          dd¬¦  «        t          t          ¦  «         t          t          dd¬¦  «         | t          ¦  «        t          ¦  «         t          t          dd¬¦  «        t          t          ¦  «         t          t          dd¬¦  «         | t          ¦  «        t          ¦  «         d S )Nr   r%   éd   )ÚCr&   F©Úfit_interceptr&   )rG   r   r?   ÚY1©rI   s    rF   Útest_predict_2_classesrQ   N   sñ   € õ Õ(°aÐ8Ñ8Ô8½!½RÑ@Ô@Ð@ÝÕ(°aÐ8Ñ8Ô8¸-¸-ÍÑ:JÔ:JÍBÑOÔOÐOåÕ(¨3¸QÐ?Ñ?Ô?ÅÅBÑGÔGÐGÝÕ(¨3¸QÐ?Ñ?Ô?ÀÀÍqÑAQÔAQÕSUÑVÔVÐVåÕ(°uÈ1ÐMÑMÔMÍqÕRTÑUÔUÐUÝÝ¨¸QÐ?Ñ?Ô?ÀÀÍqÑAQÔAQÕSUñô ð ð ð rH   c                  óÂ  —  G d„ d¦  «        }  | ¦   «         }g d¢}d}t          |||¬¦  «        }t          d¬¦  «        \  }}|                     ||¦  «         |j        d         |d         k    sJ ‚|j        |t          |¦  «        z  k    sJ ‚d|_        |                     ||                     |¦  «        ¦  «        }||j        d         k    sJ ‚|j        dk    sJ ‚d S )	Nc                   ó   — 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š™™™™™Ù?çš™™™™™é?ç      à?)ÚcallsÚscores)Úselfs    rF   Ú__init__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__init__`   s   € ØˆDŒJØ.Ð.Ð.ˆDŒKˆKˆKrH   Nc                 ót   — | j         | j        t          | j         ¦  «        z           }| xj        dz  c_        |S )Nr.   )rZ   rY   r3   )r[   Úmodelr?   r@   Úsample_weightÚscores         rF   Ú__call__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__call__d   s3   € Ø”K ¤
­S°´Ñ-=Ô-=Ñ =Ô>ˆEØˆJŒJ˜!‰OˆJŒJØˆLrH   ©N)Ú__name__Ú
__module__Ú__qualname__r\   ra   © rH   rF   Ú
MockScorerrT   _   s7   € € € € € ð	/ð 	/ð 	/ð	ð 	ð 	ð 	ð 	ð 	rH   rg   )r.   r/   é   é   r/   )ÚCsÚscoringÚcvr   r%   r.   )	r   r   r7   ÚC_rY   r3   r`   r8   rZ   )rg   Úmock_scorerrj   rl   Úlrr?   r@   Úcustom_scores           rF   Útest_logistic_cv_mock_scorerrq   ^   s  € ðð ð ð ð ñ ô ð ð �*‘,”,€KØ	ˆˆ€BØ	
€Bå	 ¨[¸RÐ	@Ñ	@Ô	@€BÝ¨AÐ.Ñ.Ô.�D€A€qØ‡F‚Fˆ1ˆa�L„L€Lð Œ5�Œ8�r˜!”uÒÐÐÐð Ô ¥S¨¡W¤W¡Ò,Ð,Ð,Ð,ð €KÔØ—8’8˜A˜rŸzšz¨!™}œ}Ñ-Ô-€Là˜;Ô-¨aÔ0Ò0Ð0Ð0Ð0ØÔ Ò!Ð!Ð!Ð!Ð!Ð!rH   c                  ó4  — t           j        j        \  } }t           j        t           j                 }t          dd¬¦  «        }d}t          j        t          |¬¦  «        5  | 	                    t           j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr(   r/   )ÚsolverÚn_jobsz\'n_jobs' > 1 does not have any effect when 'solver' is set to 'liblinear'. Got 'n_jobs' = 2.©Úmatch)
ÚirisÚdatar6   Útarget_namesÚtargetr   ÚpytestÚwarnsÚUserWarningr7   )rA   Ú
n_featuresrz   ro   Úwarning_messages        rF   Útest_lr_liblinear_warningr€      sÌ   € å œIœOÑ€IˆzÝÔ�tœ{Ô+€Få	 ;°qÐ	9Ñ	9Ô	9€Bð	ð õ
 
Œ•k¨Ð	9Ñ	9Ô	9ð "ð "Ø
�Š�tŒy˜&Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   Á!BÂBÂBc                 ó¼   — t          t          d¬¦  «        t          t          ¦  «         t          t          d¬¦  «         | t          ¦  «        t          ¦  «         d S )Né
   ©rL   )rG   r   r?   ÚY2rP   s    rF   Útest_predict_3_classesr…   Ž   sN   € åÕ(¨2Ð.Ñ.Ô.µµ2Ñ6Ô6Ð6ÝÕ(¨2Ð.Ñ.Ô.°°½aÑ0@Ô0@Å"ÑEÔEÐEÐEÐErH   z5ignore:.*'multi_class' was deprecated.*:FutureWarningr>   r(   Úovr)rL   rs   Úmulti_classr'   )rL   rs   r)   r+   ç{®Gáz„?é*   )rL   rs   Útolr‡   r&   r,   r*   c                 ó‚  — t           j        j        \  }}t           j        t           j                 }| j        dk    rft          j        ¦   «         5  t          j        dt          ¦  «         |  
                    t           j        |¦  «         ddd¦  «         n# 1 swxY w Y   n |  
                    t           j        |¦  «         t          t          j        |¦  «        | j        ¦  «         |                      t           j        ¦  «        }t          j        ||k    ¦  «        dk    sJ ‚|                      t           j        ¦  «        }t%          |                     d¬¦  «        t          j        |¦  «        ¦  «         t           j        |                     d¬¦  «                 }t          j        ||k    ¦  «        dk    sJ ‚dS )zÅTest logistic regression with the iris dataset.

    Test that both multinomial and OvR solvers handle multiclass data correctly and
    give good accuracy score (>0.95) for the training data.
    r'   ÚignoreNçffffffî?r.   r1   )rw   rx   r6   ry   rz   rs   ÚwarningsÚcatch_warningsÚsimplefilterr   r7   r   r4   r5   r9   r8   Úmeanr:   r   r;   r<   r=   )r>   rA   r~   rz   ÚpredrE   s         rF   Útest_predict_irisr“   •   s¦  € õ8 !œIœOÑ€IˆzÝÔ�tœ{Ô+€Fà
„z�WÒÐåÔ$Ñ&Ô&ð 	'ð 	'ÝÔ! (Õ,>Ñ?Ô?Ð?Ø�GŠG•D”I˜vÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'øð 	�Š•”	˜6Ñ"Ô"Ð"Ý•r”y Ñ(Ô(¨#¬,Ñ7Ô7Ð7à�;Š;•t”yÑ!Ô!€DÝŒ7�4˜6’>Ñ"Ô" TÒ)Ð)Ð)Ð)à×%Ò%¥d¤iÑ0Ô0€MÝ�M×%Ò%¨1Ð%Ñ-Ô-­r¬w°yÑ/AÔ/AÑBÔBÐBåÔ˜]×1Ò1°qÐ1Ñ9Ô9Ô:€DÝŒ7�4˜6’>Ñ"Ô" TÒ)Ð)Ð)Ð)Ð)Ð)s   Á;BÂBÂBÚLRc                 ó  — t           j        t           j        }}dD ]^}d|› d�} | |d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ_dD ]^}d|z  } | |d	d
¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ_dD ]^}d|z  } | |dd
¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ_dD ]^}d|› d�} | |d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   Œ_| t          u r[d} | d d¬¦  «        }t          j        t
          |¬¦  «        5  |                     ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )N©r(   r*   zSolver z( does not support a multinomial backend.Úmultinomial)rs   r‡   ru   )r'   r)   r*   r+   z/Solver %s supports only 'l2' or None penalties,Úl1r†   )rs   Úpenaltyr‡   )r'   r)   r*   r+   r,   z1Solver %s supports only dual=False, got dual=TrueT)rs   Údualr‡   )r(   z;Only 'saga' solver supports elasticnet penalty, got solver=ú.Ú
elasticnet)rs   r™   z6penalty=None is not supported for the liblinear solverr(   ©r™   rs   )rw   rx   rz   r{   ÚraisesÚ
ValueErrorr7   r   )r”   r?   r@   rs   Úmsgro   s         rF   Útest_check_solver_optionr¡   È   s…  € õ Œ9•d”k€q€Að 3ð ð ˆØH˜ÐHÐHÐHˆØˆR�v¨=Ð9Ñ9Ô9ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð Cð ð ˆØ?À&ÑHˆØˆR�v t¸Ð?Ñ?Ô?ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øàJð ð ˆØAÀFÑJˆØˆR�v D°eÐ<Ñ<Ô<ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð  ð ð ˆØUÈFÐUÐUÐUˆØˆR�v |Ð4Ñ4Ô4ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øð
 
ÕÐÐØFˆØˆR˜ [Ð1Ñ1Ô1ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�FŠF�1�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð  ÐsZ   ÁA.Á.A2	Á5A2	Â,CÃC	ÃC	ÄD0Ä0D4	Ä7D4	Å.FÆF	ÆF	ÇG4Ç4G8Ç;G8c                 ó  —  | dd¬¦  «        }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 )Nrœ   r,   r�   z.*l1_ratio.*ru   r.   r/   rh   ri   r   )r{   rž   rŸ   r7   r4   Úarray)r”   r^   s     rF   Ú$test_elasticnet_l1_ratio_err_helpfulr¤   ò   sÞ   € ð ˆB�|¨FÐ3Ñ3Ô3€EÝ	Œ•z¨Ð	9Ñ	9Ô	9ð @ð @Ø�	Š	•"”(˜Q ˜F Q¨ FÐ+Ñ,Ô,­b¬h¸¸1°vÑ.>Ô.>Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   ©AA9Á9A=Â A=rs   ©r'   r)   r+   r,   c                 óì  — t           j        dk                         t          j        ¦  «        }t          j        ddg¦  «        |         }t          | ddd¬¦  «        }|                     t           j        |¦  «         |j	        j
        dt           j        j
        d         fk    sJ ‚|j        j
        d	k    sJ ‚t          |                     t           j        ¦  «        |¦  «         t          | ddd
¬¦  «        }|                     t           j        |¦  «         |j        t          j        |                     t           j        ¦  «        d¬¦  «                 }t          j        ||k    ¦  «        dk    sJ ‚d S )Nr   Úsetosaz
not-setosar—   r‰   éÐ  )rs   r‡   r&   Úmax_iterr.   ©r.   F)rs   r‡   r&   rN   r1   çÍÌÌÌÌÌì?)rw   rz   Úastyper4   Úintpr£   r   r7   rx   Úcoef_r6   Ú
intercept_r   r8   r9   r=   Úpredict_log_probar‘   )rs   rz   r>   Úmlrr’   s        rF   Útest_multinomial_binaryr²   ü   sJ  € õ Œk˜AŠo×%Ò%¥b¤gÑ.Ô.€FÝŒX�x Ð.Ñ/Ô/°Ô7€Få
Ø =¸rÈDðñ ô €Cð ‡G‚G�DŒI�vÑÔÐàŒ9Œ?˜q¥$¤)¤/°!Ô"4Ð5Ò5Ð5Ð5Ð5ØŒ>Ô 4Ò'Ð'Ð'Ð'Ý�s—{’{¥4¤9Ñ-Ô-¨vÑ6Ô6Ð6å
Ø =¸rÐQVðñ ô €Cð ‡G‚G�DŒI�vÑÔÐØŒ<�œ	 #×"7Ò"7½¼	Ñ"BÔ"BÈÐKÑKÔKÔL€DÝŒ7�4˜6’>Ñ"Ô" SÒ(Ð(Ð(Ð(Ð(Ð(rH   c                 óž  — t          | ¬¦  «        \  }}t          ddd| ¬¦  «        }|                     ||¦  «         |                     |¦  «        }|                     |¦  «        }t          j        |¦  «        t          j        |¦  «        t          j        | ¦  «        z   z  }t
          j        d|z
  |f         }t          ||¦  «         d S )Nr%   r—   r,   çü©ñÒMbP?)r‡   rs   rŠ   r&   r.   )	r   r   r7   Údecision_functionr:   r4   ÚexpÚc_r   )Úglobal_random_seedr?   r@   r>   ÚdecisionÚprobaÚexpected_proba_class_1Úexpected_probas           rF   Ú%test_multinomial_binary_probabilitiesr½     sÐ   € õ Ð,>Ð?Ñ?Ô?�D€A€qÝ
Ø!ØØØ'ð	ñ ô €Cð ‡G‚GˆAˆq�M„M€Mà×$Ò$ QÑ'Ô'€HØ×Ò˜aÑ Ô €EåœV HÑ-Ô-µ´¸Ñ1AÔ1AÅBÄFÈHÈ9ÑDUÔDUÑ1UÑVÐÝ”U˜1Ð5Ñ5Ð7MÐMÔN€Nå˜˜~Ñ.Ô.Ð.Ð.Ð.rH   Úcoo_containerc                 ó„  — t           j        j        \  }}t           j        t           j                 }t          t           j        ¦  «        }t          d¬¦  «                             ||¦  «        }|                     |¦  «        }| 	                    ¦   «          t          j        |j        ¦  «        sJ ‚|                     |¦  «        } | |¦  «        }|                     |¦  «        }	|                     ¦   «          |                     |¦  «        }
t          ||¦  «         t          ||	¦  «         t          ||
¦  «         d S ©Nr   r%   )rw   rx   r6   ry   rz   r   r   r7   rµ   Úsparsifyr   Úissparser®   Údensifyr   )r¾   rA   r~   rz   r?   r>   Úpred_d_dÚpred_s_dÚsp_dataÚpred_s_sÚpred_d_ss              rF   Útest_sparsifyrÉ   -  s  € õ !œIœOÑ€IˆzÝÔ�tœ{Ô+€FÝ�dŒiÑÔ€AÝ
¨!Ð
,Ñ
,Ô
,×
0Ò
0°°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Ð1rH   c                  ó^  — t           j                             d¦  «        } |                      d¦  «        }t          j        |j        d         ¦  «        }d|d<   t          d¬¦  «        }|d d…         }t          j        t          ¦  «        5  | 
                    t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | 
                    ||¦  «                             |                      d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )é   r‚   r%   r-   )rh   é   )r4   ÚrandomÚRandomStateÚrandom_sampler<   r6   r   r{   rž   rŸ   r7   r?   r8   )ÚrngÚX_Úy_r>   Úy_wrongs        rF   Útest_inconsistent_inputrÔ   F  s„  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ	×	Ò	˜7Ñ	#Ô	#€BÝ	Œ�”˜!”Ñ	Ô	€BØ€B€q�Eå
¨!Ð
,Ñ
,Ô
,€Cð ��"�Œg€Gå	Œ•zÑ	"Ô	"ð ð Ø�Š•�7ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÑ	"Ô	"ð <ð <Ø�Š��B‰Œ×Ò × 1Ò 1°'Ñ :Ô :Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s$   ÂB4Â4B8Â;B8Ã=D"Ä"D&Ä)D&c                  óæ   — t          d¬¦  «        } |                      t          t          ¦  «         d| j        d d …<   d| j        d d …<   t          |                      t          ¦  «        d¦  «         d S rÀ   )r   r7   r?   rO   r®   r¯   r   rµ   ©r>   s    rF   Útest_write_parametersr×   Z  sf   € å
¨!Ð
,Ñ
,Ô
,€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¸Ñ:Ô:Ð:Ð:Ð:rH   c                  ó(  — t          j        t          t           j        ¬¦  «        } t           j        | d<   t          d¬¦  «        }t          j        t          ¦  «        5  | 	                    | t          ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©Údtype©r   r.   r   r%   )r4   r£   r?   Úfloat64Únanr   r{   rž   rŸ   r7   rO   )ÚXnanÚlogistics     rF   Útest_nanrà   c  s½   € õ Œ8•A�RœZÐ(Ñ(Ô(€DÝ”€Dˆ�JÝ!¨qÐ1Ñ1Ô1€Hå	Œ•zÑ	"Ô	"ð ð Ø�Š�T�2ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁBÂBÂBc                  ó°  — t           j                             d¦  «        } 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
|dd¬¦  «        \  }}}t          |¦  «        D ]e\  }}	t          |	d	d
|dd¬¦  «        }
|
 
                    ||¦  «         |
j                             ¦   «         }t          |||         dd|z  ¬¦  «         ŒfŒ�dD ]§}dg}  |t          ¦  «        |||d|dd¬¦  «        \  }}}t          |d         ddd|¬¦  «        }
|
 
                    ||¦  «         t          j        |
j                             ¦   «         |
j        g¦  «        }t          ||d         dd|z  ¬¦  «         Œ¨d S )Nr   rK   r/   r.   r-   ri   r‚   ©r+   r,   Fçñhãˆµøä>éè  )rj   rN   rŠ   rs   r©   r&   )rL   rN   rŠ   rs   r&   r©   zwith solver = %s)ÚdecimalÚerr_msg)r'   r)   r*   r(   r+   r,   ç     @�@ç�íµ ÷Æ°>ç     ˆÃ@)rj   rŠ   rs   Úintercept_scalingr&   )rL   rŠ   rê   r&   rs   )r4   rÍ   rÎ   ÚconcatenateÚrandnÚlogspacer    r   Ú	enumerater   r7   r®   Úravelr   r¯   )rÐ   r?   r@   rj   Úfrs   ÚcoefsÚ_ÚirL   ro   Úlr_coefs               rF   Útest_consistency_pathrõ   n  sS  € å
Œ)×
Ò
 Ñ
"Ô
"€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ØØØØØØØØð	
ñ 	
ô 	
‰ˆˆ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ØØØØØØ%Øð
ñ 
ô 
‰ˆˆr�1õ  Ø�ŒeØØ%ØØð
ñ 
ô 
ˆð 	�Šˆq�!‰ŒˆÝ”. "¤(§.¢.Ñ"2Ô"2°B´MÐ!BÑCÔCˆÝ!Ø�U˜1”X qÐ2DÀvÑ2Mð	
ñ 	
ô 	
ð 	
ð 	
ð)
ð 
rH   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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   rK   r/   r.   r-   rç   ç        )rj   rŠ   r©   r&   Úverboseúlbfgs failed to convergez!Increase the number of iterationszscale the dataz%linear_model.html#logistic-regression)r4   rÍ   rÎ   rë   rì   r{   r|   r   r   r3   ÚmessageÚargs)rÐ   r?   r@   rj   ÚrecordÚwarn_msgs         rF   Ú.test_logistic_regression_path_convergence_failrþ   ¬  so  € Ý
Œ)×
Ò
 Ñ
"Ô
"€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�R˜S¨1¸1Àað	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ
 ˆv‰;Œ;˜!ÒÐÐÐØ�aŒyÔ Ô% aÔ(€HØ%¨Ð1Ð1Ð1Ð1Ø.°(Ð:Ð:Ð:Ð:Ø˜xÐ'Ð'Ð'Ð'Ø2°hÐ>Ð>Ð>Ð>Ð>Ð>s   ÂB/Â/B3Â6B3c                  óø  — t          dd¬¦  «        \  } }t          dddd¬¦  «        }|                     | |¦  «         t          dddd¬¦  «        }|                     | |¦  «         t          d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é   r   ©rA   r&   Tr´   r(   )r&   rš   rŠ   rs   é   z)Arrays are not almost equal to 6 decimalsru   )r   r   r7   r   r®   r{   rž   ÚAssertionError)r?   r@   Úlr1Úlr2Úlr3r    s         rF   Ú test_liblinear_dual_random_stater  Â  sY  € å¨¸!Ð<Ñ<Ô<�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   ÃC/Ã/C3Ã6C3c                  ó2  — d\  } }t           j                             d¦  «        }|                     | |¦  «        }t          j        |                     d|                     |¦  «        z  ¦  «        ¦  «        }||                     ¦   «         z  }||                     ¦   «         z  }t          dgddd¬¦  «        }| 	                    ||¦  «         t          ddd¬	¦  «        }| 	                    ||¦  «         t          |j        |j        ¦  «         t          |j        j        d
|f¦  «         t          |j        dd
g¦  «         t!          |j        ¦  «        dk    sJ ‚t          j        t%          |j                             ¦   «         ¦  «        ¦  «        }t          |j        d
dd
|f¦  «         t          |j        j        d¦  «         t          j        t%          |j                             ¦   «         ¦  «        ¦  «        }t          |j        d¦  «         d S )N)é2   rË   r   rË   ç      ð?Fr(   rh   )rj   rN   rs   rl   )rL   rN   rs   r.   r-   r/   rª   )r.   rh   r.   )r4   rÍ   rÎ   rì   ÚsignÚdotr‘   Ústdr   r7   r   r   r®   r   r6   r9   r3   ÚasarrayÚlistÚcoefs_paths_ÚvaluesÚCs_Úscores_)	rA   r~   rÐ   ÚX_refr@   Úlr_cvro   Úcoefs_pathsrZ   s	            rF   Útest_logistic_cvr  ã  sÒ  € à!Ñ€IˆzÝ
Œ)×
Ò
 Ñ
"Ô
"€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 ¨k¸aðñ ô €Eð 
‡I‚Iˆe�QÑÔÐÝ	˜c°¸{Ð	KÑ	KÔ	K€BØ‡F‚Fˆ5�!ÑÔÐÝ˜bœh¨¬Ñ4Ô4Ð4å�u”{Ô(¨1¨j¨/Ñ:Ô:Ð:Ý�u”~¨¨A wÑ/Ô/Ð/ÝˆuŒ~ÑÔ !Ò#Ð#Ð#Ð#å”*�T %Ô"4×";Ò";Ñ"=Ô"=Ñ>Ô>Ñ?Ô?€KÝ�{Ô(¨1¨a°°JÐ*?Ñ@Ô@Ð@Ý�u”y”¨Ñ-Ô-Ð-ÝŒZ�˜Uœ]×1Ò1Ñ3Ô3Ñ4Ô4Ñ5Ô5€FÝ�v”| YÑ/Ô/Ð/Ð/Ð/rH   zscoring, multiclass_agg_listÚaccuracyÚ Ú	precisionÚ_macroÚ	_weightedÚf1Úneg_log_lossÚrecallc                 óê  — t          dddd¬¦  «        \  }}t          j        d¦  «        t          j        dd¦  «        }}t          d¬¦  «        }|                     ¦   «         }d	D ]}||= Œ|                     ||         ||         ¦  «         |D ]b}	t          | |	z   ¦  «        }
t          t          ||||fdg|
d d d d d
œ|ddiz  ¤Žd         d          |
|||         ||         ¦  «        ¦  «         Œcd S )NrK   r   rh   é   )rA   r&   rC   Ún_informativeéP   r
  rƒ   )rL   rt   Ú
warm_start)rj   rk   Ú	pos_classÚmax_squared_sumr_   Úscore_paramsr‡   r—   r/   )	r   r4   Úaranger   Ú
get_paramsr7   r   r   r   )rk   Úmulticlass_agg_listr?   r@   ÚtrainÚtestro   ÚparamsÚkeyÚ	averagingÚscorers              rF   Ú"test_logistic_cv_multinomial_scorer1  þ  sS  € õ& Ø A°À!ðñ ô �D€A€qõ ”)˜B‘-”-¥¤¨2¨sÑ!3Ô!3ˆ4€EÝ	˜cÐ	"Ñ	"Ô	"€Bà�]Š]‰_Œ_€Fà,ð ð ˆØ�3ˆKˆKØ‡F‚Fˆ1ˆUŒ8�Q�u”XÑÔÐØ(ð 
ð 
ˆ	Ý˜G iÑ/Ñ0Ô0ˆÝ!Ý!ØØØØð	ð
 �5ØØØ $Ø"Ø!ðð ð ˜]¨MÐ:Ñ:ðð ð ôð ôð ˆF�2�q˜”w  $¤Ñ(Ô(ñ	
ô 	
ð 	
ð 	
ð
ð 
rH   c                  óÊ  — d\  } }}t          | ||dd¬¦  «        \  }}t          ¦   «                              g d¢¦  «                             |¦  «        }t	          j        |¦  «        dz
  }t          ¦   «         }t          d¬¦  «        }t          ¦   «         }t          d¬¦  «        }	|                     ||¦  «         |                     ||¦  «         |                     ||¦  «         |	                     ||¦  «         t          |j	        |j	        ¦  «         t          |j        ¦  «        g d¢k    sJ ‚t          |j	        |	j	        ¦  «         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        |	                     |¦  «        ¦  «        ¦  «        g d¢k    sJ ‚t          ddddœ¬	¦  «                             ||¦  «        }	t          t	          j        |	                     |¦  «        ¦  «        ¦  «        d
dgk    sJ ‚d S )N)r	  rË   rh   rh   r   )rA   r~   rC   r"  r&   )ÚbarÚbazÚfoor.   )rj   r/   )Úclass_weightr3  r4  )r   r   r7   Úinverse_transformr4   r£   r   r   r   r®   Úsortedr9   r5   r8   )
rA   r~   rC   r  r@   Úy_strro   r  Úlr_strÚ	lr_cv_strs
             rF   Ú2test_multinomial_logistic_regression_string_inputsr<  0  sg  € à'/Ñ$€Iˆz˜9Ý"ØØØØØðñ ô �H€Eˆ1õ ‰NŒN×ÒÐ4Ð4Ð4Ñ5Ô5×GÒGÈÑJÔJ€Eå
Œ�‰Œ�a‰€Aå	Ñ	Ô	€BÝ  AÐ&Ñ&Ô&€EÝÑ!Ô!€FÝ$¨Ð*Ñ*Ô*€Ià‡F‚Fˆ5�!ÑÔÐØ	‡I‚Iˆe�QÑÔÐØ
‡J‚Jˆu�eÑÔÐØ‡M‚M�%˜ÑÔÐå˜bœh¨¬Ñ5Ô5Ð5Ý�&”/Ñ"Ô"Ð&;Ð&;Ð&;Ò;Ð;Ð;Ð;Ý˜eœk¨9¬?Ñ;Ô;Ð;Ý�&”/Ñ"Ô"Ð&;Ð&;Ð&;Ò;Ð;Ð;Ð;Ý�)Ô$Ñ%Ô%Ð)>Ð)>Ð)>Ò>Ð>Ð>Ð>õ •"”)˜FŸNšN¨5Ñ1Ô1Ñ2Ô2Ñ3Ô3Ð7LÐ7LÐ7LÒLÐLÐLÐLÝ•"”)˜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ÐHrH   c                 ót  — t          ddd¬¦  «        \  }}d||dk     <    | |¦  «        }t          ¦   «         }|                     ||¦  «         t          ¦   «         }|                     ||¦  «         t          |j        |j        ¦  «         t          |j        |j        ¦  «         |j        |j        k    sJ ‚d S )Nr	  rË   r   ©rA   r~   r&   r÷   r
  )r   r   r7   r   r®   r¯   rm   )rI   r?   r@   Úcsrr>   Úclfss         rF   Útest_logistic_cv_sparserA  Y  s´   € å¨¸ÈÐJÑJÔJ�D€A€qØ€A€aˆ#‚g�JØ
ˆ-˜Ñ
Ô
€Cå
Ñ
 Ô
 €CØ‡G‚GˆAˆq�M„M€MÝÑ!Ô!€DØ‡H‚HˆS�!ÑÔÐÝ˜dœj¨#¬)Ñ4Ô4Ð4Ý˜dœo¨s¬~Ñ>Ô>Ð>ØŒ7�c”fÒÐÐÐÐÐrH   c                  óä  — t           j        t           j        }} | j        \  }}d}t	          |¦  «        }t          |                     | |¦  «        ¦  «        }t          |d¬¦  «        }|                     | |¦  «         t          |d¬¦  «        }| 	                    ¦   «         }	d|	|	dk    <   |                     | |	¦  «         t          |j        d         |j        d         ¦  «         t          |j        dd …         |j        ¦  «         t          |j        d         t          j        d d …f         |j        ¦  «         |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 ‚d
D �]]}|dv rdnd}t          ||d|dv rdndd¬¦  «        }|dk    rt-          | ¦  «        } |                     | |¦  «         |                     | |¦  «        }|                     | |¦  «        }||k    sJ ‚|j        j        |j        j        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 ‚�Œ_d S )Nr/   r†   )rl   r‡   r.   r   rh   ©r   r.   r/   r‚   )r‚   r¥   râ   éô  é   r‰   r´   rˆ   )rs   r©   r&   rŠ   rl   r'   )rw   rx   rz   r6   r   r  Úsplitr   r7   Úcopyr   r  r¯   r®   r4   Únewaxisr   r9   r  r  r  r  r   r`   )r+  rz   rA   r~   Ún_cvrl   Úprecomputed_foldsr>   Úclf1Útarget_copyr  rZ   rs   r©   Ú	clf_multiÚmulti_scoreÚ	ovr_scores                    rF   Útest_ovr_multinomial_irisrP  j  s|  € õ ”I�tœ{ˆ6€EØ!œKÑ€Iˆzð
 €DÝ	˜Ñ	Ô	€BÝ˜RŸXšX e¨VÑ4Ô4Ñ5Ô5Ðõ Ð"3ÀÐ
GÑ
GÔ
G€CØ‡G‚GˆE�6ÑÔÐõ  Ð#4À%ÐHÑHÔH€DØ—+’+‘-”-€KØ$%€K�˜qÒ Ñ!Ø‡H‚HˆU�KÑ Ô Ð õ �C”K ”N D¤L°¤OÑ4Ô4Ð4Ý�C”N 1 2 2Ô&¨¬Ñ8Ô8Ð8Ý�C”I˜a”L¥¤¨Q¨Q¨Q Ô/°´Ñ<Ô<Ð<ð Œ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˜=Ò(Ð(Ð(Ð(ð 8ð -ñ -ˆØ  OÐ3Ð3�3�3¸ˆÝ(ØØØØ /Ð1Ð1��°tØð
ñ 
ô 
ˆ	ð �WÒÐå˜%‘L”LˆEà�Š�e˜VÑ$Ô$Ð$Ø—o’o e¨VÑ4Ô4ˆØ—I’I˜e VÑ,Ô,ˆ	Ø˜YÒ&Ð&Ð&Ð&ð ŒyŒ )¤/Ô"7Ò7Ð7Ð7Ð7Ý˜9Ô-¨y¨y¨yÑ9Ô9Ð9Ý”j¥ iÔ&<×&CÒ&CÑ&EÔ&EÑ!FÔ!FÑGÔGˆØÔ  Q¨¨b°*¸q±.Ð$AÒAÐAÐAÐAØŒ}Ô" eÒ+Ð+Ð+Ð+Ý”�D Ô!2×!9Ò!9Ñ!;Ô!;Ñ<Ô<Ñ=Ô=ˆØŒ|  4¨˜}Ò,Ð,Ð,Ð,Ñ,ð3-ð -rH   c                  ó
  ‡‡‡— t          ddd¬¦  «        \  ŠŠt          dd¬¦  «        Šˆˆˆfd„t          D ¦   «         } t          j        | d	¬
¦  «        D ]-\  }}t          | |         j        | |         j        d¬¦  «         Œ.dS )z)Test solvers converge to the same result.r‚   rË   r   )r~   r"  r&   Fr‰   rM   c                 óV   •— i | ]%}|t          dd |i‰¤Ž                     ‰‰¦  «        “Œ&S )rs   rf   )r   r7   )Ú.0rs   r?   r-  r@   s     €€€rF   ú
<dictcomp>z4test_logistic_regression_solvers.<locals>.<dictcomp>³  sO   ø€ ð ð ð àð 	Õ"Ð;Ð;¨&Ð;°FÐ;Ð;×?Ò?ÀÀ1ÑEÔEðð ð rH   r/   ©Úrrh   ©rå   N)r   ÚdictÚSOLVERSÚ	itertoolsÚcombinationsr   r®   )Ú
regressorsÚsolver_1Úsolver_2r?   r-  r@   s      @@@rF   Ú test_logistic_regression_solversr_  ­  sÄ   øøø€ å¨"¸AÈAÐNÑNÔN�D€A€qå °BÐ7Ñ7Ô7€Fðð ð ð ð ð åðñ ô €Jõ
 (Ô4°ZÀ1ÐEÑEÔEð 
ð 
Ñˆ�(Ý!Ø�xÔ Ô&¨
°8Ô(<Ô(BÈAð	
ñ 	
ô 	
ð 	
ð 	
ð
ð 
rH   c            	      ó|  ‡‡‡‡— t          ddddd¬¦  «        \  ŠŠd} t          d| d¬	¦  «        Šd
d
dœŠˆˆˆˆfd„t          t          ¦  «        t          ddg¦  «        z
  D ¦   «         }t	          j        |d¬¦  «        D ];\  }}t          ||         j        ||         j        |dk    rdnd|› d|› �¬¦  «         Œ<dS )zATest solvers converge to the same result for multiclass problems.r   r‚   rh   r   ©rA   r~   r"  rC   r&   ç:Œ0âŽyE>Fr‰   )rN   rŠ   r&   é'  râ   c                 ó€   •— i | ]:}|t          d|‰                     |d ¦  «        dœ‰¤Ž                     ‰‰¦  «        “Œ;S )rK   ©rs   r©   rf   )r   Úgetr7   )rS  rs   r?   r-  Úsolver_max_iterr@   s     €€€€rF   rT  z?test_logistic_regression_solvers_multiclass.<locals>.<dictcomp>Ê  sl   ø€ ð ð ð ð ð 	Õ"ð 
Ø O×$7Ò$7¸ÀÑ$DÔ$Dð
ð 
ØHNð
ð 
ç
Š#ˆa�‰)Œ)ðð ð rH   r(   r*   r/   rU  r,   g{®Gázt?r´   z vs ©Úrtolræ   N)r   rX  ÚsetrY  rZ  r[  r   r®   )rŠ   r\  r]  r^  r?   r-  rg  r@   s       @@@@rF   Ú+test_logistic_regression_solvers_multiclassrk  ¾  s*  øøøø€ åØ °2ÀÐQRðñ ô �D€A€qð €CÝ ¨3¸RÐ@Ñ@Ô@€Fð %¨fÐ5Ð5€Oðð ð ð ð ð ð õ �'‘l”l¥S¨+Ð7HÐ)IÑ%JÔ%JÑJð	ñ ô €Jõ (Ô4°ZÀ1ÐEÑEÔEð 
ð 
Ñˆ�(ÝØ�xÔ Ô&Ø�xÔ Ô&Ø! VÒ+Ð+��°ØÐ/Ð/ XÐ/Ð/ð		
ñ 	
ô 	
ð 	
ð 	
ð
ð 
rH   ÚweightrV   gš™™™™™É?rÛ   rX   rC  r6  Úbalancedc           	      óF  — t          | ¦  «        }|dk    r| }t          ddddd||¬¦  «        \  }}t          dd|d¬	¦  «        }t          dd
di|¤Ž}t	          t
          ¬¦  «        5  |                     ||¦  «         ddd¦  «         n# 1 swxY w Y   t          t          ¦  «        t          g d¢¦  «        z
  D ]e}t          dd
|i|¤Ž}	|dv r|	 	                    dd|dz   ¬¦  «         |	                     ||¦  «         t          |	j        |j        d|› d�¬¦  «         ŒfdS )z+Test class_weight for LogisticRegressionCV.rl  rE  rh   r   )rA   r~   Ú
n_repeatedr"  Ún_redundantrC   r&   r.   Frb  )rj   rN   r6  rŠ   rs   r'   ©ÚcategoryN)r'   r(   r*   râ   g¬CÒÑ]r2<rc  )rŠ   r©   r&   r´   z	 vs lbfgsrh  rf   )r3   r   rX  r   r    r   r7   rj  rY  Ú
set_paramsr   r®   )
rl  r6  r¸   rC   r?   r@   r-  Ú	clf_lbfgsrs   r>   s
             rF   Ú(test_logistic_regressioncv_class_weightsru  Ú  sÊ  € õ �F‘”€IØ�xÒÐØˆåØØØØØØØ'ðñ ô �D€A€qõ ØØØ!Øð	ñ ô €Fõ %Ð>Ð>¨GÐ>°vÐ>Ð>€Iõ 
Õ"4Ð	5Ñ	5Ô	5ð ð Ø�Š�a˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ •g‘,”,¥Ð%NÐ%NÐ%NÑ!OÔ!OÑOð 

ð 

ˆÝ"Ð;Ð;¨&Ð;°FÐ;Ð;ˆØ�_Ð$Ð$Ø�NŠNØ EÐ8JÈQÑ8Nð ñ ô ð ð 	�Š��1‰ŒˆåØŒI�y”¨T¸fÐ;OÐ;OÐ;Oð	
ñ 	
ô 	
ð 	
ð 	
ð

ð 

s   Á'B
Â
BÂBc            
      óÄ  — t          ddddd¬¦  «        \  } }|dz   }t          t          fD �]É}dd	d
œ}|t          u r|                     dddœ¦  «         dD ]}} |d#d|i|¤Ž} |d#d|i|¤Ž}|                     | |¦  «         |                     | |t          j        |j        d         ¦  «        ¬¦  «         t          |j	        |j	        d¬¦  «         Œ~ |d#i |¤ddi¤Ž}|                     | ||¬¦  «         t          t          ¦  «        t          dg¦  «        z
  D ]o} |d#||dk    rdnddœ|¤Ž}	t          ¦   «         5  |	                     | ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j	        |	j	        d¬¦  «         ŒpdD ]d} |d#|dddœdœ|¤Ž}
|
                     | |¦  «          |d#d|i|¤Ž}|                     | ||¬¦  «         t          |
j	        |j	        d¬¦  «         Œe�ŒË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¬!¦  «        }|                     | |¦  «         t          dd	dd d¬"¦  «        }	|	                     | ||¦  «         t          |j	        |	j	        d¬¦  «         d S )$Nr   rË   rh   r/   r   ra  r.   r‰   F)r&   rN   )rj   rl   )r'   r(   rs   ©r_   ç-Cëâ6?©ri  rŠ   rã   r'   r+   ç»½×Ùß|Û=©rs   rŠ   rÛ   )rs   r6  r(   r˜   )rs   rN   r6  r™   rŠ   r&   )rs   rN   r™   rŠ   r&   ri   rW  Úl2T)rs   rN   r6  r™   rš   r&   )rs   rN   r™   rš   r&   rf   )r   r   r   Úupdater7   r4   r<   r6   r   r®   rj  rY  r    r   )r?   r@   r_   r”   Úkwrs   Úclf_sw_noneÚclf_sw_onesÚclf_sw_lbfgsÚclf_swÚ	clf_cw_12Ú	clf_sw_12Úclf_cws                rF   Ú'test_logistic_regression_sample_weightsr†  
  s  € ÝØ °!¸qÈqðñ ô �D€A€qð ˜‘E€Må!Õ#7Ð8ð !Iñ !IˆØ °5Ð9Ð9ˆØÕ%Ð%Ð%Ø�IŠI˜Q aÐ(Ð(Ñ)Ô)Ð)ð -ð 	Mð 	MˆFØ˜"Ð1Ð1 FÐ1¨bÐ1Ð1ˆKØ˜"Ð1Ð1 FÐ1¨bÐ1Ð1ˆKØ�OŠO˜A˜qÑ!Ô!Ð!Ø�OŠO˜A˜qµ´¸¼À¼
Ñ0CÔ0CˆOÑDÔDÐDÝ˜KÔ-¨{Ô/@ÀtÐLÑLÔLÐLÐLð �rÐ)Ð)˜BÐ)Ð) DÐ)Ð)Ð)ˆØ×Ò˜˜A¨]ÐÑ;Ô;Ð;Ý�'‘l”l¥S¨'¨¡^¤^Ñ3ð 	Ið 	IˆFØ�RÐT˜v°F¸e²O°O¨5¨5ÈÐTÐTÐQSÐTÐTˆFå Ñ"Ô"ð >ð >Ø—
’
˜1˜a¨}�
Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >å˜LÔ.°´À4ÐHÑHÔHÐHÐHð
 -ð 	Ið 	IˆFØ˜ÐJ &¸1À°|°|ÐJÐJÀrÐJÐJˆIØ�MŠM˜!˜QÑÔÐØ˜Ð/Ð/ &Ð/¨BÐ/Ð/ˆIØ�MŠM˜!˜Q¨mˆMÑ<Ô<Ð<Ý˜IœO¨Y¬_À4ÐHÑHÔHÐHÐHñ	Iõ  ØØØ˜q�\�\ØØØðñ ô €Fð ‡J‚Jˆq�!ÑÔÐÝØØØØØðñ ô €Fð ‡J‚Jˆq�!�]Ñ#Ô#Ð#Ý˜fœl¨F¬LÀ!ÐDÑDÔDÐDåØØØ˜q�\�\ØØØðñ ô €Fð ‡J‚Jˆq�!ÑÔÐÝØØØØØðñ ô €Fð ‡J‚Jˆq�!�]Ñ#Ô#Ð#Ý˜fœl¨F¬LÀ!ÐDÑDÔDÐDÐDÐDs   Å E%Å%E)Å,E)c                 óŒ   — t          j        | ¦  «        }t          d|| ¬¦  «        }t          t	          ||¦  «        ¦  «        }|S )Nrm  )rB   r@   )r4   r5   r   rX  Úzip)r@   rB   r6  Úclass_weight_dicts       rF   Ú _compute_class_weight_dictionaryrŠ  \  sA   € åŒi˜‰lŒl€GÝ'¨
¸GÀqÐIÑIÔI€LÝ�S ¨,Ñ7Ô7Ñ8Ô8ÐØÐrH   c                 ó   — | S rb   rf   ©Úxs    rF   ú<lambda>rŽ  d  s   € °Q€ rH   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 ]w}t          |d¬¦  «        }t          dddi|¤Ž}t          dd|i|¤Ž}| 	                    ||¦  «         | 	                    ||¦  «         t#          |j        |j        d¬¦  «         Œxd S )Né-   r(   r*   rä   re  r6  rm  rh   rx  ry  r   rw  rK   r!  rW  rf   )r   rw   rx   rz   rŠ  rj  rY  rX  r   r7   r3   r9   r   r®   r4   r<   r6   r   )rI   ÚX_irisr?   r@   r‰  rs   r-  rK  Úclf2ÚswÚcÚclf3s               rF   Ú&test_logistic_regression_class_weightsr–  d  sv  € õ •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Ð3Ñ3Ô3ˆÝ!Ð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Ð3Ñ3Ô3ˆÝ!ÐDÐD¨zÐD¸VÐDÐDˆÝ!ÐKÐKÐ/@ÐKÀFÐKÐKˆØ�Š��A‰ŒˆØ�Š��A‰ŒˆÝ! $¤*¨d¬jÀ!ÐDÑDÔDÐDÐDðEð ErH   c                  óî  — d\  } }}t          | |d|d¬¦  «        \  }}t          d¬¦  «                             |¦  «        }d}t          |d¬	¦  «        }t          |dd¬
¦  «        }|                     ||¦  «         |                     ||¦  «         |j        j        ||fk    sJ ‚|j        j        ||fk    sJ ‚dD ]Ñ}t          |ddd¬¦  «        }t          |dddd¬¦  «        }	|                     ||¦  «         |	                     ||¦  «         |j        j        ||fk    sJ ‚|	j        j        ||fk    sJ ‚t          |j        |j        d¬¦  «         t          |j        |	j        d¬¦  «         t          |j        |j        d¬¦  «         ŒÒdD ]d}t          |dddg¬¦  «        }
|
                     ||¦  «         t          |
j        |j        d¬¦  «         t          |
j        |j        d¬¦  «         Œed S )N)r	  r   rh   r‚   r   ra  F)Ú	with_meanr'   rè   r{  )rs   rN   rŠ   )r+   r,   r)   r‰   r¨   gH¯¼šò×z>)rs   r&   r©   rŠ   )rs   r&   r©   rŠ   rN   r´   ry  rˆ   r¥   r
  )rs   r©   rŠ   rj   )
r   r   Úfit_transformr   r7   r®   r6   r   r¯   r   )rA   r~   rC   r?   r@   rs   Úref_iÚref_wÚclf_iÚclf_wÚclf_paths              rF   Ú$test_logistic_regression_multinomialrŸ  ‹  si  € ð (1Ñ$€Iˆz˜9ÝØØØØØðñ ô �D€A€qõ 	 Ð'Ñ'Ô'×5Ò5°aÑ8Ô8€Að €FÝ f°$Ð7Ñ7Ô7€EÝ f¸EÀtÐLÑLÔL€EØ	‡I‚Iˆa��O„O€OØ	‡I‚Iˆa��O„O€OØŒ;Ô ¨JÐ 7Ò7Ð7Ð7Ð7ØŒ;Ô ¨JÐ 7Ò7Ð7Ð7Ð7Ø.ð Gð GˆÝ"ØØØØð	
ñ 
ô 
ˆõ #ØØØØØð
ñ 
ô 
ˆð 	�	Š	�!�Q‰ŒˆØ�	Š	�!�Q‰ŒˆØŒ{Ô  Y°
Ð$;Ò;Ð;Ð;Ð;ØŒ{Ô  Y°
Ð$;Ò;Ð;Ð;Ð;õ 	˜œ U¤[°tÐ<Ñ<Ô<Ð<Ý˜œ U¤[°tÐ<Ñ<Ô<Ð<Ý˜Ô(¨%Ô*:ÀÐFÑFÔFÐFÐFð
 8ð Jð JˆÝ'Ø D¨d¸°uð
ñ 
ô 
ˆð 	�Š�Q˜ÑÔÐÝ˜œ¨¬¸$Ð?Ñ?Ô?Ð?Ý˜Ô+¨UÔ-=ÀDÐIÑIÔIÐIÐIðJð JrH   c                  ó  — t          ddd¬¦  «        \  } }t          dd¬¦  «        }|                     | |¦  «         t          j        d¦  «        } t          |                     | ¦  «        t          j        d¦  «        ¦  «         d S )NrË   r   r>  Fr(   )rN   rs   )rË   rË   )r   r   r7   r4   Úzerosr   r8   )r?   r@   r>   s      rF   Ú%test_liblinear_decision_function_zeror¢  Æ  sx   € õ ¨°qÀqÐIÑIÔI�D€A€qÝ
¨5¸Ð
EÑ
EÔ
E€CØ‡G‚GˆAˆq�M„M€Mõ 	Œ�ÑÔ€AÝ�s—{’{ 1‘~”~¥r¤x°¡{¤{Ñ3Ô3Ð3Ð3Ð3rH   c                 óŽ   — t          ddd¬¦  «        \  }}t          d¬¦  «        }|                      | |¦  «        |¦  «         d S )Nr‚   rË   r   r>  r(   ©rs   ©r   r   r7   ©rI   r?   r@   r>   s       rF   Útest_liblinear_logregcv_sparser§  Õ  sP   € õ ¨¸ÈÐJÑJÔJ�D€A€qÝ
 kÐ
2Ñ
2Ô
2€CØ‡G‚GˆMˆM˜!ÑÔ˜aÑ Ô Ð Ð Ð rH   c                 ó�   — t          ddd¬¦  «        \  }}t          dd¬¦  «        }|                      | |¦  «        |¦  «         d S )Nr‚   rË   r   r>  r,   rˆ   r{  r¥  r¦  s       rF   Útest_saga_sparser©  Þ  sR   € õ ¨¸ÈÐJÑJÔJ�D€A€qÝ
 f°$Ð
7Ñ
7Ô
7€CØ‡G‚GˆMˆM˜!ÑÔ˜aÑ Ô Ð Ð Ð rH   c                  ó€   — t          d¬¦  «        } |                      t          t          ¦  «         | j        dk    sJ ‚d S )NF)rN   r÷   )r   r7   r?   rO   r¯   rÖ   s    rF   Ú"test_logreg_intercept_scaling_zeror«  ç  s>   € õ ¨5Ð
1Ñ
1Ô
1€CØ‡G‚G�A�r�N„N€NØŒ>˜SÒ Ð Ð Ð Ð Ð rH   c                  ó¤  — t           j                             d¦  «        } d}t          |dd¬¦  «        \  }}|                      |df¬¦  «        }t          j        |df¬	¦  «        }t          j        |||fd
¬¦  «        }t          ddddd¬¦  «        }|                     ||¦  «         t          dddddd¬¦  «        }|                     ||¦  «         t          |j
        |j
        ¦  «         t          |j
        ddd …f         t          j        d¦  «        ¦  «         t          |j
        ddd …f         t          j        d¦  «        ¦  «         d S )Nr‰   r	  r   r   r>  rh   ©Úsizer/   ©r6   r.   r1   r˜   r
  r(   Frz  ©r™   rL   rs   rN   rŠ   r,   rä   ©r™   rL   rs   rN   r©   rŠ   éûÿÿÿrË   )r4   rÍ   rÎ   r   Únormalr<   rë   r   r7   r   r®   r¡  )rÐ   rA   r?   r@   ÚX_noiseÚ
X_constantÚlr_liblinearÚlr_sagas           rF   Útest_logreg_l1r¸  ï  sb  € õ Œ)×
Ò
 Ñ
#Ô
#€CØ€IÝ¨¸rÐPQÐRÑRÔR�D€A€qØ�jŠj˜y¨!˜nˆjÑ-Ô-€GÝ” 	¨1˜~Ð.Ñ.Ô.€JÝ
Œ˜˜7 JÐ/°aÐ8Ñ8Ô8€AÝ%ØØ
ØØØðñ ô €Lð ×Ò�Q˜ÑÔÐå ØØ
ØØØØðñ ô €Gð ‡K‚K��1ÑÔÐÝ˜gœm¨\Ô-?Ñ@Ô@Ð@õ ˜lÔ0°°B°C°C°Ô8½"¼(À1¹+¼+ÑFÔFÐFÝ˜gœm¨A¨r¨s¨s¨FÔ3µR´X¸a±[´[ÑAÔAÐAÐAÐArH   c                 ó|  — t           j                             d¦  «        }d}t          |dd¬¦  «        \  }}|                     d|df¬¦  «        }t          j        |d	f¬
¦  «        }t          j        |||fd¬¦  «        }d||dk     <    | |¦  «        }t          ddddd¬¦  «        }|                     ||¦  «         t          dddddd¬¦  «        }|                     ||¦  «         t          |j
        |j
        ¦  «         t          |j
        ddd …f         t          j        d¦  «        ¦  «         t          |j
        ddd …f         t          j        d¦  «        ¦  «         t          dddddd¬¦  «        }	|	                     |                     ¦   «         |¦  «         t          |j
        |	j
        ¦  «         d S )Nr‰   r	  r   r   r>  rV   rh   )r   r®  r/   r¯  r.   r1   r˜   r
  r(   Frz  r°  r,   rä   r±  r²  rË   )r4   rÍ   rÎ   r   r³  r¡  rë   r   r7   r   r®   Útoarray)
rI   rÐ   rA   r?   r@   r´  rµ  r¶  r·  Úlr_saga_denses
             rF   Útest_logreg_l1_sparse_datar¼    sÝ  € õ
 Œ)×
Ò
 Ñ
#Ô
#€CØ€IÝ¨¸rÐPQÐRÑRÔR�D€A€qØ�jŠj˜s¨)°Q¨ˆjÑ8Ô8€GÝ” ¨A Ð/Ñ/Ô/€JÝ
Œ˜˜7 JÐ/°aÐ8Ñ8Ô8€AØ€A€aˆ!‚e�HØˆ�aÑÔ€Aå%ØØ
ØØØðñ ô €Lð ×Ò�Q˜ÑÔÐå ØØ
ØØØØðñ ô €Gð ‡K‚K��1ÑÔÐÝ˜gœm¨\Ô-?Ñ@Ô@Ð@õ ˜lÔ0°°B°C°C°Ô8½"¼(À1¹+¼+ÑFÔFÐFÝ˜gœm¨A¨r¨s¨s¨FÔ3µR´X¸a±[´[ÑAÔAÐAõ 'ØØ
ØØØØðñ ô €Mð ×Ò�a—i’i‘k”k 1Ñ%Ô%Ð%Ý˜gœm¨]Ô-@ÑAÔAÐAÐAÐArH   Úrandom_seedr™   r˜   r|  c                 ó   — t          dd| ¬¦  «        \  }}t          d|| dd¬¦  «        }t          ddgd	d
œ|¤Ž}|                     ||¦  «         t	          dddi|¤Ž}|                     ||¦  «         t          |j        |j        ¦  «         d S )NrK   r   r>  r,   rä   çê-�™—q=)rs   r™   r&   r©   rŠ   r
  T)rj   ÚrefitrL   rf   )r   rX  r   r7   r   r   r®   )r½  r™   r?   r@   Úcommon_paramsr  ro   s          rF   Ú!test_logistic_regression_cv_refitrÂ  F  s±   € õ ¨¸È+ÐVÑVÔV�D€A€qÝØØØ ØØðñ ô €Mõ !ÐG S E°ÐGÐG¸ÐGÐG€EØ	‡I‚Iˆa��O„O€OÝ	Ð	3Ð	3˜cÐ	3 ]Ð	3Ð	3€BØ‡F‚Fˆ1ˆa�L„L€LÝ˜eœk¨2¬8Ñ4Ô4Ð4Ð4Ð4rH   c                  ó  — t          ddddd¬¦  «        \  } }t          d¬¦  «        }|                     | |¦  «         t          ||                     | ¦  «        ¦  «        }t          t          d¬¦  «        ¦  «        }|                     | |¦  «         t          ||                     | ¦  «        ¦  «        }||k    sJ ‚t          ||                     | ¦  «        ¦  «        }t          ||                     | ¦  «        ¦  «        }||k    sJ ‚d S )Nr‚   r   r   rh   )rA   r~   r&   rC   r"  r'   r¤  )r   r   r7   r   r:   r   Ú_predict_proba_lr)r?   r@   rM  Úclf_multi_lossÚclf_ovrÚclf_ovr_lossÚclf_wrong_losss          rF   Ú%test_logreg_predict_proba_multinomialrÉ  `  s  € ÝØ °!¸qÐPRðñ ô �D€A€qõ #¨'Ð2Ñ2Ô2€IØ‡M‚M�!�QÑÔÐÝ˜a ×!8Ò!8¸Ñ!;Ô!;Ñ<Ô<€NÝ!Õ"4¸GÐ"DÑ"DÔ"DÑEÔE€GØ‡K‚K��1ÑÔÐÝ˜A˜w×4Ò4°QÑ7Ô7Ñ8Ô8€LØ˜.Ò(Ð(Ð(Ð(õ ˜a ×!8Ò!8¸Ñ!;Ô!;Ñ<Ô<€NÝ˜a ×!<Ò!<¸QÑ!?Ô!?Ñ@Ô@€NØ˜NÒ*Ð*Ð*Ð*Ð*Ð*rH   r©   rË   r‡   r—   zsolver, message))r)   zAnewton-cg failed to converge.* Increase the number of iterations.)r(   z@Liblinear failed to converge, increase the number of iterations.)r+   ú?The max_iter was reached which means the coef_ did not converge)r,   rÊ  )r'   rù   )r*   z6Newton solver did not converge after [0-9]* iterationsc                 óÈ  — t           j        t           j                             ¦   «         }}d||dk    <   |dv r|dk    rt	          j        d¦  «         |dk    r| dk    rt	          j        d¦  «         t          | d	|d|¬
¦  «        }t	          j        t          |¬¦  «        5  | 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j
        d         | k    sJ ‚d S )Nr   r/   r–   r—   z?'multinomial' is not supported by liblinear and newton-choleskyr*   r.   z/solver newton-cholesky might converge very fastçVçž¯Ò<)r©   rŠ   r‡   r&   rs   ru   )rw   rx   rz   rG  r{   Úskipr   r|   r   r7   Ún_iter_)r©   r‡   rs   rú   r?   Úy_binro   s          rF   Útest_max_iterrÐ  w  s:  € õ, Œy�$œ+×*Ò*Ñ,Ô,€u€AØ€Eˆ%�1Š*ÑàÐ1Ð1Ð1°kÀ]Ò6RÐ6RÝŒÐUÑVÔVÐVØÐ"Ò"Ð" x°!¢| |ÝŒÐEÑFÔFÐFå	ØØØØØð
ñ 
ô 
€Bõ 
ŒÕ(°Ð	8Ñ	8Ô	8ð ð Ø
�Šˆq�%ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ:�aŒ=˜HÒ$Ð$Ð$Ð$Ð$Ð$s   Â!CÃCÃCc                 óÞ  — t           j        t           j        }}| dk    rt          |¦  «        }t	          j        |¦  «        j        d         }|dk    sJ ‚|                     ¦   «         }d||dk    <   d}d}t          dd| d¬	¦  «        }| 	                    ||¦  «         |j
        j        d
k    sJ ‚t          d| ||d¬¦  «        }| 	                    ||¦  «         |j
        j        d||fk    sJ ‚|                     d¬¦  «         	                    ||¦  «         |j
        j        |fk    sJ ‚|                     d¬¦  «         	                    ||¦  «         |j
        j        |||fk    sJ ‚| dv rd S |                     d¬¦  «         	                    ||¦  «         |j
        j        d
k    sJ ‚|                     d¬¦  «         	                    ||¦  «         |j
        j        d||fk    sJ ‚d S )Nr'   r   rh   r/   ri   rˆ   r
  r‰   )rŠ   rL   rs   r&   rª   )rŠ   rs   rj   rl   r&   r.   r†   ©r‡   r–   r—   )rw   rx   rz   r   r4   r5   r6   rG  r   r7   rÎ  r   rs  )	rs   r?   r@   rC   rÏ  Ún_CsÚ	n_cv_foldr>   Úclf_cvs	            rF   Útest_n_iterrÖ  £  s  € õ Œ9•d”k€q€AØ�ÒÐå�!‰HŒHˆå”	˜!‘”Ô" 1Ô%€IØ˜Š>ˆ>ˆ>ˆ>ð �FŠF‰HŒH€EØ€Eˆ%�1Š*Ñà€DØ€Iõ  ¨°VÈ"Ð
MÑ
MÔ
M€CØ‡G‚GˆAˆuÑÔÐØŒ;Ô Ò$Ð$Ð$Ð$å!Ø˜ D¨YÀRðñ ô €Fð ‡J‚Jˆq�%ÑÔÐØŒ>Ô A y°$Ð#7Ò7Ð7Ð7Ð7ð ‡N‚N˜u€NÑ%Ô%×)Ò)¨!¨QÑ/Ô/Ð/ØŒ;Ô  Ò,Ð,Ð,Ð,à
×Ò %ÐÑ(Ô(×,Ò,¨Q°Ñ2Ô2Ð2ØŒ>Ô I¨y¸$Ð#?Ò?Ð?Ð?Ð?ð Ð1Ð1Ð1àˆð ‡N‚N˜}€NÑ-Ô-×1Ò1°!°QÑ7Ô7Ð7ØŒ;Ô Ò$Ð$Ð$Ð$à
×Ò -ÐÑ0Ô0×4Ò4°Q¸Ñ:Ô:Ð:ØŒ>Ô A y°$Ð#7Ò7Ð7Ð7Ð7Ð7Ð7rH   r$  )TFrN   c                 óæ  — t           j        t           j        }}t          d|| 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 )
Nrx  r‰   )rŠ   r$  rs   r&   rN   rq  r.   z Warm starting issue with solver zwith fit_intercept=z and warm_start=ç       @)rw   rx   rz   r   r    r   r7   r®   r©   r4   r;   Úabs)	rs   r$  rN   r?   r@   r>   Úcoef_1Úcum_diffr    s	            rF   Ú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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d¬¦  «        \  }} | |¦  «        }||f||ffD ]¯\  }}dD ]§}|j        d         }	t          j        d	dd¦  «        D ]�}
t          d
|	|
z  z  ddd|dd¬¦  «        }t          d
|	|
z  z  ddd|dd¬¦  «        }| 	                    ||¦  «         | 	                    ||¦  «         t          |j        |j        d¦  «         Œ‚Œ¨Œ°d S )Nrh   r.   r/   r	  r   r   r>  )r˜   r|  r-   r
  r,   éÈ   Frè   )rL   rs   r©   rN   r™   r&   rŠ   r(   )r   rx   rz   r4   rë   r   r6   rí   r   r7   r   r®   )rI   rw   r?   r@   ÚX_binrÏ  ÚX_sparseÚy_sparser™   rA   Úalphar,   r(   s                rF   Útest_saga_vs_liblinearrã  ù  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å,Ø °!ðñ ô Ñ€Hˆhð ˆ}˜XÑ&Ô&€Hà˜� (¨HÐ!5Ð6ð Jð J‰ˆˆ1Ø#ð 	Jð 	JˆGØœ œ
ˆIåœ R¨¨AÑ.Ô.ð Jð J�Ý)Ø˜Y¨Ñ.Ñ/Ø!Ø Ø"'Ø#Ø!"Øðñ ô �õ /Ø˜Y¨Ñ.Ñ/Ø&Ø Ø"'Ø#Ø!"Øðñ ô �	ð —’˜˜A‘”�Ø—’˜a Ñ#Ô#Ð#å)¨$¬*°i´oÀqÑIÔIÐIÐIð1Jð	JðJð JrH   )r(   r)   r*   r,   FTc                 óä  — | dv r|dk    rt          j        d| › d�¦  «         | 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k    r|rd}t#          |j        |j        |¬¦  «         t#          |j        |j        |¬¦  «         d S )Nr–   r—   zSolver=z' does not support multinomial logistic.r(   rÙ   gü©ñÒMb@?r‰   )rs   r‡   r&   rŠ   rN   g…ëQ¸…@Úntrˆ   ©Úatolr,   rV   )r{   rÍ  r4   rÜ   Úfloat32r£   r?   r¬   rO   r   r
   r7   r®   rÚ   ÚosÚnamer"   r   )rs   r‡   rN   rI   Ú
out32_typeÚX_32Úy_32ÚX_64Úy_64ÚX_sparse_32ÚX_sparse_64Ú
solver_tolÚlr_templÚlr_32Úlr_32_sparseÚlr_64Úlr_64_sparserç  s                     rF   Útest_dtype_matchrø  (  s—  € ð Ð1Ð1Ð1°kÀ]Ò6RÐ6RÝŒÐM˜fÐMÐMÐMÑNÔNÐNà%¨Ò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à�ÒÐ˜MÐð ˆå�E”K Ô!3¸$Ð?Ñ?Ô?Ð?Ý�E”K Ô!3¸$Ð?Ñ?Ô?Ð?Ð?Ð?rH   c                  óx  — t           j                             d¦  «        } 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 )Nr   rK   r/   r.   r-   r+   F)rs   r$  r&   TrË   rã   ry  )r4   rÍ   rÎ   rë   rì   r£   r   r   r7   r:   Úranger   )rÐ   r?   r@   Úlr_no_wsÚlr_wsÚlr_no_ws_lossró   Ú
lr_ws_losss           rF   Útest_warm_start_converge_LRrÿ  w  s%  € õ Œ)×
Ò
 Ñ
"Ô
"€CÝ
Œ˜Ÿ	š	 # qÑ)Ô)¨Q°¨FÑ2°C·I²I¸cÀ1Ñ4EÔ4EÐFÑGÔG€AÝ
Œ�!��s‘˜b˜T C™ZÑ'Ñ(Ô(€AÝ!¨¸5ÈqÐQÑQÔQ€HÝ e¸È1ÐMÑMÔM€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Ð9rH   c            
      óž  — t          d¬¦  «        \  } }d}d}t          ¦   «         }d|fddfD ]K\  }}t          ||dd|d	d
¬¦  «        }|                     | |¦  «         |                     |j        ¦  «         ŒL|\  }}	}
t          j        ||	dd¬¦  «        rJ ‚t          j        ||
dd¬¦  «        rJ ‚t          j        |
|	dd¬¦  «        rJ ‚d S )Nr   r%   rØ  rX   rœ   )r˜   N)r|  Nr,   r´   rÞ  )r™   rL   rs   r&   Úl1_ratiorŠ   r©   rV   )ri  rç  )r   r  r   r7   Úappendr®   r4   Úallclose)r?   r@   rL   r  Úcoeffsr™   Úratioro   Úelastic_net_coeffsÚ	l1_coeffsÚ	l2_coeffss              rF   Útest_elastic_net_coeffsr	  ˆ  s  € õ ¨AÐ.Ñ.Ô.�D€A€qà€AØ€HÝ‰VŒV€FØ(¨(Ð3°\À<ÐPð  ð  ‰ˆ�ÝØØØØØØØð
ñ 
ô 
ˆð 	�Šˆq�!‰ŒˆØ�Š�b”hÑÔÐÐà/5Ñ,Ð˜	 9åŒ{Ð-¨y¸qÀsÐKÑKÔKÐKÐKÐKÝŒ{Ð-¨y¸qÀsÐKÑKÔKÐKÐKÐKÝŒ{˜9 i°a¸cÐBÑBÔBÐBÐBÐBÐBÐBrH   rL   )r´   rV   r.   r‚   rK   rä   ç    €„.Azpenalty, l1_ratio)r˜   r.   )r|  r   c                 ó
  — t          d¬¦  «        \  }}t          d| |ddd¬¦  «        }t          || ddd¬¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j        |j        ¦  «         d S )Nr   r%   rœ   r,   rˆ   )r™   rL   r  rs   r&   rŠ   ©r™   rL   rs   r&   rŠ   )r   r   r7   r   r®   )rL   r™   r  r?   r@   Úlr_enetÚlr_expecteds          rF   Ú"test_elastic_net_l1_l2_equivalencer  ¤  s¤   € õ
 ¨AÐ.Ñ.Ô.�D€A€qå ØØ
ØØØØðñ ô €Gõ %Ø˜1 V¸!Àðñ ô €Kð ‡K‚K��1ÑÔÐØ‡O‚O�A�qÑÔÐå˜gœm¨[Ô->Ñ?Ô?Ð?Ð?Ð?rH   )r´   r.   rK   r
  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 )NrD  r   r%   r  r.   rË   rœ   r,   rˆ   r  T)rÀ  r˜   r|  )r   r   r4   Úlinspacer   r   r7   r`   )rL   r?   r@   ÚX_trainÚX_testÚy_trainÚy_testÚ
param_gridÚenet_clfÚgsÚl1_clfÚl2_clfr>   s                rF   Útest_elastic_net_vs_l1_l2r  ¼  sS  € õ
 ˜s°Ð3Ñ3Ô3�D€A€qÝ'7¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fà�bœk¨!¨Q°Ñ2Ô2Ð3€Jå!Ø ¨&¸qÀdðñ ô €Hõ 
�h 
°$Ð	7Ñ	7Ô	7€BåØ˜ &°q¸dðñ ô €Fõ  Ø˜ &°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ÐCrH   éýÿÿÿr/   ri   r  )rV   rX   r«   c           	      óL  ‡ ‡‡‡— t          ddddddd¬¦  «        \  ŠŠt          ‰¦  «        Št          ddd‰ ‰d	¬
¦  «        }t          ddd‰ d	¬¦  «        }|                     ‰‰¦  «         |                     ‰‰¦  «         ˆ ˆˆˆfd„} ||¦  «         ||¦  «        k     sJ ‚d S )Nrä   r/   r   r‚   r   ©rA   rC   r~   r"  rp  ro  r&   rœ   r,   F)r™   rs   r&   rL   r  rN   r|  )r™   rs   r&   rL   rN   c                 ó   •— | j                              ¦   «         }‰t          ‰|                      ‰¦  «        ¦  «        z  }|‰t	          j        t	          j        |¦  «        ¦  «        z  z  }|d‰z
  dz  t	          j        ||¦  «        z  z  }|S )Nr
  rX   )r®   rï   r   r:   r4   r;   rÙ  r  )ro   ÚcoefÚobjrL   r?   r  r@   s      €€€€rF   Úenet_objectivezEtest_LogisticRegression_elastic_net_objective.<locals>.enet_objectiveú  s€   ø€ ØŒx�~Š~ÑÔˆØ•(˜1˜b×.Ò.¨qÑ1Ô1Ñ2Ô2Ñ2ˆØˆx�"œ&¥¤¨¡¤Ñ.Ô.Ñ.Ñ.ˆØ��h‘ #Ñ%­¬¨t°TÑ(:Ô(:Ñ:Ñ:ˆØˆ
rH   )r   r   r   r7   )rL   r  r  Úlr_l2r"  r?   r@   s   ``   @@rF   Ú-test_LogisticRegression_elastic_net_objectiver$  Ù  s  øøøø€ õ ØØØØØØØðñ ô �D€A€qõ 	ˆa‰Œ€Aå ØØØØ
ØØðñ ô €Gõ Ø˜V°!°qÈðñ ô €Eð ‡K‚K��1ÑÔÐØ	‡I‚Iˆa��O„O€Oðð ð ð ð ð ð ð ð ˆ>˜'Ñ"Ô" ^ ^°EÑ%:Ô%:Ò:Ð:Ð:Ð:Ð:Ð:rH   rC   )r/   rh   c           	      óø  — t          d| dd¬¦  «        \  }}t          d¦  «        }t          j        ddd¦  «        }t          j        ddd¦  «        }t          d	|d
||dd¬¦  «        }|                     ||¦  «         ||dœ}t          d	d
dd¬¦  «        }t          |||¬¦  «        }	|	                     ||¦  «         |	j	        d         |j
        d         k    sJ ‚|	j	        d         |j        d         k    sJ ‚d S )NrK   rh   r   ©rA   rC   r"  r&   rË   r.   éüÿÿÿri   rœ   r,   rˆ   )r™   rj   rs   rl   Ú	l1_ratiosr&   rŠ   ©rL   r  )r™   rs   r&   rŠ   ©rl   r  rL   )r   r   r4   r  rí   r   r7   r   r   Úbest_params_Ú	l1_ratio_rm   )
rC   r?   r@   rl   r(  rj   Úlrcvr  ro   r  s
             rF   Ú2test_LogisticRegressionCV_GridSearchCV_elastic_netr.    s-  € õ
 Ø ¸!È!ðñ ô �D€A€qõ 
˜Ñ	Ô	€Bå”˜A˜q !Ñ$Ô$€IÝ	Œ�R˜˜AÑ	Ô	€BåØØØØØØØðñ ô €Dð 	‡H‚HˆQ��N„N€Nà yÐ1Ð1€JÝ	ØØØØð	
ñ 
ô 
€Bõ 
�b˜*¨Ð	,Ñ	,Ô	,€BØ‡F‚Fˆ1ˆa�L„L€LàŒ?˜:Ô&¨$¬.¸Ô*;Ò;Ð;Ð;Ð;ØŒ?˜3Ô 4¤7¨1¤:Ò-Ð-Ð-Ð-Ð-Ð-rH   c            
      óÂ  — t          dddd¬¦  «        \  } }t          | |d¬¦  «        \  }}}}t          d¦  «        }t          j        ddd¦  «        }t          j        dd	d¦  «        }t          d
|d||ddd¬¦  «        }	|	                     ||¦  «         ||dœ}
t          d
dddd¬¦  «        }t          ||
|¬¦  «        }|                     ||¦  «         |	 
                    |¦  «        | 
                    |¦  «        k                         ¦   «         dk    sJ ‚|	 
                    |¦  «        | 
                    |¦  «        k                         ¦   «         dk    sJ ‚d S )NrK   rh   r   r&  r%   rË   r.   r'  ri   rœ   r,   r†   rˆ   )r™   rj   rs   rl   r(  r&   r‡   rŠ   r)  )r™   rs   r&   r‡   rŠ   r*  rW   )r   r   r   r4   r  rí   r   r7   r   r   r8   r‘   )r?   r@   r  r  r  r  rl   r(  rj   r-  r  ro   r  s                rF   Ú6test_LogisticRegressionCV_GridSearchCV_elastic_net_ovrr0  -  s�  € õ Ø °!À!ðñ ô �D€A€qõ (8¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fÝ	˜Ñ	Ô	€Bå”˜A˜q !Ñ$Ô$€IÝ	Œ�R˜˜AÑ	Ô	€BåØØØØØØØØð	ñ 	ô 	€Dð 	‡H‚HˆW�gÑÔÐà yÐ1Ð1€JÝ	ØØØØØð
ñ 
ô 
€Bõ 
�b˜*¨Ð	,Ñ	,Ô	,€BØ‡F‚Fˆ7�GÑÔÐð �LŠL˜Ñ!Ô! R§Z¢Z°Ñ%8Ô%8Ò8×>Ò>Ñ@Ô@ÀCÒGÐGÐGÐGØ�LŠL˜Ñ Ô  B§J¢J¨vÑ$6Ô$6Ò6×<Ò<Ñ>Ô>À#ÒEÐEÐEÐEÐEÐErH   )r|  rœ   )r†   r—   Úautoc           
      ót  — d}d}t          d|||d¬¦  «        \  }}t          j        ddd¦  «        }| dk    rt          j        dd	d
¦  «        }nd }t	          | |d|d|dd¬¦  «        }|                     ||¦  «         |j        j        |fk    sJ ‚|j        j        |fk    sJ ‚|j	        j        ||fk    sJ ‚d S )Nrh   r   rÞ  r   ©rA   rC   r"  r~   r&   r'  ri   rœ   r.   r/   r,   rˆ   F)r™   rj   rs   r(  r&   r‡   rŠ   rÀ  )
r   r4   rí   r  r   r7   rm   r6   r,  r®   )	r™   r‡   rC   r~   r?   r@   rj   r(  r-  s	            rF   Ú"test_LogisticRegressionCV_no_refitr4  \  sþ   € ð €IØ€JÝØØØØØðñ ô �D€A€qõ 
Œ�R˜˜AÑ	Ô	€BØ�,ÒÐÝ”K  1 aÑ(Ô(ˆ	ˆ	àˆ	åØØØØØØØØð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€NØŒ7Œ=˜Y˜LÒ(Ð(Ð(Ð(ØŒ>Ô I <Ò/Ð/Ð/Ð/ØŒ:Ô 	¨:Ð6Ò6Ð6Ð6Ð6Ð6Ð6rH   c            
      ó†  — d} 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         	                    ¦   «         ¦  «        ¦  «        }|j
        | ||j        |j        |dz   fk    sJ ‚t          j        t          |j         	                    ¦   «         ¦  «        ¦  «        }	|	j
        | ||j        |j        fk    sJ ‚|j        j
        | ||j        |j        fk    sJ ‚d S )Nrh   r   rÞ  r   r3  r'  ri   r.   r/   rœ   r,   r†   rˆ   )r™   rj   rs   rl   r(  r‡   r&   rŠ   )r   r4   rí   r  r   r7   r  r  r  r  r6   r®  r  rÎ  )
rC   r~   r?   r@   rj   r(  Ún_foldsr-  r  rZ   s
             rF   Ú5test_LogisticRegressionCV_elasticnet_attribute_shapesr7  …  sm  € ð
 €IØ€JÝØØØØØðñ ô �D€A€qõ 
Œ�R˜˜AÑ	Ô	€BÝ”˜A˜q !Ñ$Ô$€Ià€GÝØØØØØØØØð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€NÝ”*�T $Ô"3×":Ò":Ñ"<Ô"<Ñ=Ô=Ñ>Ô>€KØÔØØØ
ŒØŒØ�Q‰ð!ò ð ð ð õ ŒZ�˜Tœ\×0Ò0Ñ2Ô2Ñ3Ô3Ñ4Ô4€FØŒ<˜I w°´¸¼ÐHÒHÐHÐHÐHàŒ<Ô )¨W°b´g¸y¼~Ð!NÒNÐNÐNÐNÐNÐNrH   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\)ru   r˜   r,   rX   )r™   rs   r  )r{   r|   r}   r   r7   r?   rO   )r    s    rF   Útest_l1_ratio_non_elasticnetr9  ±  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           
      óR  — d}t          |dddddd¬¦  «        \  }}t          |¦  «        }t          dddd d	|d
| z  |z  d¬¦  «        }t          ddddd|| d¬¦  «        }|                     ||¦  «         |                     ||¦  «         t          |j        |j        d¬¦  «         d S )NrD  r/   rË   r   r.   r  rœ   Fr¨   r
  r   )r™   r&   rN   rŠ   r©   r  râ  Úlossrã   rä   r,   )r™   r&   rN   rŠ   r©   r  rL   rs   rW  )r   r   r   r   r7   r   r®   )rL   r  rA   r?   r@   ÚsgdÚlogs          rF   Ú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¨¬¸AÐ>Ñ>Ô>Ð>Ð>Ð>rH   c            	      óP  — t          ddddddd¬¦  «        \  } }g d¢}t          | |d|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 )NrÞ  rh   r/   r   r.   )rA   rC   r"  rp  Ún_clusters_per_classr&   r~   )rã   r.   rc  r˜   r,   r—   )r™   rj   rs   r&   r‡   rW  )r   r   r{   rž   r  r   )r?   r@   rj   rñ   rò   s        rF   Ú/test_logistic_regression_path_coefs_multinomialrA  ä  s:  € õ ØØØØØØØðñ ô �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   ÁA<Á<B ÂB Â CÃCÃCÃ/DÄDÄ"DÚestrD  )r&   r©   rh   r´   )r&   rl   rj   rŠ   r©   c                 ó   — | j         j        S rb   )Ú	__class__rc   rŒ  s    rF   rŽ  rŽ    s   € �!”+Ô&€ rH   )Úidsc           	      óà  ‡ — ˆ fd„}t          t          j        ¦  «        }|d d d…         }|dd d…         }t          j        d d d…         }|dk    } |||d|¬¦  «        } |||d|¬¦  «        }	t	          |j        |	j        ¦  «         t	          |                     |¦  «        |	                     |¦  «        ¦  «          |||d|¬¦  «        }
|dv ra |||d|¬¦  «        }t	          |
j        |j        ¦  «         t	          |
                     |¦  «        |                     |¦  «        ¦  «         d S  |||d	|¬¦  «        }t	          |
j        |j        ¦  «         t	          |
                     |¦  «        |                     |¦  «        ¦  «         t          j        |j         |||d	|¬¦  «        j        ¦  «        rJ ‚t          j        |j         |||d	|¬¦  «        j        ¦  «        rJ ‚d S )
Nc                 ó`   •—  t          ‰¦  «        j        di |¤Ž                     | |¦  «        S )Nrf   )r
   rs  r7   )r?   r@   r~  rB  s      €rF   r7   z6test_logistic_regression_multi_class_auto.<locals>.fit  s2   ø€ Ø$�u�S‰zŒzÔ$Ð*Ð* rÐ*Ð*×.Ò.¨q°!Ñ4Ô4Ð4rH   r‚   r.   r   r1  )r‡   rs   r†   r–   r—   )	r   rw   rx   rz   r   r®   r:   r4   r  )rB  rs   r7   Úscaled_datar?   ÚX2Úy_multirÏ  Úest_auto_binÚest_ovr_binÚest_auto_multiÚest_ovr_multiÚest_multi_multis   `            rF   Ú)test_logistic_regression_multi_class_autorP    sT  ø€ ð5ð 5ð 5ð 5ð 5õ �œ	Ñ"Ô"€KØ�D�D�b�DÔ€AØ	�Q�U˜�UÔ	€BÝŒk˜$˜$˜B˜$Ô€GØ�qŠL€EØ�3�q˜%¨V¸FÐCÑCÔC€LØ�#�a˜¨E¸&ÐAÑAÔA€KÝ�LÔ&¨Ô(9Ñ:Ô:Ð:Ý�L×.Ò.¨rÑ2Ô2°K×4MÒ4MÈbÑ4QÔ4QÑRÔRÐRà�S˜˜G°ÀÐGÑGÔG€NØÐ1Ð1Ð1Ø˜˜A˜w°EÀ&ÐIÑIÔIˆÝ˜Ô,¨mÔ.AÑBÔBÐBÝØ×(Ò(¨Ñ,Ô,¨m×.IÒ.IÈ"Ñ.MÔ.Mñ	
ô 	
ð 	
ð 	
ð 	
ð ˜#˜a °mÈFÐSÑSÔSˆÝ˜Ô,¨oÔ.CÑDÔDÐDÝØ×(Ò(¨Ñ,Ô,¨o×.KÒ.KÈBÑ.OÔ.Oñ	
ô 	
ð 	
õ
 ”;ØÔØˆC��5 m¸FÐCÑCÔCÔIñ
ô 
ð 	
ð 	
ð 	
õ ”;ØÔØˆC��7¨¸fÐEÑEÔEÔKñ
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
rH   c                 ó  — t          d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   )rA   rp  r&   z&Setting penalty=None will ignore the Cri   )r™   rs   rL   ru   )r™   rs   r&   r|  )r™   rL   rs   r&   )
r   r   r{   r|   r}   r7   r4   Úinfr8   r   )	rs   r?   r@   r    ro   Úlr_noneÚlr_l2_C_infÚ	pred_noneÚpred_l2_C_infs	            rF   Útest_penalty_nonerW  9  s?  € õ ¨¸1È1ÐMÑMÔM�D€A€qà
2€CÝ	 D°¸1Ð	=Ñ	=Ô	=€BÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ !¨°fÈ1ÐMÑMÔM€GÝ$Ø�œ v¸Aðñ ô €Kð —’˜A˜qÑ!Ô!×)Ò)¨!Ñ,Ô,€IØ—O’O A qÑ)Ô)×1Ò1°!Ñ4Ô4€MÝ�y -Ñ0Ô0Ð0Ð0Ð0s   ÁA(Á(A,Á/A,r-  rè   rä   )r™   rš   rŠ   r©   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          |||d
¬¦  «        \  }}}t          dd¬¦  «        } |j	        di | ¤Ž t          |¦  «                             ||¦  «        }t          |¦  «                             |||¬¦  «        }dD ]D}	 t          ||	¦  «        |¦  «        }
 t          ||	¦  «        |¦  «        }t          |
|¦  «         ŒEd S )Nr.   rh   r/   ri   ÚfloatrÙ   )r.   r.   r.   r.   r/   r/   r/   r/   r.   r.   r.   r.   r/   r/   r/   r/   Úintr¯  r   r%   r(   r‰   )rs   r&   rw  )r8   r:   rµ   rf   )r4   r£   rÚ   ÚvstackÚhstackr<   r3   r   r   rs  r
   r7   Úgetattrr   )r-  r?   r@   rI  Úy2r_   Úbase_clfÚclf_no_weightÚclf_with_weightÚmethodÚX_clf_no_weightÚX_clf_with_weights               rF   Ú/test_logisticregression_liblinear_sample_weightre  O  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¨¨MÈÐJÑJÔJÑ€BˆˆMå!¨À2ÐFÑFÔF€HØ€HÔÐ!Ð!˜&Ð!Ð!Ð!Ý˜(‘O”O×'Ò'¨¨1Ñ-Ô-€MÝ˜H‘o”o×)Ò)¨"¨bÀÐ)ÑNÔN€OàCð <ð <ˆØ8�' -°Ñ8Ô8¸Ñ;Ô;ˆØ<�G O°VÑ<Ô<¸QÑ?Ô?ÐÝ˜Ð):Ñ;Ô;Ð;Ð;ð<ð <rH   c                  ó  — t          dd¬¦  «        \  } }t          d¬¦  «        }ddg}g d¢}t          d	d
|||ddd¬¦  «        }|                     | |¦  «         |j        d                              d¬¦  «        }t          |¦  «        D ]w\  }}t          |¦  «        D ]b\  }	}
t          d	d
||
ddd¬¦  «        }t          || ||¬¦  «                             ¦   «         }|||	f         t          j
        |¦  «        k    sJ ‚ŒcŒxd S )Nrä   r   r  rË   )Ún_splitsrV   r«   )rV   r.   r‚   rœ   r,   éú   r´   )r™   rs   r(  rj   rl   r&   r©   rŠ   r.   r1   )r™   rs   rL   r  r&   r©   rŠ   r*  )r   r   r   r7   r  r‘   rî   r   r   r{   Úapprox)r?   r@   rl   r(  rj   r-  Úavg_scores_lrcvró   rL   Újr  ro   Úavg_score_lrs                rF   Ú'test_scores_attribute_layout_elasticnetrm  „  sU  € õ ¨¸AÐ>Ñ>Ô>�D€A€qÝ	 !Ð	$Ñ	$Ô	$€Bà�c�
€IØ	ˆˆ€BåØØØØØØØØð	ñ 	ô 	€Dð 	‡H‚HˆQ��N„N€Nà”l 1”o×*Ò*°Ð*Ñ2Ô2€Oå˜"‘”ð Hð H‰ˆˆ1Ý$ YÑ/Ô/ð 	Hð 	H‰KˆAˆxÝ#Ø$ØØØ!ØØØðñ ô ˆBõ +¨2¨q°!¸Ð;Ñ;Ô;×@Ò@ÑBÔBˆLØ" 1 a 4Ô(­F¬M¸,Ñ,GÔ,GÒGÐGÐGÐGÐGð	HðHð HrH   c                 óÚ  — t           j        j        \  }}t           j        t           j                 }t          t          t           j        ¦  «        d| ¬¦  «        }t          t           j        ¦  «        }|                     ||¦  «         t          |j
                             d¬¦  «        dd¬¦  «         | r5|j                             d¬¦  «        t          j        dd¬¦  «        k     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>`
    r'   )rL   rs   rN   r   r1   rz  ræ  rÌ  )rÙ  N)rw   rx   r6   ry   rz   r   r3   r   r7   r   r®   r;   r¯   r{   ri  )rN   rA   r~   rz   r>   ÚX_scaleds         rF   Ú(test_multinomial_identifiability_on_irisrp  ¯  sÚ   € õ0 !œIœOÑ€IˆzÝÔ�tœ{Ô+€Få
Ý
�dŒi‰.Œ.ØØ#ðñ ô €Cõ •T”YÑÔ€HØ‡G‚GˆH�fÑÔÐõ �C”I—M’M q�MÑ)Ô)¨1°5Ð9Ñ9Ô9Ð9Øð BØŒ×Ò ÐÑ"Ô"¥f¤m°A¸5Ð&AÑ&AÔ&AÒAÐAÐAÐAðBð BrH   r
  g      $@c                 ó$  — t          d¬¦  «        \  }}t          |¦  «        }t          j        |¦  «        }d|d |dz  …<   |                     ¦   «         }t          d|d| ¬¦  «        }|                     |||¬¦  «         t          ||¦  «         d S )NT©Ú
return_X_yr/   r   rÞ  )r&   r6  r©   r‡   rw  )r   r3   r4   r<   rG  r   r7   r   )r‡   r6  r?   r@   r~   ÚWÚexpectedr>   s           rF   Útest_sample_weight_not_modifiedrv  Ú  s    € õ  Ð%Ñ%Ô%�D€A€qÝ�Q‘”€JÝ
Œ�
ÑÔ€AØ€AÐˆ
�a‰ÐÑà�vŠv‰xŒx€Hå
Ø \¸CÈ[ðñ ô €Cð ‡G‚GˆAˆq €GÑ"Ô"Ð"Ý�H˜aÑ Ô Ð Ð Ð rH   c           	      ó>  —  |t          j        dd|¬¦  «        ¦  «        }dD ]4}t          ||t          ||¦  «                             d¦  «        ¦  «         Œ5t
          j                             |¦  «        }|                     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%   )ÚindicesÚindptrÚint64r/   r   r­  )r(   r+   r,   z0Only sparse matrices with 32-bit integer indicesru   r¤  )r   ÚrandÚsetattrr]  r¬   r4   rÍ   rÎ   Úrandintr6   r{   rž   rŸ   r   r7   )rs   r¸   rI   r?   ÚattrrÐ   r@   r    s           rF   Útest_large_sparse_matrixr  ì  sf  € ð 	ˆ•f”k " bÐ7IÐJÑJÔJÑKÔK€AØ%ð ;ð ;ˆÝ��4�  DÑ)Ô)×0Ò0°Ñ9Ô9Ñ:Ô:Ð:Ð:Ý
Œ)×
Ò
Ð 2Ñ
3Ô
3€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        g d¢g¦  «        j        } t          j        g d¢¦  «        }| j        d         dk    sJ ‚t	          dd¬¦  «                             | |¦  «         d S )N)rX   gÍÌÌÌÌÌä?gš™™™™™ñ?g      ô?rW   gHáz®Gá?r�   çffffffæ?)r.   r.   r   r   r.   r.   r   r.   r.   r)   T)rs   rN   )r4   r£   ÚTr6   r   r7   )r?   r@   s     rF   Útest_single_feature_newton_cgrƒ    sr   € õ 	ŒÐ>Ð>Ð>Ð?Ñ@Ô@ÔB€AÝ
ŒÐ)Ð)Ð)Ñ*Ô*€AØŒ7�1Œ:˜Š?ˆ?ˆ?ˆ?Ý˜k¸Ð>Ñ>Ô>×BÒBÀ1ÀaÑHÔHÐHÐHÐHrH   c            	      óþ  — t           j                             ¦   «         } t           j                             ¦   «         }| |dk             } ||dk             }t	          ¦   «                              | ¦  «        }t          | |d¬¦  «        dz  }t          d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 )Nr/   r=  )r;  g¤›ntž²@r˜   r(   rè   rK   ré   r   )r™   rs   rŠ   r©   rê   r&   rL   Úerror)rw   rx   rG  rz   r   r™  r   r   rŽ   r�   r�   r   r7   )r?   r@   ÚX_preprL   r>   s        rF   Ú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Úenable_slep006c                  ó´  — t           j                             d¦  «        } t          d| ¬¦  «        \  }}t          d| ¬¦  «        \  }}t          j        t          |¦  «        ¦  «        }d|dt          |¦  «        dz  …<   d|i}t          d¦  «        }t          |¬¦  «        } |j        ||fi |¤Ž t          d¦  «        }	|	 	                    d¬	¦  «         t          |	¬¦  «        }
 |
j        ||fi |¤Ž t          j
        |j        d
         |
j        d
         ¦  «        rJ ‚ |j        ||fi |¤Ž} |
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  r/   Nr_   r  ©rk   Trw  r.   )r4   rÍ   rÎ   r   r<   r3   r   r   r7   Úset_score_requestr  r  r`   )rÐ   r?   r@   ÚX_tÚy_tr_   ÚkwargsÚscorer1Úlr_cv1Úscorer2Úlr_cv2Úscore_1Úscore_2s                rF   Ú8test_lr_cv_scores_differ_when_sample_weight_is_requestedr•  $  s}  € õ Œ)×
Ò
 Ñ
#Ô
#€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å˜Ñ$Ô$€GÝ!¨'Ð2Ñ2Ô2€FØ€F„Jˆq�!ÐÐ�vÐÐÐå˜Ñ$Ô$€GØ×Ò¨DÐÑ1Ô1Ð1Ý!¨'Ð2Ñ2Ô2€FØ€F„Jˆq�!ÐÐ�vÐÐÐåŒ{˜6œ>¨!Ô,¨f¬n¸QÔ.?Ñ@Ô@Ð@Ð@Ð@àˆfŒl˜3 Ð.Ð. vÐ.Ð.€GØˆfŒl˜3 Ð.Ð. vÐ.Ð.€GåŒ{˜7 GÑ,Ô,Ð,Ð,Ð,Ð,Ð,rH   c                  ó8  — t           j                             d¦  «        } t          d| ¬¦  «        \  }}t          d| ¬¦  «        \  }}t          j        t          |¦  «        ¦  «        }d|dt          |¦  «        dz  …<   d|i}t          d¬¦  «        5  t          d¦  «        }t          |¬	¦  «        } |j	        ||fi |¤Ž  |j
        ||fi |¤Ž}	ddd¦  «         n# 1 swxY w Y   t          d
¬¦  «        5  t          d¦  «        }
|
                     d
¬¦  «         t          |
¬	¦  «        } |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  r/   Nr_   F©Úenable_metadata_routingr  rŠ  Trw  r.   )r4   rÍ   rÎ   r   r<   r3   r	   r   r   r7   r`   r‹  r   r  )rÐ   r?   r@   rŒ  r�  r_   rŽ  r�  r�  r“  r‘  r’  r”  s                rF   Ú3test_lr_cv_scores_without_enabling_metadata_routingr™  C  s=  € õ
 Œ)×
Ò
 Ñ
#Ô
#€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Ñ(Ô(ˆÝ%¨gÐ6Ñ6Ô6ˆØˆŒ
�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Ý%¨gÐ6Ñ6Ô6ˆØˆŒ
�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"Ã9A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 )NTrr  r/   rq  r   re  )r,   r+   r'   )r6   Ú
fill_valuerX   r�  )r   r    r   r   r7   rÎ  r   r®   r4   Ú
zeros_likerµ   Úfullr6   r¯   r:   r`   )rs   r?   r@   r>   s       rF   Ú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}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  z1is only supported if enable_metadata_routing=TrueFr—  Úextra_paramr
  ru   N)r   r   r	   r{   rž   rŸ   r7   r`   )r?   r@   r  r    r-  s        rF   Ú5test_passing_params_without_enabling_metadata_routingr¡  z  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ÁA1Á%CÁ1A5	Á5CÁ8A5	Á9CÂB3Â'CÂ3B7	Â7CÂ:B7	Â;CÃCÃC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¬¦  «        }t          j        t          |¬¦  «        5  |                     | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   t          d
dd¬¦  «        \  } }t          d¬¦  «        }d}t          j        t          |¬¦  «        5  |                     | |¦  «         d	d	d	¦  «         n# 1 swxY w Y   t          d¬¦  «        }t          j        t          |¬¦  «        5  |                     | |¦  «         d	d	d	¦  «         d	S # 1 swxY w Y   d	S )z)Check `multi_class` parameter deprecated.rh   r	  r!  )rC   rA   r"  r†   rÒ  z'multi_class' was deprecatedru   Nr/   r—   z-'multi_class' was deprecated.*binary problems)r   r   r{   r|   ÚFutureWarningr7   r   )r?   r@   ro   r    ÚlrCVs        rF   Útest_multi_class_deprecatedr¥  Œ  s}  € å¨°bÈÐJÑJÔJ�D€A€qÝ	¨Ð	.Ñ	.Ô	.€BØ
(€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ¨EÐ2Ñ2Ô2€DÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ¨°bÈÐJÑJÔJ�D€A€qÝ	¨Ð	6Ñ	6Ô	6€BØ
9€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø
�Šˆq�!‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ¨MÐ:Ñ:Ô:€DÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð ð Ø�Š��A‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sH   ÁA&Á&A*Á-A*ÂB?Â?CÃCÄD/Ä/D3Ä6D3Å%F	Æ	FÆF)�rZ  ré  rŽ   Ú	functoolsr   Únumpyr4   r{   Únumpy.testingr   r   r   r   Úscipyr   Úsklearnr	   Úsklearn.baser
   Úsklearn.datasetsr   r   Úsklearn.exceptionsr   Úsklearn.linear_modelr   Úsklearn.linear_model._logisticr   ÚLogisticRegressionDefaultr   ÚLogisticRegressionCVDefaultr   r   Úsklearn.metricsr   r   Úsklearn.model_selectionr   r   r   r   Úsklearn.multiclassr   Úsklearn.preprocessingr   r   r   Úsklearn.svmr   Úsklearn.utilsr   r   Úsklearn.utils._testingr    r!   Úsklearn.utils.fixesr"   r#   r$   ÚmarkÚfilterwarningsÚ
pytestmarkrY  r?   rO   r„   rw   rG   ÚparametrizerQ   rq   r€   r…   r3   rx   r“   r¡   r¤   r²   r½   rÉ   rÔ   r×   rà   rõ   rþ   r  r  r1  r<  rA  rP  r_  rk  ru  r†  rŠ  r–  rŸ  r¢  r§  r©  r«  r¸  r¼  rÂ  rÉ  r(  rÐ  rÖ  r8  rj  rÜ  rã  rø  rÿ  r	  r  r  rí   r$  r.  r0  r4  r7  r9  r>  rA  rP  rW  re  rm  rp  rv  r  rƒ  r‡  Úusefixturesr•  r™  rž  r¡  r¥  rf   rH   rF   ú<module>r¿     sŠ  ðØ Ð Ð Ð Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ðð ð ð ð ð ðð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ  Ð  Ð  Ð  Ð  Ð  Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IàŒ[×'Ò'Ø<ñô €
ð �WÐ6ÀQÐGÑGÔGÐ Ø�wÐ:ÈÐKÑKÔKÐ ð P€Øˆ!€Wˆq�!ˆf�q˜!�fÐ€Ø€Y€Y€Ø€Y€Y€Ø€y�{„{€ð8ð 8ð 8ð$ „×Ò˜¨.Ñ9Ô9ðð ñ :Ô9ðð"ð "ð "ðB ð"ð "ñ Ôð"ð „×Ò˜¨.Ñ9Ô9ðFð Fñ :Ô9ðFð „×ÒÐSÑTÔTØ„×ÒØ	àÐ˜S˜S ¤™^œ^°KÈUÐSÑSÔSØÐ˜S˜S ¤™^œ^°GÐ<Ñ<Ô<ØÐ˜S˜S ¤™^œ^°KÐ@Ñ@Ô@ØÐØˆc�$”)‰nŒn U°À%ÐVXð	
ñ 	
ô 	
ð 	ÐØˆc�$”)‰nŒnØØØØð	
ñ 	
ô 	
ð 	ÐØˆc�$”)‰nŒnÐ%6ÀEð	
ñ 	
ô 	
ðñô ð**ð *ñ+ô ñ UÔTð,*ð: „×ÒÐSÑTÔTØ„×Ò˜Ð 2Ð4HÐIÑJÔJð%ð %ñ KÔJñ UÔTð%ðP „×Ò˜Ð 2Ð4HÐIÑJÔJð@ð @ñ KÔJð@ð „×ÒÐSÑTÔTØ„×Ò˜Ð#HÐ#HÐ#HÑIÔIð)ð )ñ JÔIñ UÔTð)ð2 „×ÒÐSÑTÔTð/ð /ñ UÔTð/ð* „×Ò˜¨.Ñ9Ô9ð2ð 2ñ :Ô9ð2ð0<ð <ð <ð(;ð ;ð ;ðð ð ð;
ð ;
ð ;
ð|?ð ?ð ?ð,8ð 8ð 8ðB0ð 0ð 0ð6 „×ÒØ"à	�b�TÐØ	�x Ð-Ð.ð 
�˜+Ð&Ð'Ø	˜"˜ÐØ	�H˜kÐ*Ð+ðñô ð 
ð  
ñô ð 
ðF&Ið &Ið &IðR „×Ò˜¨.Ñ9Ô9ðð ñ :Ô9ðð  „×ÒÐSÑTÔTð?-ð ?-ñ UÔTð?-ðD
ð 
ð 
ð"
ð 
ð 
ð8 „×Ò˜¨°Ð$4Ð$4¸#À#È#Ð6NÐ6NÐ#OÑPÔPØ„×Ò˜¨(°JÐ)?Ñ@Ô@ð+
ð +
ñ AÔ@ñ QÔPð+
ð\OEð OEð OEðdð ð ð „×Ò˜¨;¨;¨-¸.Ñ*HÑIÔIð#Eð #Eñ JÔIð#EðL8Jð 8Jð 8Jðv4ð 4ð 4ð „×Ò˜¨.Ñ9Ô9ð!ð !ñ :Ô9ð!ð „×Ò˜¨.Ñ9Ô9ð!ð !ñ :Ô9ð!ð!ð !ð !ð!Bð !Bð !BðH „×Ò˜¨.Ñ9Ô9ð/Bð /Bñ :Ô9ð/Bðd „×Ò˜¨¨Ñ-Ô-Ø„×Ò˜ T¨4 LÑ1Ô1ð5ð 5ñ 2Ô1ñ .Ô-ð5ð0+ð +ð +ð. „×ÒÐSÑTÔTØ„×Ò˜ Y R¤Y¨q°!¡_¤_Ñ5Ô5Ø„×Ò˜¨°Ð(>Ñ?Ô?Ø„×ÒØðð ð ñô ð"%ð %ñ#ô ñ @Ô?ñ 6Ô5ñ UÔTð(%ð0 „×ÒÐSÑTÔTØ„×Ò˜ 7Ñ+Ô+ð.8ð .8ñ ,Ô+ñ UÔTð.8ðb „×ÒØˆfˆf�S�S˜‘\”\ C C¨Ð6GÐ(HÑ$IÔ$IÑIÑJÔJñô ð „×Ò˜ }Ñ5Ô5Ø„×Ò˜¨-Ñ8Ô8ð#ð #ñ 9Ô8ñ 6Ô5ñô ð
#ð< „×Ò˜¨.Ñ9Ô9ð*Jð *Jñ :Ô9ð*Jð\ „×ÒÐSÑTÔTØ„×Ò˜¨°Ð(>Ñ?Ô?Ø„×ÒØÐCÐCÐCñô ð „×Ò˜¨5°$¨-Ñ8Ô8Ø„×Ò˜¨.Ñ9Ô9ðE@ð E@ñ :Ô9ñ 9Ô8ñô ñ @Ô?ñ UÔTðE@ðP:ð :ð :ð"Cð Cð Cð8 „×Ò˜ÐAÐAÐAÑBÔBØ„×ÒÐ,¨y¸)Ð.DÑEÔEð@ð @ñ FÔEñ CÔBð@ð, „×Ò˜Ð2Ð2Ð2Ñ3Ô3ðDð Dñ 4Ô3ðDð8 „×Ò˜˜k˜bœk¨"¨a°Ñ3Ô3Ñ4Ô4Ø„×Ò˜ _ _ _Ñ5Ô5ð&;ð &;ñ 6Ô5ñ 5Ô4ð&;ðR „×Ò˜ fÑ-Ô-ð#.ð #.ñ .Ô-ð#.ðP „×ÒÐSÑTÔTð*Fð *Fñ UÔTð*Fð\ „×ÒÐSÑTÔTØ„×Ò˜Ð$8Ñ9Ô9Ø„×Ò˜Ð(FÑGÔGð 7ð  7ñ HÔGñ :Ô9ñ UÔTð 7ðL „×ÒÐSÑTÔTð(Oð (Oñ UÔTð(OðVQð Qð Qð „×Ò˜˜k˜bœk¨"¨a°Ñ3Ô3Ñ4Ô4Ø„×Ò˜ _ _ _Ñ5Ô5ð%?ð %?ñ 6Ô5ñ 5Ô4ð%?ðPAð Að AðB „×ÒÐSÑTÔTØ„×ÒØ	àÐ¨°CÐ8Ñ8Ô8ØÐ¨!°°a¸TÈCÐPÑPÔPðð 	'Ð&ð ñ ô ð „×Ò˜ 7Ñ+Ô+ð'
ð '
ñ ,Ô+ñô ñ UÔTð'
ðT „×Ò˜ 6 6¨#¨#¨g©,¬,¸¸¸k¸]Ñ9KÔ9KÑ*KÑ#LÔ#LÑMÔMð1ð 1ñ NÔMð1ð* „×ÒØà %°À$ÐGÐGØ $¨uÀ$ÐGÐGØ %°À4ÐHÐHðñô ð*<ð *<ñô ð*<ðZ(Hð (Hð (HðV „×Ò˜¨5°$¨-Ñ8Ô8ð&Bð &Bñ 9Ô8ð&BðT „×ÒÐSÑTÔTØ„×Ò˜Ð(FÐ(FÐ(FÑGÔGØ„×Ò˜¨c°d¸sÐ*CÐ*CÀZÐ)PÑQÔQð!ð !ñ RÔQñ HÔGñ UÔTð!ð „×Ò˜ 7Ñ+Ô+Ø„×Ò˜¨.Ñ9Ô9ð4ð 4ñ :Ô9ñ ,Ô+ð4ð&Ið Ið Iðð ð ð2 „×ÒÐ)Ñ*Ô*ð-ð -ñ +Ô*ð-ð<&ð &ð &ð: „×Ò˜ 7Ñ+Ô+ð!ð !ñ ,Ô+ð!ð2(ð (ð (ð$ð ð ð ð rH   