Ë
    ÷Q(hcK ã                   ó¬  — 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mZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lmZ d dlmZ d dl m!Z" 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.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z?m@Z@mAZA ej„                  j‡                  d«      ZD ee"d ¬«      Z! ee$d ¬«      Z#dZEdd gd dgddggZFg d¢ZGg d¢ZH e«       ZId„ ZJej„                  j—                  deA«      d „ «       ZLd!„ ZMe=d"„ «       ZNej„                  j—                  deA«      d#„ «       ZOej„                  j‡                  d$«      ej„                  j—                  d% e! ePeIj¢                  «      d&d'¬(«       e! ePeIj¢                  «      d)¬*«       e! ePeIj¢                  «      d+¬*«       e! ePeIj¢                  «      d,d-d'd.¬/«       e! ePeIj¢                  «      d0d-d'd.¬/«       e! ePeIj¢                  «      d1¬*«      g«      d2„ «       «       ZRej„                  j‡                  d$«      ej„                  j—                  d3e!e#g«      d4„ «       «       ZSej„                  j—                  d3e!e#g«      d5„ «       ZTej„                  j‡                  d$«      ej„                  j—                  d6g d7¢«      d8„ «       «       ZUej„                  j‡                  d$«      d9„ «       ZVej„                  j—                  d:e@«      d;„ «       ZWd<„ ZXd=„ ZYd>„ ZZd?„ Z[d@„ Z\dA„ Z]dB„ Z^ej„                  j—                  dCdDdEgfdFdGdHgfdIdGdHgfdJdEgfdKdGdHgfg«      dL„ «       Z_dM„ Z`ej„                  j—                  deA«      dN„ «       Zaej„                  j‡                  d$«      dO„ «       ZbdP„ Zcej„                  j‡                  d$«      ej„                  j—                  dQdRdSg«      dT„ «       «       Zdej„                  j—                  dQdRdSg«      dU„ «       Zeej„                  j—                  dVdWdXdYœdWdXdZd[œg«      ej„                  j—                  d\dVd]g«      d^„ «       «       Zfej„                  j—                  d_d`«      ej„                  j—                  d6d«      da„ «       «       Zgej„                  j—                  d6db«      dc„ «       Zhdd„ Zide„ Zjej„                  j—                  ddf„ geAz   «      dg„ «       Zkdh„ Zldi„ Zmej„                  j—                  deA«      dj„ «       Znej„                  j—                  deA«      dk„ «       Zodl„ Zpdm„ Zqej„                  j—                  deA«      dn„ «       Zrej„                  j—                  dod.g«      ej„                  j—                  dpdqdrg«      ds„ «       «       Zsdt„ Ztej„                  j‡                  d$«      ej„                  j—                  du ejê                  ddv«      «      ej„                  j—                  dwd'dxg«      ej„                  j—                  dyg dz¢«      d{„ «       «       «       «       Zvej„                  j‡                  d$«      ej„                  j—                  d6eE«      d|„ «       «       Zwej„                  j—                  d6 ex eyeE«       eyd&d1g«      z
  «      «      ej„                  j—                  d}d~«      ej„                  j—                  dQd~«      d„ «       «       «       Zzej„                  j—                  deA«      d€„ «       Z{ej„                  j‡                  d$«      ej„                  j—                  dwd'dxg«      ej„                  j—                  d6g d�¢«      ej„                  j—                  dQdRdSg«      ej„                  j—                  deA«      d‚„ «       «       «       «       «       Z|dƒ„ Z}d„„ Z~ej„                  j—                  d…g d†¢«      ej„                  j—                  d‡dˆd‰g«      dŠ„ «       «       Zej„                  j—                  d…g d‹¢«      dŒ„ «       Z€ej„                  j—                  d… e�j                  d�dŽd�«      «      ej„                  j—                  d�g d‘¢«      d’„ «       «       Z‚ej„                  j—                  d“d”«      d•„ «       Zƒej„                  j‡                  d$«      d–„ «       Z„ej„                  j‡                  d$«      ej„                  j—                  dpd—«      ej„                  j—                  dwd˜«      d™„ «       «       «       Z…ej„                  j‡                  d$«      dš„ «       Z†d›„ Z‡ej„                  j—                  d… e�j                  d�dŽd�«      «      ej„                  j—                  d�g d‘¢«      dœ„ «       «       Zˆd�„ Z‰ej„                  j‡                  d$«      ej„                  j—                  dž e!d dŸ¬ «       e#d d¡d¡d¢dŸ¬£«      gd¤„ ¬¥«      ej„                  j—                  d6eE«      d¦„ «       «       «       ZŠej„                  j—                  d6 ex eyeE«       eyd&g«      z
  «      «      d§„ «       Z‹ej„                  j—                  d¨dqdRd©dªd«œdrdSd¬dªd«œdrdRd¬dªd«œg«      d­„ «       ZŒd®„ Z�ej„                  j‡                  d$«      ej„                  j—                  d6g d¯¢«      ej„                  j—                  dQdRdSg«      d°„ «       «       «       ZŽej„                  j‡                  d$«      ej„                  j—                  dwg d˜¢«      ej„                  j—                  d\d±d²d±d[œd]g«      d³„ «       «       «       Z�ej„                  j—                  d6eE«      ej„                  j—                  deA«      d´„ «       «       Z�dµ„ Z‘d¶„ Z’ edS¬·«      d¸„ «       Z“d¹„ Z”ej„                  j—                  d6eE«      dº„ «       Z•d»„ Z–d¼„ Z—d½„ Z˜y)¾é    N)Úpartial)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)Úsparse)ÚLinAlgWarningÚsvd)Úconfig_context)ÚHalfMultinomialLoss)Úclone)Ú	load_irisÚmake_classificationÚmake_low_rank_matrix)ÚConvergenceWarning)ÚSGDClassifier)ÚLogisticRegression)ÚLogisticRegressionCV)Ú_log_reg_scoring_pathÚ_logistic_regression_path)Ú
get_scorerÚlog_loss)ÚGridSearchCVÚLeaveOneGroupOutÚ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   r3   r3   )é   r3   r   c                 óê  — t        |«      }t        j                  |«      }|j                  d   }| j	                  ||«      j                  |«      }t        | j                  |«       |j                  |fk(  sJ ‚t        ||«       | j                  |«      }|j                  ||fk(  sJ ‚t        |j                  d¬«      t        j                  |«      «       t        |j                  d¬«      |«       y)z;Check that the model is able to fit the classification datar   r3   ©ÚaxisN)ÚlenÚnpÚuniqueÚshapeÚfitÚpredictr   Úclasses_Úpredict_probar   ÚsumÚonesÚargmax)ÚclfÚXÚyÚ	n_samplesÚclassesÚ	n_classesÚ	predictedÚprobabilitiess           úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/linear_model/tests/test_logistic.pyÚcheck_predictionsrL   ?   sÎ   € ä�A“€IÜ�i‰i˜‹l€GØ—‘˜aÑ €Ià—‘˜˜1“×%Ñ% aÓ(€IÜ�s—|‘| WÔ-à�?‰?˜y˜lÒ*Ð*Ð*Ü�y !Ô$à×%Ñ% aÓ(€MØ×Ñ 9¨iÐ"8Ò8Ð8Ð8Ü˜m×/Ñ/°QÐ/Ó7¼¿¹ÀÓ9KÔLÜ�}×+Ñ+°Ð+Ó3°QÕ7ó    Úcsr_containerc                 ó¤  — 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        «       y )Nr   r*   éd   )ÚCr+   F©Úfit_interceptr+   )rL   r   rD   ÚY1©rN   s    rK   Útest_predict_2_classesrV   Q   sŒ   € ô Ô(°aÔ8¼!¼RÔ@ÜÔ(°aÔ8¹-ÌÓ:JÌBÔOäÔ(¨3¸QÔ?ÄÄBÔGÜÔ(¨3¸QÔ?ÁÌqÓAQÔSUÔVäÔ(°uÈ1ÔMÌqÔRTÔUÜÜ¨¸QÔ?ÁÌqÓAQÔSUõrM   c                  ó’  —  G d„ d«      }  | «       }g d¢}d}t        |||¬«      }t        d¬«      \  }}|j                  ||«       |j                  d   |d   k(  sJ ‚|j                  |t        |«      z  k(  sJ ‚d|_        |j                  ||j                  |«      «      }||j                  d   k(  sJ ‚|j                  dk(  sJ ‚y )	Nc                   ó   — e Zd Zd„ Zdd„Zy)ú0test_logistic_cv_mock_scorer.<locals>.MockScorerc                 ó$   — d| _         g d¢| _        y )Nr   )çš™™™™™¹?gš™™™™™Ù?çš™™™™™é?ç      à?)ÚcallsÚscores)Úselfs    rK   Ú__init__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__init__c   s   € ØˆDŒJÚ.ˆD�KrM   Nc                 óŽ   — | j                   | j                  t        | j                   «      z     }| xj                  dz  c_        |S )Nr3   )r_   r^   r8   )r`   ÚmodelrD   rE   Úsample_weightÚscores         rK   Ú__call__z9test_logistic_cv_mock_scorer.<locals>.MockScorer.__call__g   s4   € Ø—K‘K §
¡
¬S°·±Ó-=Ñ =Ñ>ˆEØ�JŠJ˜!‰O�JØˆLrM   ©N)Ú__name__Ú
__module__Ú__qualname__ra   rf   © rM   rK   Ú
MockScorerrY   b   s   „ ò	/ô	rM   rl   )r3   r4   é   é   r4   )ÚCsÚscoringÚcvr   r*   r3   )	r   r   r<   ÚC_r^   r8   re   r=   r_   )rl   Úmock_scorerro   rq   ÚlrrD   rE   Úcustom_scores           rK   Útest_logistic_cv_mock_scorerrv   a   sÑ   € ÷ñ ñ “,€KÚ	€BØ	
€Bä	 ¨[¸RÔ	@€BÜ¨AÔ.�D€A€qØ‡F�Fˆ1ˆa„Lð �5‰5�‰8�r˜!‘uÒÐÐð ×Ñ ¤S¨£W¡Ò,Ð,Ð,ð €KÔØ—8‘8˜A˜rŸz™z¨!›}Ó-€Là˜;×-Ñ-¨aÑ0Ò0Ð0Ð0Ø×Ñ Ò!Ð!Ñ!rM   c                  ó>  — t         j                  j                  \  } }t         j                  t         j                     }t        dd¬«      }d}t        j                  t        |¬«      5  |j                  t         j                  |«       d d d «       y # 1 sw Y   y xY w)Nr-   r4   )ÚsolverÚn_jobsz\'n_jobs' > 1 does not have any effect when 'solver' is set to 'liblinear'. Got 'n_jobs' = 2.©Úmatch)
ÚirisÚdatar;   Útarget_namesÚtargetr   ÚpytestÚwarnsÚUserWarningr<   )rF   Ú
n_featuresr   rt   Úwarning_messages        rK   Útest_lr_liblinear_warningr…   ‚   su   € ä ŸI™IŸO™OÑ€IˆzÜ×ÑœtŸ{™{Ñ+€Fä	 ;°qÔ	9€Bð	ð ô
 
�‰”k¨Ô	9ñ "Ø
�‰Œt�y‰y˜&Ô!÷"÷ "ñ "ús   Á)!BÂBc                 óŒ   — t        t        d¬«      t        t        «       t        t        d¬«       | t        «      t        «       y )Né
   ©rQ   )rL   r   rD   ÚY2rU   s    rK   Útest_predict_3_classesrŠ   ‘   s+   € äÔ(¨2Ô.´´2Ô6ÜÔ(¨2Ô.±¼aÓ0@Ä"ÕErM   z5ignore:.*'multi_class' was deprecated.*:FutureWarningrC   r-   Úovr)rQ   rx   Úmulti_classr,   )rQ   rx   r.   r0   ç{®Gáz„?é*   )rQ   rx   ÚtolrŒ   r+   r1   r/   c                 óŒ  — t         j                  j                  \  }}t         j                  t         j                     }| j
                  dk(  rXt        j                  «       5  t        j                  dt        «       | j                  t         j                  |«       ddd«       n | j                  t         j                  |«       t        t        j                  |«      | j                  «       | j                  t         j                  «      }t        j                   ||k(  «      dkD  sJ ‚| j#                  t         j                  «      }t%        |j'                  d¬«      t        j(                  |«      «       t         j                  |j+                  d¬«         }t        j                   ||k(  «      dkD  sJ ‚y# 1 sw Y   ŒýxY w)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î?r3   r6   )r|   r}   r;   r~   r   rx   ÚwarningsÚcatch_warningsÚsimplefilterr   r<   r   r9   r:   r>   r=   Úmeanr?   r   r@   rA   rB   )rC   rF   rƒ   r   ÚpredrJ   s         rK   Útest_predict_irisr˜   ˜   sE  € ô4 !ŸI™IŸO™OÑ€IˆzÜ×ÑœtŸ{™{Ñ+€Fà
‡z�z�WÒä×$Ñ$Ó&ñ 	'Ü×!Ñ! (Ô,>Ô?Ø�G‰G”D—I‘I˜vÔ&÷	'ð 	'ð 	�‰”—	‘	˜6Ô"Ü”r—y‘y Ó(¨#¯,©,Ô7à�;‰;”t—y‘yÓ!€DÜ�7‰7�4˜6‘>Ó" TÒ)Ð)Ð)à×%Ñ%¤d§i¡iÓ0€MÜ�M×%Ñ%¨1Ð%Ó-¬r¯w©w°yÓ/AÔBä×Ñ˜]×1Ñ1°qÐ1Ó9Ñ:€DÜ�7‰7�4˜6‘>Ó" TÒ)Ð)Ñ)÷	'ð 	'ús   Á";F:Æ:GÚLRc                 óÀ  — t         j                  t         j                  }}dD ]H  }d|› d�} | |d¬«      }t        j                  t
        |¬«      5  |j                  ||«       d d d «       ŒJ dD ]H  }d|z  } | |d	d
¬«      }t        j                  t
        |¬«      5  |j                  ||«       d d d «       ŒJ dD ]H  }d|z  } | |dd
¬«      }t        j                  t
        |¬«      5  |j                  ||«       d d d «       ŒJ dD ]H  }d|› d�} | |d¬«      }t        j                  t
        |¬«      5  |j                  ||«       d d d «       ŒJ | t        u rCd} | d d¬«      }t        j                  t
        |¬«      5  |j                  ||«       d d d «       y y # 1 sw Y   �ŒˆxY w# 1 sw Y   �ŒHxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÇxY w# 1 sw Y   y xY w)N©r-   zSolver z( does not support a multinomial backend.Úmultinomial)rx   rŒ   rz   )r,   r.   r/   r0   z/Solver %s supports only 'l2' or None penalties,Úl1r‹   )rx   ÚpenaltyrŒ   ©r,   r.   r/   r0   r1   z1Solver %s supports only dual=False, got dual=TrueT)rx   ÚdualrŒ   z;Only 'saga' solver supports elasticnet penalty, got solver=ú.Ú
elasticnet)rx   rž   z6penalty=None is not supported for the liblinear solverr-   ©rž   rx   )r|   r}   r   r€   ÚraisesÚ
ValueErrorr<   r   )r™   rD   rE   rx   Úmsgrt   s         rK   Útest_check_solver_optionr§   É   së  € ô �9‰9”d—k‘k€q€Að  ò ˆØ˜�xÐGÐHˆÙ�v¨=Ô9ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�F‰F�1�aŒL÷	ð 	ðð Cò ˆØ?À&ÑHˆÙ�v t¸Ô?ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�F‰F�1�aŒL÷	ð 	ðð
 Kò ˆØAÀFÑJˆÙ�v D°eÔ<ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�F‰F�1�aŒL÷	ð 	ðð  ò ˆØKÈFÈ8ÐSTÐUˆÙ�v |Ô4ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�F‰F�1�aŒL÷	ð 	ðð 
ÔÑØFˆÙ˜ [Ô1ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�F‰F�1�aŒL÷	ð 	ð  ÷5	ñ 	ú÷	ñ 	ú÷
	ñ 	ú÷	ð 	ú÷	ð 	ús<   ÁF!ÂF.Ã+F;Ä8GÆGÆ!F+	Æ.F8	Æ;G	ÇG	ÇGc                 óø   —  | dd¬«      }t        j                  t        d¬«      5  |j                  t	        j
                  ddgdd	gg«      t	        j
                  d
dg«      «       d d d «       y # 1 sw Y   y xY w)Nr¢   r1   r£   z.*l1_ratio.*rz   r3   r4   rm   rn   r   )r€   r¤   r¥   r<   r9   Úarray)r™   rc   s     rK   Ú$test_elasticnet_l1_ratio_err_helpfulrª   ó   sh   € ñ �|¨FÔ3€EÜ	�‰”z¨Ô	9ñ @Ø�	‰	”"—(‘(˜Q ˜F Q¨ FÐ+Ó,¬b¯h©h¸¸1°vÓ.>Ô?÷@÷ @ñ @ús   ¦AA0Á0A9rx   ©r,   r.   r0   r1   c                 ó  — t         j                  dkD  j                  t        j                  «      }t        j
                  ddg«      |   }t        | ddd¬«      }|j                  t         j                  |«       |j                  j                  dt         j                  j                  d   fk(  sJ ‚|j                  j                  d	k(  sJ ‚t        |j                  t         j                  «      |«       t        | ddd
¬«      }|j                  t         j                  |«       |j                  t        j                  |j!                  t         j                  «      d¬«         }t        j"                  ||k(  «      dkD  sJ ‚y )Nr   Úsetosaz
not-setosarœ   rŽ   éÐ  )rx   rŒ   r+   Úmax_iterr3   ©r3   F)rx   rŒ   r+   rS   r6   çÍÌÌÌÌÌì?)r|   r   Úastyper9   Úintpr©   r   r<   r}   Úcoef_r;   Ú
intercept_r   r=   r>   rB   Úpredict_log_probar–   )rx   r   rC   Úmlrr—   s        rK   Útest_multinomial_binaryr¸   ý   s!  € ô �k‰k˜A‰o×%Ñ%¤b§g¡gÓ.€FÜ�X‰X�x Ð.Ó/°Ñ7€Fä
Ø =¸rÈDô€Cð ‡G�GŒD�I‰I�vÔà�9‰9�?‰?˜q¤$§)¡)§/¡/°!Ñ"4Ð5Ò5Ð5Ð5Ø�>‰>×Ñ 4Ò'Ð'Ð'Ü�s—{‘{¤4§9¡9Ó-¨vÔ6ä
Ø =¸rÐQVô€Cð ‡G�GŒD�I‰I�vÔØ�<‰<œŸ	™	 #×"7Ñ"7¼¿	¹	Ó"BÈÔKÑL€DÜ�7‰7�4˜6‘>Ó" SÒ(Ð(Ñ(rM   c                 ót  — t        | ¬«      \  }}t        ddd| ¬«      }|j                  ||«       |j                  |«      }|j	                  |«      }t        j                  |«      t        j                  |«      t        j                  | «      z   z  }t
        j                  d|z
  |f   }t        ||«       y )Nr*   rœ   r1   çü©ñÒMbP?)rŒ   rx   r�   r+   r3   )	r   r   r<   Údecision_functionr?   r9   ÚexpÚc_r   )Úglobal_random_seedrD   rE   rC   ÚdecisionÚprobaÚexpected_proba_class_1Úexpected_probas           rK   Ú%test_multinomial_binary_probabilitiesrÃ     s©   € ô Ð,>Ô?�D€A€qÜ
Ø!ØØØ'ô	€Cð ‡G�GˆAˆq„Mà×$Ñ$ QÓ'€HØ×Ñ˜aÓ €EäŸV™V HÓ-´·±¸Ó1AÄBÇFÁFÈHÈ9ÓDUÑ1UÑVÐÜ—U‘U˜1Ð5Ñ5Ð7MÐMÑN€Nä˜˜~Õ.rM   Úcoo_containerc                 óL  — t         j                  j                  \  }}t         j                  t         j                     }t        t         j                  «      }t        d¬«      j                  ||«      }|j                  |«      }|j                  «        t        j                  |j                  «      sJ ‚|j                  |«      } | |«      }|j                  |«      }	|j                  «        |j                  |«      }
t        ||«       t        ||	«       t        ||
«       y ©Nr   r*   )r|   r}   r;   r~   r   r!   r   r<   r»   Úsparsifyr   Úissparser´   Údensifyr   )rÄ   rF   rƒ   r   rD   rC   Úpred_d_dÚpred_s_dÚsp_dataÚpred_s_sÚpred_d_ss              rK   Útest_sparsifyrÏ   .  sß   € ô !ŸI™IŸO™OÑ€IˆzÜ×ÑœtŸ{™{Ñ+€FÜŒd�i‰iÓ€AÜ
¨!Ô
,×
0Ñ
0°°FÓ
;€Cà×$Ñ$ QÓ'€Hà‡L�L„NÜ�?‰?˜3Ÿ9™9Ô%Ð%Ð%Ø×$Ñ$ QÓ'€Há˜AÓ€GØ×$Ñ$ WÓ-€Hà‡K�K„MØ×$Ñ$ WÓ-€Hä˜h¨Ô1Ü˜h¨Ô1Ü˜h¨Õ1rM   c                  ó  — t         j                  j                  d«      } | j                  d«      }t        j                  |j
                  d   «      }d|d<   t        d¬«      }|d d }t        j                  t        «      5  |j                  t        |«       d d d «       t        j                  t        «      5  |j                  ||«      j                  | j                  d«      «       d d d «       y # 1 sw Y   Œ\xY w# 1 sw Y   y xY w)Nr   )é   r‡   r*   r2   )rm   é   )r9   ÚrandomÚRandomStateÚrandom_samplerA   r;   r   r€   r¤   r¥   r<   rD   r=   )ÚrngÚX_Úy_rC   Úy_wrongs        rK   Útest_inconsistent_inputrÚ   G  sÖ   € ä
�)‰)×
Ñ
 Ó
"€CØ	×	Ñ	˜7Ó	#€BÜ	�‰�—‘˜!‘Ó	€BØ€B€q�Eä
¨!Ô
,€Cð ��"ˆg€Gä	�‰”zÓ	"ñ Ø�‰”�7Ô÷ô 
�‰”zÓ	"ñ <Ø�‰��B‹×Ñ × 1Ñ 1°'Ó :Ô;÷<ð <÷	ð ú÷<ð <ús   ÂC4Â:1D Ã4C=Ä D	c                  óÊ   — t        d¬«      } | j                  t        t        «       d| j                  d d  d| j
                  d d  t        | j                  t        «      d«       y rÆ   )r   r<   rD   rT   r´   rµ   r   r»   ©rC   s    rK   Útest_write_parametersrÝ   [  sI   € ä
¨!Ô
,€CØ‡G�GŒAŒr„NØ€C‡I�I‰a€LØ€C‡N�N‘1ÐÜ˜c×3Ñ3´AÓ6¸Õ:rM   c                  ó  — t        j                  t        t         j                  ¬«      } t         j                  | d<   t        d¬«      }t        j                  t        «      5  |j                  | t        «       d d d «       y # 1 sw Y   y xY w)N©Údtype©r   r3   r   r*   )r9   r©   rD   Úfloat64Únanr   r€   r¤   r¥   r<   rT   )ÚXnanÚlogistics     rK   Útest_nanræ   d  s^   € ô �8‰8”AœRŸZ™ZÔ(€DÜ—‘€Dˆ�JÜ!¨qÔ1€Hä	�‰”zÓ	"ñ Ø�‰�Tœ2Ô÷÷ ñ ús   Á"BÂBc                  óV  — t         j                  j                  d«      } t        j                  | j	                  dd«      ddgz   | j	                  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 ]W  \  }}	t        |	d	d
|dd¬«      }
|
j                  ||«       |
j                  j                  «       }t        |||   dd|z  ¬«       ŒY Œ‡ dD ]•  }dg}  |t        «      |||d|dd¬«      \  }}}t        |d   ddd|¬«      }
|
j                  ||«       t        j                  |
j                  j                  «       |
j                  g«      }t        ||d   dd|z  ¬«       Œ— y )Nr   rP   r4   r3   r2   rn   r‡   ©r0   r1   Fçñhãˆµøä>éè  )ro   rS   r�   rx   r¯   r+   )rQ   rS   r�   rx   r+   r¯   zwith solver = %s)ÚdecimalÚerr_msg)r,   r.   r/   r-   r0   r1   ç     @�@ç�íµ ÷Æ°>ç     ˆÃ@)ro   r�   rx   Úintercept_scalingr+   )rQ   r�   rð   r+   rx   )r9   rÓ   rÔ   ÚconcatenateÚrandnÚlogspacer%   r   Ú	enumerater   r<   r´   Úravelr   rµ   )rÖ   rD   rE   ro   Úfrx   ÚcoefsÚ_ÚirQ   rt   Úlr_coefs               rK   Útest_consistency_pathrû   o  sÖ  € ä
�)‰)×
Ñ
 Ó
"€CÜ
�‰˜Ÿ	™	 # qÓ)¨Q°¨FÑ2°C·I±I¸cÀ1Ó4EÐFÓG€AØ	
ˆˆc‰	�R�D˜3‘JÑ€AÜ	�‰�Q˜˜2Ó	€Bä€Að "ò ˆØ3‘qÔ2Ó3ØØØØØØØØô	
‰ˆˆr�1ô ˜b“Mò 	‰DˆAˆqÜ#ØØ#ØØØØôˆBð �F‰F�1�aŒLØ—h‘h—n‘nÓ&ˆGÜ%Ø˜˜q™¨1Ð6HÈ6Ñ6Qöñ	ðð6 Xò 
ˆØˆUˆØ3‘qÔ2Ó3ØØØØØØ%Øô
‰ˆˆr�1ô  Ø�‰eØØ%ØØô
ˆð 	�‰ˆq�!ŒÜ—.‘. "§(¡(§.¡.Ó"2°B·M±MÐ!BÓCˆÜ!Ø�U˜1‘X qÐ2DÀvÑ2Mö	
ñ)
rM   c            
      óâ  — t         j                  j                  d«      } t        j                  | j	                  dd«      ddgz   | j	                  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 «       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 ‚y # 1 sw Y   ŒNxY w)Nr   rP   r4   r3   r2   rí   ç        )ro   r�   r¯   r+   Úverboseúlbfgs failed to convergez!Increase the number of iterationszscale the dataz%linear_model.html#logistic-regression)r9   rÓ   rÔ   rñ   rò   r€   r�   r   r   r8   ÚmessageÚargs)rÖ   rD   rE   ro   ÚrecordÚwarn_msgs         rK   Ú.test_logistic_regression_path_convergence_failr  ­  s  € Ü
�)‰)×
Ñ
 Ó
"€CÜ
�‰˜Ÿ	™	 # qÓ)¨Q°¨FÑ2°C·I±I¸cÀ1Ó4EÐFÓG€AØ	
ˆˆc‰	�R�D˜3‘JÑ€AØ
ˆ€Bô
 
�‰Ô(Ó	)ð 
¨VÜ!Øˆq�R˜S¨1¸1Àaõ	
÷
ô
 ˆv‹;˜!ÒÐÐØ�a‰y× Ñ ×%Ñ% aÑ(€HØ%¨Ñ1Ð1Ð1Ø.°(Ñ:Ð:Ð:Ø˜xÑ'Ð'Ð'Ø2°hÑ>Ð>Ñ>÷
ð 
ús   ÂC%Ã%C.c                  óÎ  — t        dd¬«      \  } }t        dddd¬«      }|j                  | |«       t        dddd¬«      }|j                  | |«       t        dddd¬«      }|j                  | |«       t        |j                  |j                  «       d	}t        j                  t        |¬
«      5  t        |j                  |j                  «       d d d «       y # 1 sw Y   y xY w)Né   r   ©rF   r+   Trº   r-   )r+   r    r�   rx   é   z)Arrays are not almost equal to 6 decimalsrz   )r   r   r<   r   r´   r€   r¤   ÚAssertionError)rD   rE   Úlr1Úlr2Úlr3r¦   s         rK   Ú test_liblinear_dual_random_stater  Ã  sÏ   € ä¨¸!Ô<�D€A€qÜ
ØØØØô	€Cð ‡G�GˆAˆq„MÜ
ØØØØô	€Cð ‡G�GˆAˆq„MÜ
ØØØØô	€Cð ‡G�GˆAˆq„Mô ˜cŸi™i¨¯©Ô3à
5€CÜ	�‰”~¨SÔ	1ñ 8Ü! #§)¡)¨S¯Y©YÔ7÷8÷ 8ñ 8ús   Â1!CÃC$c                  ó  — d\  } }t         j                  j                  d«      }|j                  | |«      }t        j                  |j                  d|j                  |«      z  «      «      }||j                  «       z  }||j                  «       z  }t        dgddd¬«      }|j                  ||«       t        ddd¬	«      }|j                  ||«       t        |j                  |j                  «       t        |j                  j                  d
|f«       t        |j                  dd
g«       t!        |j                  «      dk(  sJ ‚t        j"                  t%        |j&                  j)                  «       «      «      }t        |j                  d
dd
|f«       t        |j*                  j                  d«       t        j"                  t%        |j,                  j)                  «       «      «      }t        |j                  d«       y )N)é2   rÑ   r   rÑ   ç      ð?Fr-   rm   )ro   rS   rx   rq   )rQ   rS   rx   r3   r2   r4   r°   )r3   rm   r3   )r9   rÓ   rÔ   rò   ÚsignÚdotr–   Ústdr   r<   r   r   r´   r   r;   r>   r8   ÚasarrayÚlistÚcoefs_paths_ÚvaluesÚCs_Úscores_)	rF   rƒ   rÖ   ÚX_refrE   Úlr_cvrt   Úcoefs_pathsr_   s	            rK   Útest_logistic_cvr  ä  s„  € à!Ñ€IˆzÜ
�)‰)×
Ñ
 Ó
"€CØ�I‰I�i Ó,€EÜ
�‰�—	‘	˜!˜cŸi™i¨
Ó3Ñ3Ó4Ó5€AØ	ˆU�Z‰Z‹\Ñ€EØ	ˆU�Y‰Y‹[Ñ€EÜ Øˆ5 ¨k¸aô€Eð 
‡I�Iˆe�QÔÜ	˜c°¸{Ô	K€BØ‡F�Fˆ5�!ÔÜ˜bŸh™h¨¯©Ô4ä�u—{‘{×(Ñ(¨1¨j¨/Ô:Ü�u—~‘~¨¨A wÔ/Üˆu�~‰~Ó !Ò#Ð#Ð#ä—*‘*œT %×"4Ñ"4×";Ñ";Ó"=Ó>Ó?€KÜ�{×(Ñ(¨1¨a°°JÐ*?Ô@Ü�u—y‘y—‘¨Ô-Ü�Z‰Zœ˜UŸ]™]×1Ñ1Ó3Ó4Ó5€FÜ�v—|‘| YÕ/rM   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¬«      }|j	                  «       }d	D ]  }||= Œ |j                  ||   ||   «       |D ]J  }	t        | |	z   «      }
t        t        ||||fdg|
d d d d d
œ|ddiz  ¤Žd   d    |
|||   ||   «      «       ŒL y )NrP   r   rm   é   )rF   r+   rH   Ún_informativeéP   r  rˆ   )rQ   ry   Ú
warm_start)ro   rp   Ú	pos_classÚmax_squared_sumrd   Úscore_paramsrŒ   rœ   r4   )	r   r9   Úaranger   Ú
get_paramsr<   r   r   r   )rp   Úmulticlass_agg_listrD   rE   ÚtrainÚtestrt   ÚparamsÚkeyÚ	averagingÚscorers              rK   Ú"test_logistic_cv_multinomial_scorer7  ÿ  s  € ô& Ø A°À!ô�D€A€qô —)‘)˜B“-¤§¡¨2¨sÓ!3ˆ4€EÜ	˜cÔ	"€Bà�]‰]‹_€Fà,ò ˆØ�3‰Kðà‡F�Fˆ1ˆU‰8�Q�u‘XÔØ(ò 
ˆ	Ü˜G iÑ/Ó0ˆÜ!Ü!ØØØØð	ð
 �5ØØØ $Ø"Ø!ñð ˜]¨MÐ:Ñ:ñð ñð ññ �2�q˜‘w  $¡Ó(õ	
ñ
rM   c                  óB  — d\  } }}t        | ||dd¬«      \  }}t        «       j                  g d¢«      j                  |«      }t	        j
                  |«      dz
  }t        «       }t        d¬«      }t        «       }t        d¬«      }	|j                  ||«       |j                  ||«       |j                  ||«       |	j                  ||«       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                  |j                  |«      «      «      g d¢k(  sJ ‚t        t	        j                  |	j                  |«      «      «      g d¢k(  sJ ‚t        ddddœ¬	«      j                  ||«      }	t        t	        j                  |	j                  |«      «      «      d
dgk(  sJ ‚y )N)r  rÑ   rm   rm   r   )rF   rƒ   rH   r(  r+   )ÚbarÚbazÚfoor3   )ro   r4   )Úclass_weightr9  r:  )r   r   r<   Úinverse_transformr9   r©   r   r   r   r´   Úsortedr>   r:   r=   )
rF   rƒ   rH   r  rE   Úy_strrt   r  Úlr_strÚ	lr_cv_strs
             rK   Ú2test_multinomial_logistic_regression_string_inputsrB  1  sÆ  € à'/Ñ$€Iˆz˜9Ü"ØØØØØô�H€Eˆ1ô ‹N×ÑÒ4Ó5×GÑGÈÓJ€Eä
�‰�‹�a‰€Aä	Ó	€BÜ  AÔ&€EÜÓ!€FÜ$¨Ô*€Ià‡F�Fˆ5�!ÔØ	‡I�Iˆe�QÔØ
‡J�Jˆu�eÔØ‡M�M�%˜Ôä˜bŸh™h¨¯©Ô5Ü�&—/‘/Ó"Ò&;Ò;Ð;Ð;Ü˜eŸk™k¨9¯?©?Ô;Ü�&—/‘/Ó"Ò&;Ò;Ð;Ð;Ü�)×$Ñ$Ó%Ò)>Ò>Ð>Ð>ô ”"—)‘)˜FŸN™N¨5Ó1Ó2Ó3Ò7LÒLÐLÐLÜ”"—)‘)˜I×-Ñ-¨eÓ4Ó5Ó6Ò:OÒOÐOÐOô #¸À!ÈAÑ0NÔO×SÑSØˆuó€Iô ”"—)‘)˜I×-Ñ-¨eÓ4Ó5Ó6¸5À%¸.ÒHÐHÑHrM   c                 ól  — t        ddd¬«      \  }}d||dk  <    | |«      }t        «       }|j                  ||«       t        «       }|j                  ||«       t        |j                  |j                  «       t        |j
                  |j
                  «       |j                  |j                  k(  sJ ‚y )Nr  rÑ   r   ©rF   rƒ   r+   rý   r  )r   r   r<   r   r´   rµ   rr   )rN   rD   rE   ÚcsrrC   Úclfss         rK   Útest_logistic_cv_sparserG  Z  s�   € ä¨¸ÈÔJ�D€A€qØ€A€aˆ#�g�JÙ
˜Ó
€Cä
Ó
 €CØ‡G�GˆAˆq„MÜÓ!€DØ‡H�HˆS�!ÔÜ˜dŸj™j¨#¯)©)Ô4Ü˜dŸo™o¨s¯~©~Ô>Ø�7‰7�c—f‘fÒÐÑrM   c                  ó  — t         j                  t         j                  }} | j                  \  }}d}t	        |«      }t        |j                  | |«      «      }t        |d¬«      }|j                  | |«       t        |d¬«      }|j                  «       }	d|	|	dk(  <   |j                  | |	«       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)                  «       «      «      }
|
j                  d|d|dz   fk(  sJ ‚|j*                  j                  d	k(  sJ ‚t        j$                  t        |j                  j)                  «       «      «      }|j                  d|dfk(  sJ ‚d
D �]h  }|dv rdnd}t        ||d|dv rdndd¬«      }|dk(  rt-        | «      } |j                  | |«       |j/                  | |«      }|j/                  | |«      }||kD  sJ ‚|j                  j                  |j                  j                  k(  sJ ‚t!        |j"                  g d¢«       t        j$                  t        |j&                  j)                  «       «      «      }
|
j                  d|d|dz   fk(  sJ ‚|j*                  j                  d	k(  sJ ‚t        j$                  t        |j                  j)                  «       «      «      }|j                  d|dfk(  r�ŒiJ ‚ y )Nr4   r‹   )rq   rŒ   r3   r   rm   ©r   r3   r4   r‡   )r‡   r«   rè   éô  é   rŽ   rº   r�   )rx   r¯   r+   r�   rq   r,   )r|   r}   r   r;   r   r  Úsplitr   r<   Úcopyr   r  rµ   r´   r9   Únewaxisr   r>   r  r  r  r  r!   re   )r1  r   rF   rƒ   Ún_cvrq   Úprecomputed_foldsrC   Úclf1Útarget_copyr  r_   rx   r¯   Ú	clf_multiÚmulti_scoreÚ	ovr_scores                    rK   Útest_ovr_multinomial_irisrV  k  s  € ô —I‘IœtŸ{™{ˆ6€EØ!ŸK™KÑ€Iˆzð
 €DÜ	˜Ó	€BÜ˜RŸX™X e¨VÓ4Ó5Ðô Ð"3ÀÔ
G€CØ‡G�GˆE�6Ôô  Ð#4À%ÔH€DØ—+‘+“-€KØ$%€K�˜qÑ Ñ!Ø‡H�HˆU�KÔ ô �C—K‘K ‘N D§L¡L°¡OÔ4Ü�C—N‘N 1 2Ð&¨¯©Ô8Ü�C—I‘I˜a‘L¤§¡ªQ Ñ/°·±Ô<ð �9‰9�?‰?˜q *˜oÒ-Ð-Ð-Ü�s—|‘|¢YÔ/Ü—*‘*œT #×"2Ñ"2×"9Ñ"9Ó";Ó<Ó=€KØ×Ñ  D¨"¨j¸1©nÐ =Ò=Ð=Ð=Ø�7‰7�=‰=˜EÒ!Ð!Ð!Ü�Z‰Zœ˜SŸ[™[×/Ñ/Ó1Ó2Ó3€FØ�<‰<˜A˜t R˜=Ò(Ð(Ð(ð 8ó -ˆØ  OÑ3‘3¸ˆÜ(ØØØØ /Ñ1‘°tØô
ˆ	ð �WÒä˜%“LˆEà�‰�e˜VÔ$Ø—o‘o e¨VÓ4ˆØ—I‘I˜e VÓ,ˆ	Ø˜YÒ&Ð&Ð&ð �y‰y�‰ )§/¡/×"7Ñ"7Ò7Ð7Ð7Ü˜9×-Ñ-ªyÔ9Ü—j‘j¤ i×&<Ñ&<×&CÑ&CÓ&EÓ!FÓGˆØ× Ñ  Q¨¨b°*¸q±.Ð$AÒAÐAÐAØ�}‰}×"Ñ" eÒ+Ð+Ð+Ü—‘œD ×!2Ñ!2×!9Ñ!9Ó!;Ó<Ó=ˆØ�|‰|  4¨˜}Ô,Ð,Ð,ñ3-rM   c            	      ó6  — t        ddd¬«      \  } }t        dd¬«      }t        D �ci c]   }|t        dd|i|¤Žj	                  | |«      “Œ" }}t        j                  |d	¬
«      D ]-  \  }}t        ||   j                  ||   j                  d¬«       Œ/ yc c}w )z)Test solvers converge to the same result.r‡   rÑ   r   )rƒ   r(  r+   FrŽ   rR   rx   r4   ©Úrrm   ©rë   Nrk   )	r   ÚdictÚSOLVERSr   r<   Ú	itertoolsÚcombinationsr   r´   )rD   rE   r3  rx   Ú
regressorsÚsolver_1Úsolver_2s          rK   Ú test_logistic_regression_solversrb  ®  s¬   € ä¨"¸AÈAÔN�D€A€qä °BÔ7€Fô öàð 	Ô"Ñ;¨&Ð;°FÑ;×?Ñ?ÀÀ1ÓEÑEð€Jð ô
 (×4Ñ4°ZÀ1ÔEò 
Ñˆ�(Ü!Ø�xÑ ×&Ñ&¨
°8Ñ(<×(BÑ(BÈAö	
ñ
ùòs   §%BrS   FTc                 ó8  — t        ddddd¬«      \  }}d}t        | |d¬«      }d	d
d
dœ}t        t        «      t        dg«      z
  D �ci c]1  }|t	        d||j                  |d«      dœ|¤Žj                  ||«      “Œ3 }}t        j                  |d¬«      D ]|  \  }}	t        ||   j                  ||	   j                  |dk(  s|	dk(  rdnd|› d|	› �¬«       | sŒCt        ||   j                  ||	   j                  |dk(  s|	dk(  rdnd|› d|	› �¬«       Œ~ yc c}w )zATest solvers converge to the same result for multiclass problems.r  r‡   rm   r   ©rF   rƒ   r(  rH   r+   ç:Œ0âŽyE>rŽ   )rS   r�   r+   éÈ   é'  ©r,   r0   r1   r-   rP   ©rx   r¯   r4   rX  r1   ç{®Gázt?rº   ú vs ©Úrtolrì   Nrk   )r   r[  Úsetr\  r   Úgetr<   r]  r^  r   r´   rµ   )
rS   rD   rE   r�   r3  Úsolver_max_iterrx   r_  r`  ra  s
             rK   Ú+test_logistic_regression_solvers_multiclassrq  À  s`  € ô Ø °2ÀÐQRô�D€A€qð €CÜ °3ÀRÔH€Fð !$¨F¸FÑC€Oô œ'“l¤S¨+¨Ó%7Ñ7ö	ð ð 	Ô"ð 
Ø O×$7Ñ$7¸ÀÓ$Dñ
ØHNñ
ç
‰#ˆa�‹)ñ	ð€Jð ô (×4Ñ4°ZÀ1ÔEò Ñˆ�(ÜØ�xÑ ×&Ñ&Ø�xÑ ×&Ñ&Ø" fÒ,°¸FÒ0B‘ÈØ�j  X JÐ/õ		
ò ÜØ˜8Ñ$×/Ñ/Ø˜8Ñ$×/Ñ/Ø&¨&Ò0°HÀÒ4F‘TÈTØ#˜* D¨¨
Ð3ö	ñùòs   Á6Dc                 ó  — t        j                  dd¬«       d\  }}}t        j                  j	                  |«      }t        ||| z   || z   d|¬«      }| r	d|dd…d	f<   t        |«      \  }}}	t        j                  |d
kD  «      sJ ‚t        j                  |«      t        j                  |«      z  dk  sJ ‚| r|dd…dd	…f   }|j                  dd||z  ¬«      }
|
j                  ||«      }
|j                  d	d|¬«      | z  }||
j                  z  |z   }t        |¬«      }|j                  j                  |«      }t        j                   |«      }t#        |«      D ]5  }t        j$                  |j'                  d||dd…f   ¬«      «      d   ||<   Œ7 d}t)        | d¬«      }ddddœ}dddœ}t+        t,        «      t+        dg«      z
  D �ci c]Q  }|t/        d&t        j0                  ||j3                  ||«      |j3                  |d«      dœ|¤Žj5                  ||«      “ŒS }}|j7                  «       D ].  }t9        ||   j:                  j=                  d¬«      dd|¬«       Œ0 t?        j@                  |d¬ «      D ]|  \  }}t9        ||   j:                  ||   j:                  |d!k(  s|d!k(  rd"nd#|› d$|› �¬%«       | sŒCt9        ||   jB                  ||   jB                  |d!k(  s|d!k(  rd"nd
|› d$|› �¬%«       Œ~ yc c}w )'zGTest and compare solver results for unpenalized multinomial multiclass.Únumpyz1.22.0)Ú
minversion)rP   rn   rm   r[   )rF   rƒ   Úeffective_rankÚtail_strengthr+   r3   Nr2   rº   rP   rm   )ÚlowÚhighÚsize)rH   )ÚnÚpvals)r   r   g•Ö&è.>rŽ   rR   rf  rg  rh  re  rè   r-   )rQ   rx   r�   r¯   r   r6   ç»½×Ùß|Û=)Úatolrì   r4   rX  r1   rj  gü©ñÒMb`?rk  rl  rk   )"r€   Úimportorskipr9   rÓ   rÔ   r   r
   ÚallÚmaxÚminÚuniformÚreshapeÚTr   ÚlinkÚinverseÚzerosÚrangeÚargwhererœ   r[  rn  r\  r   Úinfro  r<   Úkeysr   r´   r@   r]  r^  rµ   )rS   r¾   rF   rƒ   rH   rÖ   rD   ÚUÚsÚVtÚcoefÚ	interceptÚraw_predictionÚlossrÀ   rE   rù   r�   r3  rp  Ú
solver_tolrx   r_  r`  ra  s                            rK   Ú7test_logistic_regression_solvers_multiclass_unpenalizedr”  å  s,  € ô ×Ñ˜¨HÕ5à'0Ñ$€Iˆz˜9Ü
�)‰)×
Ñ
Ð 2Ó
3€CÜØØ Ñ-Ø! MÑ1ØØô	€Añ ØˆŠ!ˆRˆ%‰Ü�1‹v�H€A€qˆ"Ü�6‰6�!�d‘(ÔÐÐÜ�6‰6�!‹9”r—v‘v˜a“yÑ  3Ò&Ð&Ð&ÙØŠa��"�ˆf‰IˆØ�;‰;˜1 1¨:¸	Ñ+Aˆ;ÓB€DØ�<‰<˜	 :Ó.€DØ—‘ ¨°�Ó;¸mÑK€IØ˜Ÿ™‘Z )Ñ+€Nä¨Ô3€DØ�I‰I×Ñ˜nÓ-€Eä
�‰�Ó€AÜ�9Óò JˆÜ�{‰{˜3Ÿ?™?¨Q°e¸Aºq¸D±k˜?ÓBÓCÀDÑIˆˆ!ŠðJð €CÜ ¸BÔ?€FØ #¨F¸FÑC€OØ tÑ,€Jô œ'“l¤S¨+¨Ó%7Ñ7ö	ð ð 	Ô"ð 
Ü�f‰fØØ—‘˜v sÓ+Ø$×(Ñ(¨°Ó5ñ	
ð
 ñ
÷ ‰#ˆa�‹)ñ	ð	€Jð 	ð —/‘/Ó#ò 
ˆäØ�vÑ×$Ñ$×(Ñ(¨aÐ(Ó0°!¸%Èö	
ð
ô (×4Ñ4°ZÀ1ÔEò Ñˆ�(ÜØ�xÑ ×&Ñ&Ø�xÑ ×&Ñ&Ø" fÒ,°¸FÒ0B‘ÈØ�j  X JÐ/õ		
ò ÜØ˜8Ñ$×/Ñ/Ø˜8Ñ$×/Ñ/Ø&¨&Ò0°HÀÒ4F‘TÈTØ#˜* D¨¨
Ð3ö	ñùò!	s   ÇAK=Úweightr[   gš™™™™™É?rá   r]   rI  r<  Úbalancedc           	      óü  — t        | «      }|dk(  r| }t        ddddd||¬«      \  }}t        dd|d¬	«      }t        dd
di|¤Ž}t	        t
        ¬«      5  |j                  ||«       ddd«       t        t        «      t        g d¢«      z
  D ]b  }t        dd
|i|¤Ž}	|dv r|	j                  dd|dz   ¬«       |	j                  ||«       t        |	j                  |j                  d|› d�¬«       Œd y# 1 sw Y   ŒŒxY w)z+Test class_weight for LogisticRegressionCV.r•  rK  rm   r   )rF   rƒ   Ú
n_repeatedr(  Ún_redundantrH   r+   r3   Fre  )ro   rS   r<  r�   rx   r,   ©ÚcategoryN)r,   r-   r/   rè   g¬CÒÑ]r2<rg  )r�   r¯   r+   rº   z	 vs lbfgsrl  rk   )r8   r   r[  r   r%   r   r<   rn  r\  Ú
set_paramsr   r´   )
r•  r<  r¾   rH   rD   rE   r3  Ú	clf_lbfgsrx   rC   s
             rK   Ú(test_logistic_regressioncv_class_weightsrž  -  s  € ô �F“€IØ�xÒØˆäØØØØØØØ'ô�D€A€qô ØØØ!Øô	€Fô %Ñ>¨GÐ>°vÑ>€Iô 
Ô"4Ô	5ñ Ø�‰�a˜Ô÷ô ”g“,¤Ò%NÓ!OÑOò 

ˆÜ"Ñ;¨&Ð;°FÑ;ˆØ�_Ñ$Ø�N‰NØ EÐ8JÈQÑ8Nð ô ð 	�‰��1ŒäØ�I‰I�y—‘¨T¸f¸XÀYÐ;Oö	
ñ

÷ð ús   ÁC2Ã2C;Úproblem)Úsinglerq   c                 óâ  — d}d}t        ||z  dddd|¬«      \  }}t        j                  j                  |«      }t        j                  |j
                  d   «      }|d|j                  d«      rd	nd
ddœ}	|	j                  «       }
|j                  dd|¬«      |d | t        j                  ||j                  t        «      d¬«      }t        j                  ||j                  t        «      d¬«      }| dk(  rt        }nú| dk(  rõt        }t        j                  t        j                  |d«      t        j                  |d«      t        j                  |d«      g«      }t!        t#        «       j%                  ||¬«      «      }|	j'                  d|dœ«       t        j                  ||j                  t        «      d¬«      }t!        t#        «       j%                  ||¬«      «      }|
j'                  d|dœ«        dd|i|	¤Ž} |dd|i|
¤Ž}|dk(  r^t)        j*                  «       5  t)        j,                  dt.        «       |j1                  |||¬«       |j1                  ||«       d d d «       n&|j1                  |||¬«       |j1                  ||«       | dk(  r&t3        |j4                  d   |j4                  d   «       t3        |j6                  |j6                  d¬«       y # 1 sw Y   ŒWxY w)Nrf  rm   rÑ   r4   r   )rF   rƒ   r(  rH   r™  r+   Fr0   é † rê   re  ©r+   rS   r¯   r�   ©ry  r6   r   rq   r3   )ÚgroupsrP   )ro   rq   rx   r,   r‘   ©rd   ré   ©r}  rk   )r   r9   rÓ   rÔ   rA   r;   Ú
startswithrM  ÚrandintÚrepeatr²   Úintr   r   rñ   Úfullr  r   rL  Úupdater“   r”   r•   r   r<   r   r  r´   )rŸ  rx   r¾   Ún_samples_per_cv_groupÚn_cv_groupsrD   rE   rÖ   ÚswÚkw_weightedÚkw_repeatedÚ
X_repeatedÚ
y_repeatedr™   Úgroups_weightedÚsplits_weightedÚgroups_repeatedÚsplits_repeatedÚclf_sw_weightedÚclf_sw_repeateds                       rK   Ú'test_logistic_regression_sample_weightsr»  ]  s²  € ð
 !ÐØ€KäØ(¨;Ñ6ØØØØØ'ô�D€A€qô �)‰)×
Ñ
Ð 2Ó
3€CÜ	�‰�—‘˜‘Ó	€Bð +ØØ%×0Ñ0°Ô7‘G¸UØñ	€Kð ×"Ñ"Ó$€KØ"%§+¡+¨a°Ð9O +Ó"P€BÐÐÐÜ—‘˜1˜bŸi™i¬›n°1Ô5€JÜ—‘˜1˜bŸi™i¬›n°1Ô5€Jà�(ÒÜ‰Ø	�DŠÜ!ˆäŸ.™.ä—‘Ð.°Ó2Ü—‘Ð.°Ó2Ü—‘Ð.°Ó2ðó
ˆô Ô/Ó1×7Ñ7¸À/Ð7ÓRÓSˆØ×Ñ #¨_Ñ=Ô>äŸ)™) O°R·Y±Y¼s³^È!ÔLˆÜÜÓ×$Ñ$ Z¸Ð$ÓHó
ˆð 	×Ñ #¨_Ñ=Ô>áÑ6 Ð6¨+Ñ6€OÙÑ6 Ð6¨+Ñ6€Oà�Òô ×$Ñ$Ó&ñ 	8Ü×!Ñ! (Ô,>Ô?Ø×Ñ  1°BÐÔ7Ø×Ñ 
¨JÔ7÷	8ð 	8ð 	×Ñ˜A˜q°ÐÔ3Ø×Ñ˜J¨
Ô3à�$‚Ü˜×/Ñ/°Ñ2°O×4KÑ4KÈAÑ4NÔOÜ�O×)Ñ)¨?×+@Ñ+@ÀtÖL÷	8ð 	8ús   È'AK%Ë%K.rŸ   c                 ó  — t        dddd|¬«      \  }}|dz   }|ddd	d
œ}t        d| dddœdœ|¤Ž}|j                  ||«       t        dd| i|¤Ž}|j                  |||¬«       t        |j                  |j                  d¬«       y )Né,  rÑ   rm   r4   rd  r3   Fr¢  re  r£  rá   )rx   r<  rx   r¦  rî   r§  rk   ©r   r   r<   r   r´   )rx   r¾   rD   rE   rd   r±  Ú	clf_cw_12Ú	clf_sw_12s           rK   Ú-test_logistic_regression_solver_class_weightsrÁ  ¤  s«   € ô ØØØØØ'ô�D€A€qð ˜‘E€Mð +ØØØñ	€Kô #ð Ø¨¨a¡LñØ4?ñ€Ið ‡M�M�!�QÔÜ"Ñ@¨&Ð@°KÑ@€IØ‡M�M�!�Q m€MÔ4Ü�I—O‘O Y§_¡_¸4Ö@rM   c           
      óì  — t        dddd| ¬«      \  }}|dz   }t        ddddd	œd
dd| ¬«      }|j                  ||«       t        ddd
dd| ¬«      }|j                  |||«       t        |j                  |j                  d¬«       t        ddddd	œdddd| ¬«      }|j                  ||«       t        dddddd| ¬«      }|j                  |||«       t        |j                  |j                  d¬«       y )Nr½  rÑ   rm   r4   rd  r3   r-   Frá   r�   rg  çê-�™—q=)rx   rS   r<  rž   r¯   r�   r+   )rx   rS   rž   r¯   r�   r+   r|  r§  Úl2T)rx   rS   r<  rž   r¯   r�   r    r+   )rx   rS   rž   r¯   r�   r    r+   r¾  )r¾   rD   rE   rd   Úclf_cwÚclf_sws         rK   Ú2test_sample_and_class_weight_equivalence_liblinearrÇ  Å  s  € ô ØØØØØ'ô�D€A€qð ˜‘E€MäØØØ˜q‘\ØØØØ'ô€Fð ‡J�Jˆq�!ÔÜØØØØØØ'ô€Fð ‡J�Jˆq�!�]Ô#Ü�F—L‘L &§,¡,°UÕ;äØØØ˜q‘\ØØØØØ'ô	€Fð ‡J�Jˆq�!ÔÜØØØØØØØ'ô€Fð ‡J�Jˆq�!�]Ô#Ü�F—L‘L &§,¡,°UÖ;rM   c                 óv   — t        j                  | «      }t        d|| ¬«      }t        t	        ||«      «      }|S )Nr–  )rG   rE   )r9   r:   r#   r[  Úzip)rE   rG   r<  Úclass_weight_dicts       rK   Ú _compute_class_weight_dictionaryrË     s5   € ä�i‰i˜‹l€GÜ'¨
¸GÀqÔI€LÜœS ¨,Ó7Ó8ÐØÐrM   c                 ó   — | S rg   rk   ©Úxs    rK   ú<lambda>rÏ    s   € °Q€ rM   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|¤Ž}|j                  ||«       |j                  ||«       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 |¤Žj                  |||	¬«      }t        |j                  |j                  d	¬
«       �Œ |dd…d d …f   }t        j                  dd }t	        |«      }t        D ]o  }t        |d¬«      }t        dddi|¤Ž}t        dd|i|¤Ž}|j                  ||«       |j                  ||«       t#        |j                  |j                  d¬«       Œq y )Né-   r-   r/   rê   ri  r<  r–  rm   ç-Cëâ6?©rm  r   r¦  rP   r'  rZ  rk   )r!   r|   r}   r   rË  rn  r\  r[  r   r<   r8   r>   r   r´   r9   rA   r;   r   )rN   ÚX_irisrD   rE   rÊ  rx   r3  rQ  Úclf2r°  ÚcÚclf3s               rK   Ú&test_logistic_regression_class_weightsrØ    sò  € ô ”4—9‘9Ó€Fàˆr‰s’Aˆv‰€AÙ�aÓ€AÜ�‰�B�CÐ€AÜ8¸Ó;Ðä”g“,¤ kÐ3DÐ%EÓ!FÑFó ;ˆÜ˜V¨dÔ3ˆÜ!ÑD¨zÐD¸VÑDˆÜ!ÑKÐ/@ÐKÀFÑKˆØ�‰��AŒØ�‰��AŒÜ�4—=‘=Ó! QÒ&Ð&Ð&Ü˜Ÿ
™
 D§J¡J°TÕ:ä�W‰W�Q—W‘W˜Q‘ZÓ ˆØ—‘ò 	/ˆAØˆq�A‰v‹JÐ+¨AÑ.Ñ.ŒJð	/ä!Ñ+ FÑ+×/Ñ/°°1ÀBÐ/ÓGˆÜ˜Ÿ
™
 D§J¡J°T×:ð;ð  	ˆr�#ˆv’qˆyÑ€AÜ�‰�B�sÐ€AÜ8¸Ó;Ðäò EˆÜ˜V¨dÔ3ˆÜ!ÑD¨zÐD¸VÑDˆÜ!ÑKÐ/@ÐKÀFÑKˆØ�‰��AŒØ�‰��AŒÜ! $§*¡*¨d¯j©jÀ!ÖDñErM   c                  ó  — d\  } }}t        | |d|d¬«      \  }}t        d¬«      j                  |«      }d}t        |d¬	«      }t        |dd¬
«      }|j	                  ||«       |j	                  ||«       |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	                  ||«       |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 ]h  }t        |dddg¬«      }
|
j	                  ||«       t        |
j
                  |j
                  d¬«       t        |
j                  |j                  d¬«       Œj y )N)r  r  rm   r‡   r   rd  F)Ú	with_meanr,   rî   ©rx   r�   )rx   rS   r�   )r0   r1   r.   rŽ   r®   gH¯¼šò×z>)rx   r+   r¯   r�   )rx   r+   r¯   r�   rS   rº   rÓ  r�   r«   r  )rx   r¯   r�   ro   )
r   r    Úfit_transformr   r<   r´   r;   r   rµ   r   )rF   rƒ   rH   rD   rE   rx   Úref_iÚref_wÚclf_iÚclf_wÚclf_paths              rK   Ú$test_logistic_regression_multinomialrâ  /  s÷  € ð (1Ñ$€Iˆz˜9ÜØØØØØô�D€A€qô 	 Ô'×5Ñ5°aÓ8€Að €FÜ f°$Ô7€EÜ f¸EÀtÔL€EØ	‡I�Iˆa�„OØ	‡I�Iˆa�„OØ�;‰;×Ñ ¨JÐ 7Ò7Ð7Ð7Ø�;‰;×Ñ ¨JÐ 7Ò7Ð7Ð7Ø.ò GˆÜ"ØØØØô	
ˆô #ØØØØØô
ˆð 	�	‰	�!�QŒØ�	‰	�!�QŒØ�{‰{× Ñ  Y°
Ð$;Ò;Ð;Ð;Ø�{‰{× Ñ  Y°
Ð$;Ò;Ð;Ð;ô 	˜Ÿ™ U§[¡[°tÕ<Ü˜Ÿ™ U§[¡[°tÕ<Ü˜×(Ñ(¨%×*:Ñ*:ÀÖFð-Gð6 8ò JˆÜ'Ø D¨d¸°uô
ˆð 	�‰�Q˜ÔÜ˜Ÿ™¨¯©¸$Õ?Ü˜×+Ñ+¨U×-=Ñ-=ÀDÖIñJrM   c                  óê   — t        ddd¬«      \  } }t        dd¬«      }|j                  | |«       t        j                  d«      } t        |j                  | «      t        j                  d«      «       y )NrÑ   r   rD  Fr-   )rS   rx   )rÑ   rÑ   )r   r   r<   r9   r‡  r   r=   )rD   rE   rC   s      rK   Ú%test_liblinear_decision_function_zerorä  j  sY   € ô ¨°qÀqÔI�D€A€qÜ
¨5¸Ô
E€CØ‡G�GˆAˆq„Mô 	�‰�Ó€AÜ�s—{‘{ 1“~¤r§x¡x°£{Õ3rM   c                 ón   — t        ddd¬«      \  }}t        d¬«      }|j                   | |«      |«       y )Nr‡   rÑ   r   rD  r-   ©rx   ©r   r   r<   ©rN   rD   rE   rC   s       rK   Útest_liblinear_logregcv_sparseré  y  s3   € ô ¨¸ÈÔJ�D€A€qÜ
 kÔ
2€CØ‡G�G‰M˜!Ó˜aÕ rM   c                 óp   — t        ddd¬«      \  }}t        dd¬«      }|j                   | |«      |«       y )Nr‡   rÑ   r   rD  r1   r�   rÛ  rç  rè  s       rK   Útest_saga_sparserë  ‚  s5   € ô ¨¸ÈÔJ�D€A€qÜ
 f°$Ô
7€CØ‡G�G‰M˜!Ó˜aÕ rM   c                  ór   — t        d¬«      } | j                  t        t        «       | j                  dk(  sJ ‚y )NF)rS   rý   )r   r<   rD   rT   rµ   rÜ   s    rK   Ú"test_logreg_intercept_scaling_zerorí  ‹  s-   € ô ¨5Ô
1€CØ‡G�GŒAŒr„NØ�>‰>˜SÒ Ð Ñ rM   c                  ó~  — t         j                  j                  d«      } d}t        |dd¬«      \  }}| j	                  |df¬«      }t        j
                  |df¬	«      }t        j                  |||fd
¬«      }t        ddddd¬«      }|j                  ||«       t        dddddd¬«      }|j                  ||«       t        |j                  |j                  «       t        |j                  ddd …f   t        j                  d«      «       t        |j                  ddd …f   t        j                  d«      «       y )NrŽ   r  r  r   rD  rm   r¤  r4   ©r;   r3   r6   r�   r  r-   Fr|  ©rž   rQ   rx   rS   r�   r1   rê   ©rž   rQ   rx   rS   r¯   r�   éûÿÿÿrÑ   )r9   rÓ   rÔ   r   ÚnormalrA   rñ   r   r<   r   r´   r‡  )rÖ   rF   rD   rE   ÚX_noiseÚ
X_constantÚlr_liblinearÚlr_sagas           rK   Útest_logreg_l1rø  “  s  € ô �)‰)×
Ñ
 Ó
#€CØ€IÜ¨¸rÐPQÔR�D€A€qØ�j‰j˜y¨!˜nˆjÓ-€GÜ—‘ 	¨1˜~Ô.€JÜ
�‰˜˜7 JÐ/°aÔ8€AÜ%ØØ
ØØØô€Lð ×Ñ�Q˜Ôä ØØ
ØØØØô€Gð ‡K�K��1ÔÜ˜gŸm™m¨\×-?Ñ-?Ô@ô ˜l×0Ñ0°°B±C°Ñ8¼"¿(¹(À1»+ÔFÜ˜gŸm™m¨A¨r©s¨FÑ3´R·X±X¸a³[ÕArM   c                 óB  — t         j                  j                  d«      }d}t        |dd¬«      \  }}|j	                  d|df¬«      }t        j
                  |d	f¬
«      }t        j                  |||fd¬«      }d||dk  <    | |«      }t        ddddd¬«      }|j                  ||«       t        dddddd¬«      }|j                  ||«       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¬«      }	|	j                  |j                  «       |«       t        |j                  |	j                  «       y )NrŽ   r  r  r   rD  r[   rm   )r!   ry  r4   rï  r3   r6   r�   r  r-   Fr|  rð  r1   rê   rñ  rò  rÑ   )r9   rÓ   rÔ   r   ró  r‡  rñ   r   r<   r   r´   Útoarray)
rN   rÖ   rF   rD   rE   rô  rõ  rö  r÷  Úlr_saga_denses
             rK   Útest_logreg_l1_sparse_datarü  ·  s�  € ô
 �)‰)×
Ñ
 Ó
#€CØ€IÜ¨¸rÐPQÔR�D€A€qØ�j‰j˜s¨)°Q¨ˆjÓ8€GÜ—‘ ¨A Ô/€JÜ
�‰˜˜7 JÐ/°aÔ8€AØ€A€aˆ!�e�HÙ�aÓ€Aä%ØØ
ØØØô€Lð ×Ñ�Q˜Ôä ØØ
ØØØØô€Gð ‡K�K��1ÔÜ˜gŸm™m¨\×-?Ñ-?Ô@ô ˜l×0Ñ0°°B±C°Ñ8¼"¿(¹(À1»+ÔFÜ˜gŸm™m¨A¨r©s¨FÑ3´R·X±X¸a³[ÔAô 'ØØ
ØØØØô€Mð ×Ñ�a—i‘i“k 1Ô%Ü˜gŸm™m¨]×-@Ñ-@ÕArM   Úrandom_seedrž   r�   rÄ  c                 ó  — t        dd| ¬«      \  }}t        d|| dd¬«      }t        ddgd	d
œ|¤Ž}|j                  ||«       t	        dddi|¤Ž}|j                  ||«       t        |j                  |j                  «       y )NrP   r  rD  r1   rê   rÃ  )rx   rž   r+   r¯   r�   r  T)ro   ÚrefitrQ   rk   )r   r[  r   r<   r   r   r´   )rý  rž   rD   rE   Úcommon_paramsr  rt   s          rK   Ú!test_logistic_regression_cv_refitr  ê  s…   € ô ¨¸È+ÔV�D€A€qÜØØØ ØØô€Mô !ÐG S E°ÑG¸ÑG€EØ	‡I�Iˆa�„OÜ	Ñ	3˜cÐ	3 ]Ñ	3€BØ‡F�Fˆ1ˆa„LÜ˜eŸk™k¨2¯8©8Õ4rM   c                  ó¨  — t        ddddd¬«      \  } }t        d¬«      }|j                  | |«       t        ||j	                  | «      «      }t        t        d¬«      «      }|j                  | |«       t        ||j	                  | «      «      }||kD  sJ ‚t        ||j	                  | «      «      }t        ||j                  | «      «      }||kD  sJ ‚y )Nr‡   r  r   rm   )rF   rƒ   r+   rH   r(  r,   ræ  )r   r   r<   r   r?   r   Ú_predict_proba_lr)rD   rE   rS  Úclf_multi_lossÚclf_ovrÚclf_ovr_lossÚclf_wrong_losss          rK   Ú%test_logreg_predict_proba_multinomialr    sÎ   € ÜØ °!¸qÐPRô�D€A€qô #¨'Ô2€IØ‡M�M�!�QÔÜ˜a ×!8Ñ!8¸Ó!;Ó<€NÜ!Ô"4¸GÔ"DÓE€GØ‡K�K��1ÔÜ˜A˜w×4Ñ4°QÓ7Ó8€LØ˜.Ò(Ð(Ð(ô ˜a ×!8Ñ!8¸Ó!;Ó<€NÜ˜a ×!<Ñ!<¸QÓ!?Ó@€NØ˜NÒ*Ð*Ñ*rM   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.)r0   ú?The max_iter was reached which means the coef_ did not converge)r1   r	  )r,   rÿ   )r/   z6Newton solver did not converge after [0-9]* iterationsc                 ó¶  — t         j                  t         j                  j                  «       }}d||dk(  <   |dv r|dk(  rt	        j
                  d«       |dk(  r| dkD  rt	        j
                  d«       t        | d	|d|¬
«      }t	        j                  t        |¬«      5  |j                  ||«       d d d «       |j                  d   | k(  sJ ‚y # 1 sw Y   ŒxY w)Nr   r4   r›   rœ   z+'multinomial' is not supported by liblinearr/   r3   z/solver newton-cholesky might converge very fastgVçž¯Ò<)r¯   r�   rŒ   r+   rx   rz   )r|   r}   r   rM  r€   Úskipr   r�   r   r<   Ún_iter_)r¯   rŒ   rx   r   rD   Úy_binrt   s          rK   Útest_max_iterr    sÉ   € ô, �y‰yœ$Ÿ+™+×*Ñ*Ó,€u€AØ€Eˆ%�1‰*Ñà�Ñ K°=Ò$@Ü�‰ÐAÔBØÐ"Ò" x°!¢|Ü�‰ÐEÔFä	ØØØØØô
€Bô 
�‰Ô(°Ô	8ñ Ø
�‰ˆq�%Ô÷ð �:‰:�a‰=˜HÒ$Ð$Ñ$÷ð ús   ÂCÃCc                 óæ  — t         j                  t         j                  }}| dk(  rt        |«      }t	        j
                  |«      j                  d   }|dk(  sJ ‚|j                  «       }d||dk(  <   d}d}t        dd| d¬	«      }|j                  ||«       |j                  j                  d
k(  sJ ‚t        d| ||d¬«      }|j                  ||«       |j                  j                  d||fk(  sJ ‚|j                  d¬«      j                  ||«       |j                  j                  |fk(  sJ ‚|j                  d¬«      j                  ||«       |j                  j                  |||fk(  sJ ‚| dv ry |j                  d¬«      j                  ||«       |j                  j                  d
k(  sJ ‚|j                  d¬«      j                  ||«       |j                  j                  d||fk(  sJ ‚y )Nr,   r   rm   r4   rn   r�   r  rŽ   )r�   rQ   rx   r+   r°   )r�   rx   ro   rq   r+   r3   r‹   ©rŒ   r›   rœ   )r|   r}   r   r!   r9   r:   r;   rM  r   r<   r  r   rœ  )	rx   rD   rE   rH   r  Ún_CsÚ	n_cv_foldrC   Úclf_cvs	            rK   Útest_n_iterr  G  sÞ  € ô �9‰9”d—k‘k€q€AØ�Òä�!‹Hˆä—	‘	˜!“×"Ñ" 1Ñ%€IØ˜Š>Ðˆ>ð �F‰F‹H€EØ€Eˆ%�1‰*Ñà€DØ€Iô  ¨°VÈ"Ô
M€CØ‡G�GˆAˆuÔØ�;‰;×Ñ Ò$Ð$Ð$ä!Ø˜ D¨YÀRô€Fð ‡J�Jˆq�%ÔØ�>‰>×Ñ A y°$Ð#7Ò7Ð7Ð7ð ‡N�N˜u€NÓ%×)Ñ)¨!¨QÔ/Ø�;‰;×Ñ  Ò,Ð,Ð,à
×Ñ %ÐÓ(×,Ñ,¨Q°Ô2Ø�>‰>×Ñ I¨y¸$Ð#?Ò?Ð?Ð?ð �Ñàð ‡N�N˜}€NÓ-×1Ñ1°!°QÔ7Ø�;‰;×Ñ Ò$Ð$Ð$à
×Ñ -ÐÓ0×4Ñ4°Q¸Ô:Ø�>‰>×Ñ A y°$Ð#7Ò7Ð7Ñ7rM   r*  )TFc                 óÒ  — t         j                  t         j                  }}t        d|| d|¬«      }t	        t
        ¬«      5  |j                  ||«       |j                  }d|_        |j                  ||«       d d d «       t        j                  t        j                  |j                  z
  «      «      }d| › d|›d|›�}|rd	|kD  sJ |«       ‚y |d	kD  sJ |«       ‚y # 1 sw Y   ŒexY w)
NrÒ  rŽ   )r�   r*  rx   r+   rS   rš  r3   z Warm starting issue with solver zwith fit_intercept=z and warm_start=ç       @)r|   r}   r   r   r%   r   r<   r´   r¯   r9   r@   Úabs)	rx   r*  rS   rD   rE   rC   Úcoef_1Úcum_diffr¦   s	            rK   Útest_warm_startr  z  sá   € ô �9‰9”d—k‘k€q€Aä
ØØØØØ#ô€Cô 
Ô"4Ô	5ñ Ø�‰��1ŒØ—‘ˆàˆŒØ�‰��1Œ÷ô �v‰v”b—f‘f˜V c§i¡iÑ/Ó0Ó1€Hà
*¨6¨(Ø
�ÐÐ0 Z Mð	3ð ñ Ø�XŠ~Ð"˜sÓ"‰~à˜#Š~Ð"˜sÓ"‰~÷ð ús   Á8CÃC&c                 óx  — 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 ]w  }
t        d
|	|
z  z  ddd|dd¬«      }t        d
|	|
z  z  ddd|dd¬«      }|j                  ||«       |j                  ||«       t        |j                  |j                  d«       Œy Œ¤ Œ® y )Nrm   r3   r4   r  r  r   rD  )r�   rÄ  r2   r  r1   rf  Frî   )rQ   rx   r¯   rS   rž   r+   r�   r-   )r   r}   r   r9   rñ   r   r;   ró   r   r<   r   r´   )rN   r|   rD   rE   ÚX_binr  ÚX_sparseÚy_sparserž   rF   Úalphar1   r-   s                rK   Útest_saga_vs_liblinearr   �  sk  € ä‹;€DØ�9‰9�d—k‘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‰ˆˆ1Ø#ò 	JˆGØŸ™ ™
ˆIäŸ™ R¨¨AÓ.ò J�Ü)Ø˜Y¨Ñ.Ñ/Ø!Ø Ø"'Ø#Ø!"Øô�ô /Ø˜Y¨Ñ.Ñ/Ø&Ø Ø"'Ø#Ø!"Øô�	ð —‘˜˜A”Ø—‘˜a Ô#ä)¨$¯*©*°i·o±oÀqÕIñ1Jñ	JñJrM   )r-   r.   r/   r1   c                 ó(  — | dk(  r|dk(  rt        j                  d| › d�«       | dk(  rt        j                  nt        j                  }t        j
                  t        «      j                  t        j                  «      }t        j
                  t        «      j                  t        j                  «      }t        j
                  t        «      j                  t        j                  «      }t        j
                  t        «      j                  t        j                  «      } |t        t        j                  ¬«      }	 |t        t        j                  ¬«      }
d}t        | |d||¬«      }t        |«      }|j                  ||«       |j                  j                  |k(  sJ ‚t        |«      }|j                  |	|«       |j                  j                  |k(  sJ ‚t        |«      }|j                  ||«       |j                  j                  t        j                  k(  sJ ‚t        |«      }|j                  |
|«       |j                  j                  t        j                  k(  sJ ‚d	|z  }t        j                  d
k(  rt         rd}t#        |j                  |j                  j                  t        j                  «      |¬«       | dk(  r|rd}t#        |j                  |j                  |¬«       t#        |j                  |j                  |¬«       y )Nr-   rœ   zSolver=z' does not support multinomial logistic.rß   gü©ñÒMb@?rŽ   )rx   rŒ   r+   r�   rS   g…ëQ¸…@Úntr�   r§  r1   r[   )r€   r  r9   râ   Úfloat32r©   rD   r²   rT   r   r   r<   r´   rà   ÚosÚnamer'   r   )rx   rŒ   rS   rN   Ú
out32_typeÚX_32Úy_32ÚX_64Úy_64ÚX_sparse_32ÚX_sparse_64r“  Úlr_templÚlr_32Úlr_32_sparseÚlr_64Úlr_64_sparser}  s                     rK   Útest_dtype_matchr2  Ì  sA  € ð �Ò °Ò!=Ü�‰�g˜f˜XÐ%LÐMÔNà%¨Ò4”—’¼"¿*¹*€Jä�8‰8”A‹;×ÑœbŸj™jÓ)€DÜ�8‰8”B‹<×ÑœrŸz™zÓ*€DÜ�8‰8”A‹;×ÑœbŸj™jÓ)€DÜ�8‰8”B‹<×ÑœrŸz™zÓ*€DÙ¤¬¯©Ô4€KÙ¤¬¯©Ô4€KØ€Jä!ØØØØØ#ô€Hô �(‹O€EØ	‡I�Iˆd�DÔØ�;‰;×Ñ 
Ò*Ð*Ð*ô ˜“?€LØ×Ñ�[ $Ô'Ø×Ñ×#Ñ# zÒ1Ð1Ð1ô �(‹O€EØ	‡I�Iˆd�DÔØ�;‰;×Ñ¤§
¡
Ò*Ð*Ð*ô ˜“?€LØ×Ñ�[ $Ô'Ø×Ñ×#Ñ#¤r§z¡zÒ1Ð1Ð1ð �jÑ €DÜ	‡w�w�$‚�9àˆô �E—K‘K §¡×!3Ñ!3´B·J±JÓ!?ÀdÕKà�Ò™Mð ˆä�E—K‘K ×!3Ñ!3¸$Õ?Ü�E—K‘K ×!3Ñ!3¸$Ö?rM   c                  ó  — t         j                  j                  d«      } t        j                  | j	                  dd«      ddgz   | j	                  dd«      f«      }t        j
                  dgdz  dgdz  z   «      }t        ddd¬«      }t        dd	d¬«      }t        ||j                  ||«      j                  |«      «      }t        d
«      D ]  }|j                  ||«       Œ t        ||j                  |«      «      }t        ||d¬«       y )Nr   rP   r4   r3   r2   r0   F)rx   r*  r+   TrÑ   ré   rÓ  )r9   rÓ   rÔ   rñ   rò   r©   r   r   r<   r?   rˆ  r   )rÖ   rD   rE   Úlr_no_wsÚlr_wsÚlr_no_ws_lossrù   Ú
lr_ws_losss           rK   Útest_warm_start_converge_LRr8    sê   € ô �)‰)×
Ñ
 Ó
"€CÜ
�‰˜Ÿ	™	 # qÓ)¨Q°¨FÑ2°C·I±I¸cÀ1Ó4EÐFÓG€AÜ
�‰�!��s‘˜b˜T C™ZÑ'Ó(€AÜ!¨¸5ÈqÔQ€HÜ e¸È1ÔM€Eä˜Q §¡¨Q°Ó 2× @Ñ @ÀÓ CÓD€MÜ�1‹Xò ˆØ�	‰	�!�Q�ðä˜!˜U×0Ñ0°Ó3Ó4€JÜ�M :°DÖ9rM   c            
      óˆ  — t        d¬«      \  } }d}d}t        «       }d|fddfD ]D  \  }}t        ||dd|d	d
¬«      }|j                  | |«       |j	                  |j
                  «       ŒF |\  }}	}
t        j                  ||	dd¬«      rJ ‚t        j                  ||
dd¬«      rJ ‚t        j                  |
|	dd¬«      rJ ‚y )Nr   r*   r  r]   r¢   )r�   N)rÄ  Nr1   rº   rf  )rž   rQ   rx   r+   Úl1_ratior�   r¯   r[   )rm  r}  )r   r  r   r<   Úappendr´   r9   Úallclose)rD   rE   rQ   r:  Úcoeffsrž   Úratiort   Úelastic_net_coeffsÚ	l1_coeffsÚ	l2_coeffss              rK   Útest_elastic_net_coeffsrB  ,  sÜ   € ô ¨AÔ.�D€A€qà€AØ€HÜ‹V€FØ(¨(Ð3°\À<ÐPò  ‰ˆ�ÜØØØØØØØô
ˆð 	�‰ˆq�!ŒØ�‰�b—h‘hÕð ð 06Ñ,Ð˜	 9ä�{‰{Ð-¨y¸qÀsÕKÐKÐKÜ�{‰{Ð-¨y¸qÀsÕKÐKÐKÜ�{‰{˜9 i°a¸cÕBÐBÐBÐBrM   rQ   )rº   r[   r3   r‡   rP   rê   ç    €„.Azpenalty, l1_ratio)r�   r3   )rÄ  r   c                 óì   — t        d¬«      \  }}t        d| |ddd¬«      }t        || ddd¬«      }|j                  ||«       |j                  ||«       t        |j                  |j                  «       y )Nr   r*   r¢   r1   r�   )rž   rQ   r:  rx   r+   r�   ©rž   rQ   rx   r+   r�   )r   r   r<   r   r´   )rQ   rž   r:  rD   rE   Úlr_enetÚlr_expecteds          rK   Ú"test_elastic_net_l1_l2_equivalencerH  H  sw   € ô
 ¨AÔ.�D€A€qä ØØ
ØØØØô€Gô %Ø˜1 V¸!Àô€Kð ‡K�K��1ÔØ‡O�O�A�qÔä˜gŸm™m¨[×->Ñ->Õ?rM   )rº   r3   rP   rC  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 ]  }|j                  ||«       Œ |	j                  ||«      |
j                  ||«      k\  sJ ‚|	j                  ||«      |j                  ||«      k\  sJ ‚y )NrJ  r   r*   r:  r3   rÑ   r¢   r1   r�   rE  T)rÿ  r�   rÄ  )r   r   r9   Úlinspacer   r   r<   re   )rQ   rD   rE   ÚX_trainÚX_testÚy_trainÚy_testÚ
param_gridÚenet_clfÚgsÚl1_clfÚl2_clfrC   s                rK   Útest_elastic_net_vs_l1_l2rT  `  s  € ô
 ˜s°Ô3�D€A€qÜ'7¸¸1È1Ô'MÑ$€GˆV�W˜fàœbŸk™k¨!¨Q°Ó2Ð3€Jä!Ø ¨&¸qÀdô€Hô 
�h 
°$Ô	7€BäØ˜ &°q¸dô€Fô  Ø˜ &°q¸dô€Fð �F˜FÐ#ò "ˆØ�‰�˜Õ!ð"ð �8‰8�F˜FÓ# v§|¡|°F¸FÓ'CÒCÐCÐCØ�8‰8�F˜FÓ# v§|¡|°F¸FÓ'CÒCÐCÑCrM   éýÿÿÿr4   rn   r:  )r[   r]   r±   c           	      ó  ‡ ‡‡‡— t        ddddddd¬«      \  ŠŠt        ‰«      Št        ddd‰ ‰d	¬
«      }t        ddd‰ d	¬«      }|j                  ‰‰«       |j                  ‰‰«       ˆ ˆˆˆfd„} ||«       ||«      k  sJ ‚y )Nrê   r4   r  r‡   r   ©rF   rH   rƒ   r(  r™  r˜  r+   r¢   r1   F)rž   rx   r+   rQ   r:  rS   rÄ  )rž   rx   r+   rQ   rS   c                 ó  •— | j                   j                  «       }‰t        ‰| j                  ‰«      «      z  }|‰t	        j
                  t	        j                  |«      «      z  z  }|d‰z
  dz  t	        j                  ||«      z  z  }|S )Nr  r]   )r´   rõ   r   r?   r9   r@   r  r  )rt   r�  ÚobjrQ   rD   r:  rE   s      €€€€rK   Úenet_objectivezEtest_LogisticRegression_elastic_net_objective.<locals>.enet_objectivež  sw   ø€ Ø�x‰x�~‰~ÓˆØ”(˜1˜b×.Ñ.¨qÓ1Ó2Ñ2ˆØˆxœ"Ÿ&™&¤§¡¨£Ó.Ñ.Ñ.ˆØ��h‘ #Ñ%¬¯©¨t°TÓ(:Ñ:Ñ:ˆØˆ
rM   )r   r!   r   r<   )rQ   r:  rF  Úlr_l2rZ  rD   rE   s   ``   @@rK   Ú-test_LogisticRegression_elastic_net_objectiver\  }  s¢   û€ ô ØØØØØØØô�D€A€qô 	ˆa‹€Aä ØØØØ
ØØô€Gô Ø˜V°!°qÈô€Eð ‡K�K��1ÔØ	‡I�Iˆa�„O÷ñ ˜'Ó"¡^°EÓ%:Ò:Ð:Ñ:rM   rH   )r4   rm   c           	      óÎ  — t        d| dd¬«      \  }}t        d«      }t        j                  ddd«      }t        j                  ddd«      }t        d	|d
||dd¬«      }|j                  ||«       ||dœ}t        d	d
dd¬«      }t        |||¬«      }	|	j                  ||«       |	j                  d   |j                  d   k(  sJ ‚|	j                  d   |j                  d   k(  sJ ‚y )NrP   rm   r   ©rF   rH   r(  r+   rÑ   r3   éüÿÿÿrn   r¢   r1   r�   )rž   ro   rx   rq   Ú	l1_ratiosr+   r�   ©rQ   r:  )rž   rx   r+   r�   ©rq   r:  rQ   )r   r   r9   rJ  ró   r   r<   r   r   Úbest_params_Ú	l1_ratio_rr   )
rH   rD   rE   rq   r`  ro   ÚlrcvrO  rt   rQ  s
             rK   Ú2test_LogisticRegressionCV_GridSearchCV_elastic_netrf  ¨  sõ   € ô
 Ø ¸!È!ô�D€A€qô 
˜Ó	€Bä—‘˜A˜q !Ó$€IÜ	�‰�R˜˜AÓ	€BäØØØØØØØô€Dð 	‡H�HˆQ�„Nà yÑ1€JÜ	ØØØØô	
€Bô 
�b˜*¨Ô	,€BØ‡F�Fˆ1ˆa„Là�?‰?˜:Ñ&¨$¯.©.¸Ñ*;Ò;Ð;Ð;Ø�?‰?˜3Ñ 4§7¡7¨1¡:Ò-Ð-Ñ-rM   c            
      óL  — 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¬«      }	|	j                  ||«       ||dœ}
t        d
dddd¬«      }t        ||
|¬«      }|j                  ||«       |	j                  |«      |j                  |«      k(  j                  «       dk\  sJ ‚|	j                  |«      |j                  |«      k(  j                  «       dk\  sJ ‚y )NrP   rm   r   r^  r*   rÑ   r3   r_  rn   r¢   r1   r‹   r�   )rž   ro   rx   rq   r`  r+   rŒ   r�   ra  )rž   rx   r+   rŒ   r�   rb  r\   )r   r   r   r9   rJ  ró   r   r<   r   r   r=   r–   )rD   rE   rK  rL  rM  rN  rq   r`  ro   re  rO  rt   rQ  s                rK   Ú6test_LogisticRegressionCV_GridSearchCV_elastic_net_ovrrh  Ñ  s3  € ô Ø °!À!ô�D€A€qô (8¸¸1È1Ô'MÑ$€GˆV�W˜fÜ	˜Ó	€Bä—‘˜A˜q !Ó$€IÜ	�‰�R˜˜AÓ	€BäØØØØØØØØô	€Dð 	‡H�HˆW�gÔà yÑ1€JÜ	ØØØØØô
€Bô 
�b˜*¨Ô	,€BØ‡F�Fˆ7�GÔð �L‰L˜Ó! R§Z¡Z°Ó%8Ñ8×>Ñ>Ó@ÀCÒGÐGÐGØ�L‰L˜Ó  B§J¡J¨vÓ$6Ñ6×<Ñ<Ó>À#ÒEÐEÑErM   )rÄ  r¢   )r‹   rœ   Úautoc           
      ó’  — 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                  j                  |fk(  sJ ‚|j                  j                  |fk(  sJ ‚|j                  j                  ||fk(  sJ ‚y )Nrm   r  rf  r   ©rF   rH   r(  rƒ   r+   r_  rn   r¢   r3   r4   r1   r�   F)rž   ro   rx   r`  r+   rŒ   r�   rÿ  )
r   r9   ró   rJ  r   r<   rr   r;   rd  r´   )	rž   rŒ   rH   rƒ   rD   rE   ro   r`  re  s	            rK   Ú"test_LogisticRegressionCV_no_refitrl     sÞ   € ð €IØ€JÜØØØØØô�D€A€qô 
�‰�R˜˜AÓ	€BØ�,ÒÜ—K‘K  1 aÓ(‰	àˆ	äØØØØØØØØô	€Dð 	‡H�HˆQ�„NØ�7‰7�=‰=˜Y˜LÒ(Ð(Ð(Ø�>‰>×Ñ I <Ò/Ð/Ð/Ø�:‰:×Ñ 	¨:Ð6Ò6Ð6Ñ6rM   c            
      óÆ  — d} d}t        d| | |d¬«      \  }}t        j                  ddd«      }t        j                  ddd	«      }d	}t	        d
|d||ddd¬«      }|j                  ||«       t        j                  t        |j                  j                  «       «      «      }|j                  | ||j                  |j                  |dz   fk(  sJ ‚t        j                  t        |j                  j                  «       «      «      }	|	j                  | ||j                  |j                  fk(  sJ ‚|j                  j                  | ||j                  |j                  fk(  sJ ‚y )Nrm   r  rf  r   rk  r_  rn   r3   r4   r¢   r1   r‹   r�   )rž   ro   rx   rq   r`  rŒ   r+   r�   )r   r9   ró   rJ  r   r<   r  r  r  r  r;   ry  r  r  )
rH   rƒ   rD   rE   ro   r`  Ún_foldsre  r  r_   s
             rK   Ú5test_LogisticRegressionCV_elasticnet_attribute_shapesro  )  sO  € ð
 €IØ€JÜØØØØØô�D€A€qô 
�‰�R˜˜AÓ	€BÜ—‘˜A˜q !Ó$€Ià€GÜØØØØØØØØô	€Dð 	‡H�HˆQ�„NÜ—*‘*œT $×"3Ñ"3×":Ñ":Ó"<Ó=Ó>€KØ×ÑØØØ
�‰Ø�‰Ø�Q‰ð!ò ð ð ô �Z‰Zœ˜TŸ\™\×0Ñ0Ó2Ó3Ó4€FØ�<‰<˜I w°·±¸¿¹ÐHÒHÐHÐHà�<‰<×Ñ )¨W°b·g±g¸y¿~¹~Ð!NÒNÐNÑNrM   c                  ó´   — d} t        j                  t        | ¬«      5  t        ddd¬«      j	                  t
        t        «       d d d «       y # 1 sw Y   y xY w)NzQl1_ratio parameter is only used when penalty is 'elasticnet'\. Got \(penalty=l1\)rz   r�   r1   r]   )rž   rx   r:  )r€   r�   r‚   r   r<   rD   rT   )r¦   s    rK   Útest_l1_ratio_non_elasticnetrq  U  sN   € ð	.ð ô 
�‰”k¨Ô	-ñ QÜ 4°ÀÔE×IÑIÌ!ÌRÔP÷Q÷ Qñ Qús   ž'AÁAc           
      ó,  — 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¬«      }|j	                  ||«       |j	                  ||«       t        |j                  |j                  d¬«       y )NrJ  r4   rÑ   r   r3   rW  r¢   Fr®   r  r   )rž   r+   rS   r�   r¯   r:  r  r’  ré   rê   r1   )rž   r+   rS   r�   r¯   r:  rQ   rx   rZ  )r   r!   r   r   r<   r   r´   )rQ   r:  rF   rD   rE   ÚsgdÚlogs          rK   Útest_elastic_net_versus_sgdru  ^  s¶   € ð €IÜØØØØØØØô�D€A€qô 	ˆa‹€Aä
ØØØØØØØ�A‰g˜	Ñ!Øô	€Cô ØØØØØØØ
Øô	€Cð ‡G�GˆAˆq„MØ‡G�GˆAˆq„MÜ˜cŸi™i¨¯©¸AÖ>rM   c            	      óî  — 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 «       t        j                  t        «      5  t        |d   |d   d¬«       d d d «       t        j                  t        «      5  t        |d   |d   d¬«       d d d «       y # 1 sw Y   ŒvxY w# 1 sw Y   ŒLxY w# 1 sw Y   y xY w)Nrf  rm   r4   r   r3   )rF   rH   r(  r™  Ún_clusters_per_classr+   rƒ   )ré   r3   rg  r�   r1   rœ   )rž   ro   rx   r+   rŒ   rZ  )r   r   r€   r¤   r	  r   )rD   rE   ro   r÷   rø   s        rK   Ú/test_logistic_regression_path_coefs_multinomialrx  ˆ  s  € ô ØØØØØØØô�D€A€qò 
€BÜ+Ø	Ø	ØØØØØ!ô�K€Eˆ1ˆaô 
�‰”~Ó	&ñ AÜ! %¨¡(¨E°!©H¸aÕ@÷Aä	�‰”~Ó	&ñ AÜ! %¨¡(¨E°!©H¸aÕ@÷Aä	�‰”~Ó	&ñ AÜ! %¨¡(¨E°!©H¸aÕ@÷Að A÷	Að Aú÷Að Aú÷Að Aús$   Á	CÁ?CÂ5C+ÃCÃC(Ã+C4ÚestrJ  )r+   r¯   rm   rº   )r+   rq   ro   r�   r¯   c                 ó.   — | j                   j                  S rg   )Ú	__class__rh   rÍ  s    rK   rÏ  rÏ  °  s   € �!—+‘+×&Ñ&€ rM   )Ú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	        |j                  |«      |	j                  |«      «        |||d|¬«      }
|dk(  rW |||d|¬«      }t	        |
j
                  |j
                  «       t	        |
j                  |«      |j                  |«      «       y  |||d	|¬«      }t	        |
j
                  |j
                  «       t	        |
j                  |«      |j                  |«      «       t        j                  |j
                   |||d	|¬«      j
                  «      rJ ‚t        j                  |j
                   |||d	|¬«      j
                  «      rJ ‚y )
Nc                 óZ   •—  t        ‰«      j                  di |¤Žj                  | |«      S )Nrk   )r   rœ  r<   )rD   rE   Úkwry  s      €rK   r<   z6test_logistic_regression_multi_class_auto.<locals>.fit·  s*   ø€ Ø$Œu�S‹z×$Ñ$Ñ* rÑ*×.Ñ.¨q°!Ó4Ð4rM   r‡   r3   r   ri  )rŒ   rx   r‹   r-   rœ   )	r!   r|   r}   r   r   r´   r?   r9   r<  )ry  rx   r<   Úscaled_datarD   ÚX2Úy_multir  Úest_auto_binÚest_ovr_binÚest_auto_multiÚest_ovr_multiÚest_multi_multis   `            rK   Ú)test_logistic_regression_multi_class_autorˆ  ©  sÂ  ø€ ô5ô œŸ	™	Ó"€KØ‘D�b�DÑ€AØ	�Q�U˜�UÑ	€BÜ�k‰k™$˜B˜$Ñ€GØ�q‰L€EÙ�q˜%¨V¸FÔC€LÙ�a˜¨E¸&ÔA€KÜ�L×&Ñ&¨×(9Ñ(9Ô:Ü�L×.Ñ.¨rÓ2°K×4MÑ4MÈbÓ4QÔRá˜˜G°ÀÔG€NØ�ÒÙ˜A˜w°EÀ&ÔIˆÜ˜×,Ñ,¨m×.AÑ.AÔBÜØ×(Ñ(¨Ó,¨m×.IÑ.IÈ"Ó.Mõ	
ñ ˜a °mÈFÔSˆÜ˜×,Ñ,¨o×.CÑ.CÔDÜØ×(Ñ(¨Ó,¨o×.KÑ.KÈBÓ.Oô	
ô
 —;‘;Ø×ÑÙ��5 m¸FÔC×IÑIô
ð 	
ð 
ô —;‘;Ø×ÑÙ��7¨¸fÔE×KÑKô
ð 	
ð 
ð 
rM   c                 ó¼  — t        ddd¬«      \  }}d}t        d | d¬«      }t        j                  t        |¬«      5  |j                  ||«       d d d «       t        d | d¬«      }t        d	t        j                  | d¬
«      }|j                  ||«      j                  |«      }|j                  ||«      j                  |«      }t        ||«       y # 1 sw Y   ŒƒxY w)Nrê   r   )rF   r™  r+   z&Setting penalty=None will ignore the Crn   )rž   rx   rQ   rz   )rž   rx   r+   rÄ  )rž   rQ   rx   r+   )
r   r   r€   r�   r‚   r<   r9   rŠ  r=   r   )	rx   rD   rE   r¦   rt   Úlr_noneÚlr_l2_C_infÚ	pred_noneÚpred_l2_C_infs	            rK   Útest_penalty_nonerŽ  Ý  sÂ   € ô ¨¸1È1ÔM�D€A€qà
2€CÜ	 D°¸1Ô	=€BÜ	�‰”k¨Ô	-ñ Ø
�‰ˆq�!Œ÷ô !¨°fÈ1ÔM€GÜ$ØœŸ™ v¸Aô€Kð —‘˜A˜qÓ!×)Ñ)¨!Ó,€IØ—O‘O A qÓ)×1Ñ1°!Ó4€MÜ�y -Õ0÷ð ús   ½CÃCr3  rî   rê   )rž   r    r�   r¯   rÃ  c                 ó  — 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        |«      j                  ||«      }t        |«      j                  |||¬«      }dD ]2  }	 t        ||	«      |«      }
 t        ||	«      |«      }t        |
|«       Œ4 y )Nr3   rm   r4   rn   Úfloatrß   )r3   r3   r3   r3   r4   r4   r4   r4   r3   r3   r3   r3   r4   r4   r4   r4   r«  rï  r   r*   r-   rŽ   )rx   r+   r¦  )r=   r?   r»   rk   )r9   r©   rà   ÚvstackÚhstackrA   r8   r$   r   rœ  r   r<   Úgetattrr   )r3  rD   rE   r�  Úy2rd   Úbase_clfÚclf_no_weightÚclf_with_weightÚmethodÚX_clf_no_weightÚX_clf_with_weights               rK   Ú/test_logisticregression_liblinear_sample_weightr›  ó  sª  € ô 	�‰à�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFð!	
ô$ �h‰h�wÓô'	€Aô* 	�‰Ú8ÄÇÁÈÃô	€Aô 
�‰�A�q�6Ó	€BÜ	�‰�A�q˜1‘u�:Ó	€BÜ—G‘G¤# a£&¨1¡*Ô-€MØ€M”#�a“&�(ÐÜ# B¨¨MÈÔJÑ€BˆˆMä!¨À2ÔF€HØ€H×ÑÑ!˜&Ò!Ü˜(“O×'Ñ'¨¨1Ó-€MÜ˜H“o×)Ñ)¨"¨bÀÐ)ÓN€OàCò <ˆØ8œ' -°Ó8¸Ó;ˆØ<œG O°VÓ<¸QÓ?ÐÜ˜Ð):Õ;ñ<rM   c                  ó¼  — t        dd¬«      \  } }t        d¬«      }ddg}g d¢}t        d	d
|||ddd¬«      }|j                  | |«       |j                  d   j                  d¬«      }t        |«      D ]f  \  }}t        |«      D ]S  \  }	}
t        d	d
||
ddd¬«      }t        || ||¬«      j                  «       }|||	f   t        j                  |«      k(  rŒSJ ‚ Œh y )Nrê   r   r  rÑ   )Ún_splitsr[   r±   )r[   r3   r‡   r¢   r1   éú   rº   )rž   rx   r`  ro   rq   r+   r¯   r�   r3   r6   )rž   rx   rQ   r:  r+   r¯   r�   rb  )r   r   r   r<   r  r–   rô   r   r   r€   Úapprox)rD   rE   rq   r`  ro   re  Úavg_scores_lrcvrù   rQ   Újr:  rt   Úavg_score_lrs                rK   Ú'test_scores_attribute_layout_elasticnetr£  (  s  € ô ¨¸AÔ>�D€A€qÜ	 !Ô	$€Bà�c�
€IÚ	€BäØØØØØØØØô	€Dð 	‡H�HˆQ�„Nà—l‘l 1‘o×*Ñ*°Ð*Ó2€Oä˜"“ò H‰ˆˆ1Ü$ YÓ/ò 	H‰KˆAˆxÜ#Ø$ØØØ!ØØØôˆBô +¨2¨q°!¸Ô;×@Ñ@ÓBˆLØ" 1 a 4Ñ(¬F¯M©M¸,Ó,GÓGÐGÐGñ	HñHrM   )r,   r.   r/   c                 óâ  — t         j                  j                  \  }}t         j                  t         j                     }t        t        t         j                  «      d|¬«      }t        t         j                  «      }|j                  ||«       t        |j                  j                  d¬«      dd¬«       |r7|j                  j                  d¬«      t        j                  dd¬«      k(  sJ ‚y	y	)
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,   )rQ   rx   rS   r   r6   r|  r§  g•dyáý¥=)r  N)r|   r}   r;   r~   r   r   r8   r!   r<   r   r´   r@   rµ   r€   rŸ  )rx   rS   rF   rƒ   r   rC   ÚX_scaleds          rK   Ú(test_multinomial_identifiability_on_irisr¦  T  s³   € ô4 !ŸI™IŸO™OÑ€IˆzÜ×ÑœtŸ{™{Ñ+€Fä
Ü
Œd�i‰i‹.ØØ#ô€Cô ”T—Y‘YÓ€HØ‡G�GˆH�fÔô �C—I‘I—M‘M q�MÓ)¨1°5Õ9ÙØ�~‰~×!Ñ! qÐ!Ó)¬V¯]©]¸1À%Ô-HÒHÐHÑHð rM   r  g      $@c                 óð   — t        d¬«      \  }}t        |«      }t        j                  |«      }d|d |dz   |j	                  «       }t        d|d| ¬«      }|j                  |||¬«       t        ||«       y )NT©Ú
return_X_yr4   r   rf  )r+   r<  r¯   rŒ   r¦  )r   r8   r9   rA   rM  r   r<   r   )rŒ   r<  rD   rE   rƒ   ÚWÚexpectedrC   s           rK   Útest_sample_weight_not_modifiedr¬  �  sv   € ô  Ô%�D€A€qÜ�Q“€JÜ
�‰�
Ó€AØ€AÐˆ
�a‰Ðà�v‰v‹x€Hä
Ø \¸CÈ[ô€Cð ‡G�GˆAˆq €GÔ"Ü�H˜aÕ rM   c           	      óö  —  |t        j                  dd|¬«      «      }dD ](  }t        ||t        ||«      j	                  d«      «       Œ* t
        j                  j                  |«      }|j                  d|j                  d   ¬«      }| d	v rCd
}t        j                  t        |¬«      5  t        | ¬«      j                  ||«       d d d «       y t        | ¬«      j                  ||«       y # 1 sw Y   y xY w)Nr  r‡   r*   )ÚindicesÚindptrÚint64r4   r   r¤  )r-   r0   r1   z0Only sparse matrices with 32-bit integer indicesrz   ræ  )r   ÚrandÚsetattrr“  r²   r9   rÓ   rÔ   r©  r;   r€   r¤   r¥   r   r<   )rx   r¾   rN   rD   ÚattrrÖ   rE   r¦   s           rK   Útest_large_sparse_matrixr´  “  sÚ   € ñ 	”f—k‘k " bÐ7IÔJÓK€AØ%ò ;ˆÜ��4œ  DÓ)×0Ñ0°Ó9Õ:ð;ä
�)‰)×
Ñ
Ð 2Ó
3€CØ�‰�A˜AŸG™G A™JˆÓ'€AàÐ-Ñ-Ø@ˆÜ�]‰]œ:¨SÔ1ñ 	8Ü fÔ-×1Ñ1°!°QÔ7÷	8ð 	8ô 	 &Ô)×-Ñ-¨a°Õ3÷	8ð 	8ús   Â,C/Ã/C8c                  óØ   — t        j                  g d¢g«      j                  } t        j                  g d¢«      }| j                  d   dk(  sJ ‚t	        dd¬«      j                  | |«       y )N)r]   gÍÌÌÌÌÌä?gš™™™™™ñ?g      ô?r\   gHáz®Gá?r’   çffffffæ?)r3   r3   r   r   r3   r3   r   r3   r3   r.   T)rx   rS   )r9   r©   r„  r;   r   r<   )rD   rE   s     rK   Útest_single_feature_newton_cgr·  ¨  sV   € ô 	�‰Ò>Ð?Ó@×BÑB€AÜ
�‰Ò)Ó*€AØ�7‰7�1‰:˜Š?Ðˆ?Ü˜k¸Ô>×BÑBÀ1ÀaÕHrM   c            	      ó¾  — t         j                  j                  «       } t         j                  j                  «       }| |dk7     } ||dk7     }t	        «       j                  | «      }t        | |d¬«      dz  }t        ddddd	d
|¬«      }t        j                  «       5  t        j                  dt        «       |j                  ||«       d d d «       y # 1 sw Y   y xY w)Nr4   rt  )r’  g¤›ntž²@r�   r-   rî   rP   rï   r   )rž   rx   r�   r¯   rð   r+   rQ   Úerror)r|   r}   rM  r   r    rÜ  r"   r   r“   r”   r•   r   r<   )rD   rE   ÚX_preprQ   rC   s        rK   Útest_liblinear_not_stuckr»  ²  sÅ   € ä�	‰	�‰Ó€AÜ�‰×ÑÓ€AØ	ˆ!ˆq‰&‰	€AØ	ˆ!ˆq‰&‰	€AÜÓ×+Ñ+¨AÓ.€Fä��A˜EÔ" _Ñ4€AÜ
ØØØØØ!ØØ
ô€Cô 
×	 Ñ	 Ó	"ñ Ü×Ñ˜gÔ'9Ô:Ø�‰�˜Ô÷÷ ñ ús   Â-CÃC©Úenable_metadata_routingc                  óœ  — t         j                  j                  d«      } t        d| ¬«      \  }}t        d| ¬«      \  }}t        j                  t        |«      «      }d|dt        |«      dz   d|i}t        d«      }t        |¬«      } |j                  ||fi |¤Ž t        d«      }	|	j                  d¬	«       t        |	¬«      }
 |
j                  ||fi |¤Ž t        j                  |j                  d
   |
j                  d
   «      rJ ‚ |j                  ||fi |¤Ž} |
j                  ||fi |¤Ž}t        j                  ||«      rJ ‚y)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  r4   Nrd   r  ©rp   Tr¦  r3   )r9   rÓ   rÔ   r   rA   r8   r   r   r<   Úset_score_requestr<  r  re   )rÖ   rD   rE   ÚX_tÚy_trd   ÚkwargsÚscorer1Úlr_cv1Úscorer2Úlr_cv2Úscore_1Úscore_2s                rK   Ú8test_lr_cv_scores_differ_when_sample_weight_is_requestedrÊ  Ë  s5  € ô �)‰)×
Ñ
 Ó
#€CÜ¨¸#Ô>�D€A€qÜ"¨R¸cÔB�H€CˆÜ—G‘GœC ›F“O€MØ#$€M�-”C˜“F˜a‘KÐ Ø˜}Ð-€Fä˜Ó$€GÜ!¨'Ô2€FØ€F‡J�Jˆq�!Ñ�vÒä˜Ó$€GØ×Ñ¨DÐÔ1Ü!¨'Ô2€FØ€F‡J�Jˆq�!Ñ�vÒä�{‰{˜6Ÿ>™>¨!Ñ,¨f¯n©n¸QÑ.?Ô@Ð@Ð@àˆf�l‰l˜3 Ñ. vÑ.€GØˆf�l‰l˜3 Ñ. vÑ.€Gä�{‰{˜7 GÔ,Ð,Ð,Ð,rM   c                  óð  — t         j                  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«       t        d
¬«      5  t        d«      }
|
j                  d
¬«       t        |
¬	«      } |j                  ||fi |¤Ž  |j                  ||fi |¤Ž}ddd«       t        j                  d   j                  d   «       t        	«       y# 1 sw Y   Œ¢xY w# 1 sw Y   ŒHxY w)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  r4   Nrd   Fr¼  r  r¿  Tr¦  r3   )r9   rÓ   rÔ   r   rA   r8   r   r   r   r<   re   rÀ  r   r  )rÖ   rD   rE   rÁ  rÂ  rd   rÃ  rÄ  rÅ  rÈ  rÆ  rÇ  rÉ  s                rK   Ú3test_lr_cv_scores_without_enabling_metadata_routingrÌ  ê  s\  € ô
 �)‰)×
Ñ
 Ó
#€CÜ¨¸#Ô>�D€A€qÜ"¨R¸cÔB�H€CˆÜ—G‘GœC ›F“O€MØ#$€M�-”C˜“F˜a‘KÐ Ø˜}Ð-€Fä	°Ô	6ñ 3Ü˜ZÓ(ˆÜ%¨gÔ6ˆØˆ�
‰
�1�aÑ"˜6Ò"Ø�&—,‘,˜s CÑ2¨6Ñ2ˆ÷	3ô 
°Ô	5ñ 3Ü˜ZÓ(ˆØ×!Ñ!°Ð!Ô5Ü%¨gÔ6ˆØˆ�
‰
�1�aÑ"˜6Ò"Ø�&—,‘,˜s CÑ2¨6Ñ2ˆ÷3ô �F—N‘N 1Ñ% v§~¡~°aÑ'8Ô9Ü�G˜WÕ%÷3ð 3ú÷3ð 3ús   Á?A E ÃAE,Å E)Å,E5c                 ó„  — t        d¬«      \  }}|dk(  }t        t        ¬«      5  t        | d¬«      j	                  ||«      }d d d «       | dvrj
                  dk(  sJ ‚| dk7  r¹t        j                  t        j                  |j                  «      «       t        |j                  |«      t        j                  |j                  d   |j                  ¬	«      «       t        |j                  |«      t        j                  |j                  d   dfd
¬	«      «       j                  ||«      dk  sJ ‚y # 1 sw Y   ŒôxY w)NTr¨  r4   rš  r   ri  )r1   r0   r,   )r;   Ú
fill_valuer]   r¶  )r   r%   r   r   r<   r  r   r´   r9   Ú
zeros_liker»   r¬  r;   rµ   r?   re   )rx   rD   rE   rC   s       rK   Útest_zero_max_iterrÐ  	  s  € ô  Ô%�D€A€qØ	ˆQ‰€AÜ	Ô"4Ô	5ñ FÜ ¨¸Ô;×?Ñ?ÀÀ1ÓEˆ÷Fà�_Ñ$à�{‰{˜aÒÐÐà�Òä˜Ÿ	™	¤2§=¡=°·±Ó#;Ô<ÜØ×!Ñ! !Ó$Ü�G‰G˜!Ÿ'™' !™*°·±Ô@ô	
ô 	Ø×Ñ˜aÓ Ü�G‰G˜1Ÿ7™7 1™: q˜/°cÔ:ô	
ð �9‰9�Q˜‹?˜SÒ Ð Ñ ÷#Fð Fús   ¥D6Ä6D?c                  ó–  — t        dd¬«      \  } }t        «       }d}t        d¬«      5  ddi}t        j                  t
        |¬	«      5   |j                  | |fi |¤Ž d
d
d
«       t        j                  t
        |¬	«      5   |j                  | |fi |¤Ž d
d
d
«       d
d
d
«       y
# 1 sw Y   ŒJxY w# 1 sw Y   ŒxY w# 1 sw Y   y
xY w)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  rz   N)r   r   r   r€   r¤   r¥   r<   re   )rD   rE   r  r¦   r3  s        rK   Ú5test_passing_params_without_enabling_metadata_routingrÓ  !	  s¿   € ô ¨¸!Ô<�D€A€qÜ Ó"€EØ
=€Cä	°Ô	6ñ (Ø Ð%ˆä�]‰]œ:¨SÔ1ñ 	&ØˆE�I‰I�a˜Ñ%˜fÒ%÷	&ô �]‰]œ:¨SÔ1ñ 	(ØˆE�K‰K˜˜1Ñ' Ò'÷	(÷(ð (÷	&ð 	&ú÷	(ð 	(ú÷(ð (ús;   © B?Á	B'Á#B?ÂB3ÂB?Â'B0	Â,B?Â3B<	Â8B?Â?Cc                  óÀ  — t        ddd¬«      \  } }t        d¬«      }d}t        j                  t        |¬«      5  |j                  | |«       d	d	d	«       t        d¬«      }t        j                  t        |¬«      5  |j                  | |«       d	d	d	«       t        d
dd¬«      \  } }t        d¬«      }d}t        j                  t        |¬«      5  |j                  | |«       d	d	d	«       t        d¬«      }t        j                  t        |¬«      5  |j                  | |«       d	d	d	«       y	# 1 sw Y   ŒãxY w# 1 sw Y   Œ­xY w# 1 sw Y   ŒdxY w# 1 sw Y   y	xY w)z)Check `multi_class` parameter deprecated.rm   r  r'  )rH   rF   r(  r‹   r  z'multi_class' was deprecatedrz   Nr4   rœ   z-'multi_class' was deprecated.*binary problems)r   r   r€   r�   ÚFutureWarningr<   r   )rD   rE   rt   r¦   ÚlrCVs        rK   Útest_multi_class_deprecatedr×  3	  s#  € ä¨°bÈÔJ�D€A€qÜ	¨Ô	.€BØ
(€CÜ	�‰”m¨3Ô	/ñ Ø
�‰ˆq�!Œ÷ô  ¨EÔ2€DÜ	�‰”m¨3Ô	/ñ Ø�‰��AŒ÷ô ¨°bÈÔJ�D€A€qÜ	¨Ô	6€BØ
9€CÜ	�‰”m¨3Ô	/ñ Ø
�‰ˆq�!Œ÷ô  ¨MÔ:€DÜ	�‰”m¨3Ô	/ñ Ø�‰��AŒ÷ð ÷ð ú÷ð ú÷ð ú÷ð ús/   »D0Á=D<ÃEÄEÄ0D9Ä<EÅEÅEc                 óú  — t        dd| ¬«      \  }}d}t        d|¬«      }t        j                  «       5  t        j                  d«       |j                  ||«       |j                  d   }d d d «       d	k\  sJ ‚t        d
|¬«      }t        t        ¬«      5  |j                  ||«       |j                  d   }d d d «       |k(  sJ ‚t        d
||d	z
  ¬«      }t        t        ¬«      5  t        j                  t        d¬«      5  |j                  ||«       |j                  d   }	d d d «       d d d «       	|j                  d	z
  k(  sJ ‚y # 1 sw Y   ŒâxY w# 1 sw Y   Œ xY w# 1 sw Y   Œ>xY w# 1 sw Y   ŒBxY w)Nr‡   r  rD  gêŒ 9Y>)Fr,   )rx   rQ   r¹  r   r3   r/   rš  )rx   rQ   r¯   rÿ   rz   )r   r   r“   r”   r•   r<   r  r%   r	   r€   r�   r   r¯   )
r¾   rD   rE   rQ   Úlr_lbfgsÚn_iter_lbfgsÚlr_ncÚ	n_iter_ncÚlr_nc_limitedÚn_iter_nc_limiteds
             rK   Ú&test_newton_cholesky_fallback_to_lbfgsrß  K	  s{  € ô Ø Ð2Dô�D€A€qð 	€Aô "¨°AÔ6€HÜ	×	 Ñ	 Ó	"ñ +Ü×Ñ˜gÔ&Ø�‰�Q˜ÔØ×'Ñ'¨Ñ*ˆ÷+ð
 ˜1ÒÐÐô Ð&7¸1Ô=€EÜ	¤-Ô	0ñ %Ø�	‰	�!�QŒØ—M‘M !Ñ$ˆ	÷%ð ˜Ò$Ð$Ð$ô 'Ø  A°¸qÑ0@ô€Mô 
¤-Ô	0ñ 9Ü�\‰\Ô,Ð4NÔOñ 	9Ø×Ñ˜a Ô#Ø -× 5Ñ 5°aÑ 8Ð÷	9÷9ð
  × 6Ñ 6¸Ñ :Ò:Ð:Ñ:÷9+ð +ú÷%ð %ú÷	9ð 	9ú÷9ð 9ús;   µ7EÂ"EÃ*E1Ä"E%Ä(E1ÅEÅE"Å%E.	Å*E1Å1E:)™r]  r$  r“   Ú	functoolsr   rs  r9   r€   Únumpy.testingr   r   r   r   Úscipyr   Úscipy.linalgr	   r
   Úsklearnr   Úsklearn._lossr   Úsklearn.baser   Úsklearn.datasetsr   r   r   Úsklearn.exceptionsr   Úsklearn.linear_modelr   Úsklearn.linear_model._logisticr   ÚLogisticRegressionDefaultr   ÚLogisticRegressionCVDefaultr   r   Úsklearn.metricsr   r   Úsklearn.model_selectionr   r   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Ú
pytestmarkr\  rD   rT   r‰   r|   rL   ÚparametrizerV   rv   r…   rŠ   r8   r}   r˜   r§   rª   r¸   rÃ   rÏ   rÚ   rÝ   ræ   rû   r  r  r  r7  rB  rG  rV  rb  rq  r”  rž  r»  rÁ  rÇ  rË  rØ  râ  rä  ré  rë  rí  rø  rü  r  r  r.  r  r  r>  rn  r  r   r2  r8  rB  rH  rT  ró   r\  rf  rh  rl  ro  rq  ru  rx  rˆ  rŽ  r›  r£  r¦  r¬  r´  r·  r»  rÊ  rÌ  rÐ  rÓ  r×  rß  rk   rM   rK   ú<module>rù     s°  ðÛ Û 	Û Ý ã Û ÷ó õ ß +å "Ý -Ý ß QÑ QÝ 1Ý .õõ÷÷ 1÷õ õ 3ß EÑ EÝ  ß 7ß Gß IÑ Ià�[‰[×'Ñ'Ø<ó€
ñ Ð6ÀQÔGÐ ÙÐ:ÈÔKÐ ð P€Øˆ!€Wˆq�!ˆf�q˜!�fÐ€Ú€Ú€Ùƒ{€ò8ð$ ‡�×Ñ˜¨.Ó9ñó :ðò"ðB ñ"ó ð"ð ‡�×Ñ˜¨.Ó9ñFó :ðFð ‡�×ÑÐSÓTØ‡�×ÑØ	á™S §¡›^°KÈUÔSÙ™S §¡›^°GÔ<Ù™S §¡›^°KÔ@ÙÙ�$—)‘)‹n U°À%ÐVXô	
ñ 	Ù�$—)‘)‹nØØØØô	
ñ 	™S §¡›^Ð4EÔFðóñ&*ó'ó Uð(*ð: ‡�×ÑÐSÓTØ‡�×Ñ˜Ð 2Ð4HÐIÓJñ%ó Kó Uð%ðP ‡�×Ñ˜Ð 2Ð4HÐIÓJñ@ó Kð@ð ‡�×ÑÐSÓTØ‡�×Ñ˜Ò#HÓIñ)ó Jó Uð)ð2 ‡�×ÑÐSÓTñ/ó Uð/ð* ‡�×Ñ˜¨.Ó9ñ2ó :ð2ò0<ò(;òò;
ò|?ò,8òB0ð6 ‡�×ÑØ"à	�b�TÐØ	�x Ð-Ð.ð 
�˜+Ð&Ð'Ø	˜"˜ÐØ	�H˜kÐ*Ð+ðóñ 
óð 
òF&IðR ‡�×Ñ˜¨.Ó9ñó :ðð  ‡�×ÑÐSÓTñ?-ó Uð?-òD
ð$ ‡�×ÑÐSÓTØ‡�×Ñ˜¨5°$¨-Ó8ñ ó 9ó Uð ðF ‡�×Ñ˜¨5°$¨-Ó8ñDó 9ðDðN ‡�×Ñ˜¨°Ñ$4¸#À#È#Ñ6NÐ#OÓPØ‡�×Ñ˜¨(°JÐ)?Ó@ñ+
ó Aó Qð+
ð\ ‡�×Ñ˜Ð$4Ó5Ø‡�×ÑØÐSóñ@Móó 6ð@MðF ‡�×ÑØÐFóñAóðAò<8<òvð ‡�×Ñ˜©;¨-¸.Ñ*HÓIñ#Eó Jð#EòL8Jòv4ð ‡�×Ñ˜¨.Ó9ñ!ó :ð!ð ‡�×Ñ˜¨.Ó9ñ!ó :ð!ò!ò!BðH ‡�×Ñ˜¨.Ó9ñ/Bó :ð/Bðd ‡�×Ñ˜¨¨Ó-Ø‡�×Ñ˜ T¨4 LÓ1ñ5ó 2ó .ð5ò0+ð. ‡�×ÑÐSÓTØ‡�×Ñ˜ Y R§Y¡Y¨q°!£_Ó5Ø‡�×Ñ˜¨°Ð(>Ó?Ø‡�×ÑØòóñ"%ó#ó @ó 6ó Uð(%ð0 ‡�×ÑÐSÓTØ‡�×Ñ˜ 7Ó+ñ.8ó ,ó Uð.8ðb ‡�×ÑØ‰f‘S˜“\¡C¨Ð6GÐ(HÓ$IÑIÓJóð ‡�×Ñ˜ }Ó5Ø‡�×Ñ˜¨-Ó8ñ#ó 9ó 6óð
#ð< ‡�×Ñ˜¨.Ó9ñ*Jó :ð*Jð\ ‡�×ÑÐSÓTØ‡�×Ñ˜¨°Ð(>Ó?Ø‡�×ÑØÒCóð ‡�×Ñ˜¨5°$¨-Ó8Ø‡�×Ñ˜¨.Ó9ñE@ó :ó 9óó @ó UðE@òP:ò"Cð8 ‡�×Ñ˜ÒAÓBØ‡�×ÑÐ,¨y¸)Ð.DÓEñ@ó Fó Cð@ð, ‡�×Ñ˜Ò2Ó3ñDó 4ðDð8 ‡�×Ñ˜˜k˜bŸkšk¨"¨a°Ó3Ó4Ø‡�×Ñ˜¢_Ó5ñ&;ó 6ó 5ð&;ðR ‡�×Ñ˜ fÓ-ñ#.ó .ð#.ðP ‡�×ÑÐSÓTñ*Fó Uð*Fð\ ‡�×ÑÐSÓTØ‡�×Ñ˜Ð$8Ó9Ø‡�×Ñ˜Ð(FÓGñ 7ó Hó :ó Uð 7ðL ‡�×ÑÐSÓTñ(Oó Uð(OòVQð ‡�×Ñ˜˜k˜bŸkšk¨"¨a°Ó3Ó4Ø‡�×Ñ˜¢_Ó5ñ%?ó 6ó 5ð%?òPAðB ‡�×ÑÐSÓTØ‡�×ÑØ	á¨°CÔ8Ù¨!°°a¸TÈCÔPðñ 	'ð ó ð ‡�×Ñ˜ 7Ó+ñ'
ó ,óó Uð'
ðT ‡�×Ñ˜¡6©#¨g«,¹¸k¸]Ó9KÑ*KÓ#LÓMñ1ó Nð1ð* ‡�×ÑØà %°À$ÑGØ $¨uÀ$ÑGØ %°À4ÑHðóñ*<óð*<òZ(HðX ‡�×ÑÐSÓTØ‡�×Ñ˜Ò#LÓMØ‡�×Ñ˜¨5°$¨-Ó8ñ&Ió 9ó Nó Uð&IðT ‡�×ÑÐSÓTØ‡�×Ñ˜Ò(FÓGØ‡�×Ñ˜¨c°d¸sÑ*CÀZÐ)PÓQñ!ó Ró Hó Uð!ð ‡�×Ñ˜ 7Ó+Ø‡�×Ñ˜¨.Ó9ñ4ó :ó ,ð4ò&Iòñ2 ¨Ô-ñ-ó .ð-ò<&ð: ‡�×Ñ˜ 7Ó+ñ!ó ,ð!ò2(ò$ó0';rM   