Ë
    8Ò^j$ ã                   ó@  — d dl Z d dlZd dlmZ d dlZd dlZd dlZd dlm	Z
 d dlmZ d dlmZmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZm Z m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5 d„ Z6 G d„ dejn                  «      Z8 G d„ dejr                  «      Z: G d„ dejv                  «      Z<d„ Z7d„ Z9d„ Z;d„ Z=d„ Z>d„ Z? ej€                  d d!gd!d!gd!d gd"d"gd"d#gd#d"gg«      ZAg d$¢ZB ej€                  d!d!gd#d#gd%d#gg«      ZCg d&¢ZD e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g	«      ZEd-gd%z  d.gd%z  z   d/gd%z  z   ZF ej€                  d)d(gd"d#gd d gg«      ZGg d0¢ZH ej€                  g d1¢g d1¢g d2¢g d2¢g d3¢g d3¢g d4¢g d4¢g«      ZI ej€                  g d5¢«      ZJ ej€                  g d6¢g d7¢g d8¢g d9¢g d:¢g d;¢g d<¢g d=¢g«      ZK ej€                  g d5¢«      ZL ejš                  «       ZN ej€                  d d!gd!d!gd!d gd"d"gd"d#gd#d"gg«      ZOg d$¢ZPg d>¢ZQd¼d?„ZRd@„ ZSej¨                  j«                  dAe7e=e9e>g«      ej¨                  j«                  dBg dC¢«      dD„ «       «       ZVej¨                  j«                  dAe7e=e9e>g«      dE„ «       ZWej¨                  j«                  dBdFdGg«      ej¨                  j«                  dHdIge7dJfe9dKfg«      dL„ «       «       ZXej¨                  j«                  dAe7e=e9e>g«      dM„ «       ZYej¨                  j«                  dAe7e=e9e>e;e?g«      dN„ «       ZZej¨                  j«                  dAe7e=e9e>e;e?g«      dO„ «       Z[ej¨                  j«                  dAe7e=e9e>g«      dP„ «       Z\ej¨                  j«                  dAe7e=e9e>g«      dQ„ «       Z]ej¨                  j«                  dAe7e=e9e>g«      dR„ «       Z^ej¨                  j«                  dAe7e=e9e>g«      dS„ «       Z_ej¨                  j«                  dAe7e=e9e>g«      dT„ «       Z`ej¨                  j«                  dAe7e=e9e>g«      dU„ «       Zaej¨                  j«                  dVe7e9g«      ej¨                  j«                  dWg dX¢«      dY„ «       «       Zbej¨                  j«                  dVe7e=e9e>g«      dZ„ «       Zcej¨                  j«                  dAe7e=e9e>e;e?g«      d[„ «       Zdej¨                  j«                  dAe7e=g«      d\„ «       Zeej¨                  j«                  dAe7e=e;e?g«      d]„ «       Zfej¨                  j«                  d^e7d_ ejÎ                  d`«      ife=d_ ejÎ                  d`«      ife;da ejÎ                  d`«      ife?da ejÎ                  d`«      ifg«      db„ «       Zhej¨                  j«                  dAe7e=e9e>g«      dc„ «       Ziej¨                  j«                  d^e7d_d ife=d_d ife;dad ife?dad ifg«      dd„ «       Zjej¨                  j«                  dAe7e=g«      de„ «       Zkej¨                  j«                  dAe7e=g«      df„ «       Zlej¨                  j«                  dAe7e=g«      dg„ «       Zmej¨                  j«                  dAe7e=g«      dh„ «       Znej¨                  j«                  dAe7e=g«      di„ «       Zoej¨                  j«                  dAe7e=g«      dj„ «       Zpej¨                  j«                  dAe7e=g«      dk„ «       Zqej¨                  j«                  dAe7e=g«      dl„ «       Zrej¨                  j«                  dAe7e=g«      dm„ «       Zsej¨                  j«                  dAe7e=g«      dn„ «       Ztej¨                  j«                  dAe7e=g«      do„ «       Zuej¨                  jì                  ej¨                  j«                  dAe7e=g«      dp„ «       «       Zwej¨                  j«                  dAe7e=g«      dq„ «       Zxej¨                  j«                  dAe7e=g«      dr„ «       Zyej¨                  j«                  dAe7e=g«      ds„ «       Zzej¨                  j«                  dAe7e=g«      dt„ «       Z{ej¨                  j«                  dAe7e=g«      du„ «       Z|ej¨                  j«                  dAe7e=g«      dv„ «       Z}ej¨                  j«                  dAe7e=e;e?g«      dw„ «       Z~ej¨                  j«                  dAe7e=g«      dx„ «       Zej¨                  j«                  dAe7e=g«      dy„ «       Z€ej¨                  j«                  dAe7e=g«      dz„ «       Z�ej¨                  j«                  dAe7e=g«      d{„ «       Z‚ej¨                  j«                  dAe7e=g«      d|„ «       Zƒej¨                  j«                  dAe7e=g«      ej¨                  j«                  dBg dC¢«      d}„ «       «       Z„ej¨                  j«                  dAe7e=g«      d~„ «       Z…ej¨                  j«                  dAe7e=g«      d„ «       Z†ej¨                  j«                  dAe7e=g«      d€„ «       Z‡ej¨                  j«                  dAe9e>g«      d�„ «       Zˆej¨                  j«                  dAe9e>g«      d‚„ «       Z‰ej¨                  j«                  dAe9e>g«      dƒ„ «       ZŠej¨                  j«                  dAe9e>g«      d„„ «       Z‹ej¨                  j«                  dAe9e>g«      d…„ «       ZŒej¨                  j«                  dAe9e>g«      d†„ «       Z�ej¨                  j«                  dAe9e>g«      d‡„ «       ZŽej¨                  j«                  dAe9e>g«      dˆ„ «       Z�ej¨                  j«                  dAe9e>g«      d‰„ «       Z�ej¨                  j«                  dAe9e>g«      ej¨                  j«                  dBg dC¢«      dŠ„ «       «       Z‘ej¨                  j«                  dAe9e>g«      d‹„ «       Z’d¼dŒ„Z“ej¨                  j«                  dAe;e?g«      d�„ «       Z”ej¨                  j«                  dAe;e?g«      ej¨                  j«                  dBg dC¢«      dŽ„ «       «       Z•ej¨                  j«                  dAe;e?g«      d�„ «       Z–ej¨                  j«                  dAe;e?g«      d�„ «       Z—ej¨                  j«                  dAe;e?g«      ej¨                  j«                  dBg dC¢«      d‘„ «       «       Z˜ej¨                  j«                  dAe;e?g«      d’„ «       Z™ej¨                  j«                  dAe;e?g«      d“„ «       Zšej¨                  j«                  dAe;e?g«      d”„ «       Z›ej¨                  j«                  dAe;e?g«      d•„ «       Zœd–„ Z�d—„ Zžej¨                  j«                  d˜d™dšg«      d›„ «       ZŸej¨                  j«                  dœd�džg«      dŸ„ «       Z d „ Z¡d¡„ Z¢d¢„ Z£ej¨                  j«                  d£g d¤¢«      d¥„ «       Z¤d¦„ Z¥d§„ Z¦d¨„ Z§d©„ Z¨dª„ Z©d«„ Zªd¬„ Z«d­„ Z¬d®„ Z­ej¨                  j«                  d¯g d°¢«      d±„ «       Z®ej¨                  j«                  dVejn                  ejr                  g«      d²„ «       Z¯d³„ Z°d´„ Z±ej¨                  j«                  dVe7e9g«      dµ„ «       Z²ej¨                  j«                  d¶e7e=e9e>e;e?g«      ej¨                  j«                  d·e�jf                  e�jh                  f«      d¸„ «       «       Zµej¨                  j«                  d¶e7e=e9e>e;e?g«      d¹„ «       Z¶dº„ Z·d»„ Z¸y)½é    N)ÚMock)Úminimize)ÚdatasetsÚlinear_modelÚmetrics)ÚcloneÚis_classifier)Ú
make_blobs)ÚConvergenceWarning)ÚNystroem)Ú	_sgd_fast)Ú_stochastic_gradient)ÚRandomizedSearchCVÚShuffleSplitÚStratifiedShuffleSplit)Úmake_pipeline)ÚLabelEncoderÚMinMaxScalerÚStandardScalerÚscale)ÚOneClassSVM)Úget_tags)Ú_align_api_if_sparse)Úassert_allcloseÚassert_almost_equalÚassert_array_almost_equalÚassert_array_equal)Ú_sparse_random_arrayc                 ó<   — d| vrd| d<   d| vrd | d<   d| vrd| d<   y y )NÚrandom_stateé*   ÚtolÚmax_iteré   © ©Úkwargss    ún/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/sklearn/linear_model/tests/test_sgd.pyÚ_update_kwargsr)   %   s<   € Ø˜VÑ#Ø!#ˆˆ~Ñà�FÑØˆˆu‰Ø˜ÑØˆˆzÒð  ó    c                   ó<   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )Ú_SparseSGDClassifierc                 óh   •— t        t        j                  |«      «      }t        ‰| �  ||g|¢­i |¤ŽS ©N)r   ÚspÚ	csr_arrayÚsuperÚfit©ÚselfÚXÚyÚargsÚkwÚ	__class__s        €r(   r2   z_SparseSGDClassifier.fit0   s0   ø€ Ü ¤§¡¨a£Ó1ˆÜ‰w‰{˜1˜aÐ- $Ò-¨"Ñ-Ð-r*   c                 óh   •— t        t        j                  |«      «      }t        ‰| �  ||g|¢­i |¤ŽS r.   )r   r/   r0   r1   Úpartial_fitr3   s        €r(   r;   z _SparseSGDClassifier.partial_fit4   s1   ø€ Ü ¤§¡¨a£Ó1ˆÜ‰wÑ" 1 aÐ5¨$Ò5°"Ñ5Ð5r*   c                 ó^   •— t        t        j                  |«      «      }t        ‰| �  |«      S r.   )r   r/   r0   r1   Údecision_function©r4   r5   r9   s     €r(   r=   z&_SparseSGDClassifier.decision_function8   s%   ø€ Ü ¤§¡¨a£Ó1ˆÜ‰wÑ(¨Ó+Ð+r*   c                 ó^   •— t        t        j                  |«      «      }t        ‰| �  |«      S r.   )r   r/   r0   r1   Úpredict_probar>   s     €r(   r@   z"_SparseSGDClassifier.predict_proba<   s%   ø€ Ü ¤§¡¨a£Ó1ˆÜ‰wÑ$ QÓ'Ð'r*   )Ú__name__Ú
__module__Ú__qualname__r2   r;   r=   r@   Ú__classcell__)r9   s   @r(   r,   r,   /   s   ø„ ô.ô6ô,÷(ð (r*   r,   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_SparseSGDRegressorc                 óˆ   — t        t        j                  |«      «      }t        j                  j
                  | ||g|¢­i |¤ŽS r.   )r   r/   r0   r   ÚSGDRegressorr2   ©r4   r5   r6   r7   r8   s        r(   r2   z_SparseSGDRegressor.fitB   s9   € Ü ¤§¡¨a£Ó1ˆÜ×(Ñ(×,Ñ,¨T°1°aÐE¸$ÒEÀ"ÑEÐEr*   c                 óˆ   — t        t        j                  |«      «      }t        j                  j
                  | ||g|¢­i |¤ŽS r.   )r   r/   r0   r   rH   r;   rI   s        r(   r;   z_SparseSGDRegressor.partial_fitF   s9   € Ü ¤§¡¨a£Ó1ˆÜ×(Ñ(×4Ñ4°T¸1¸aÐMÀ$ÒMÈ"ÑMÐMr*   c                 ó\   — t        j                  j                  | t        |«      g|¢­i |¤ŽS r.   )r   rH   r=   r   ©r4   r5   r7   r8   s       r(   r=   z%_SparseSGDRegressor.decision_functionJ   s6   € ä×(Ñ(×:Ñ:ØÔ& qÓ)ð
Ø,0ò
Ø46ñ
ð 	
r*   N©rA   rB   rC   r2   r;   r=   r%   r*   r(   rF   rF   A   s   „ òFòNó
r*   rF   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_SparseSGDOneClassSVMc                 ó†   — t        t        j                  |«      «      }t        j                  j
                  | |g|¢­i |¤ŽS r.   )r   r/   r0   r   ÚSGDOneClassSVMr2   rL   s       r(   r2   z_SparseSGDOneClassSVM.fitR   s7   € Ü ¤§¡¨a£Ó1ˆÜ×*Ñ*×.Ñ.¨t°QÐD¸ÒDÀÑDÐDr*   c                 ó†   — t        t        j                  |«      «      }t        j                  j
                  | |g|¢­i |¤ŽS r.   )r   r/   r0   r   rQ   r;   rL   s       r(   r;   z!_SparseSGDOneClassSVM.partial_fitV   s7   € Ü ¤§¡¨a£Ó1ˆÜ×*Ñ*×6Ñ6°t¸QÐLÀÒLÈÑLÐLr*   c                 ó†   — t        t        j                  |«      «      }t        j                  j
                  | |g|¢­i |¤ŽS r.   )r   r/   r0   r   rQ   r=   rL   s       r(   r=   z'_SparseSGDOneClassSVM.decision_functionZ   s7   € Ü ¤§¡¨a£Ó1ˆÜ×*Ñ*×<Ñ<¸TÀ1ÐRÀtÒRÈrÑRÐRr*   NrM   r%   r*   r(   rO   rO   Q   s   „ òEòMóSr*   rO   c                  óB   — t        | «       t        j                  di | ¤ŽS ©Nr%   )r)   r   ÚSGDClassifierr&   s    r(   rV   rV   _   s   € Ü�6ÔÜ×%Ñ%Ñ/¨Ñ/Ð/r*   c                  óB   — t        | «       t        j                  di | ¤ŽS rU   )r)   r   rH   r&   s    r(   rH   rH   d   s   € Ü�6ÔÜ×$Ñ$Ñ. vÑ.Ð.r*   c                  óB   — t        | «       t        j                  di | ¤ŽS rU   )r)   r   rQ   r&   s    r(   rQ   rQ   i   s   € Ü�6ÔÜ×&Ñ&Ñ0¨Ñ0Ð0r*   c                  ó.   — t        | «       t        di | ¤ŽS rU   )r)   r,   r&   s    r(   ÚSparseSGDClassifierrZ   n   s   € Ü�6ÔÜÑ) &Ñ)Ð)r*   c                  ó.   — t        | «       t        di | ¤ŽS rU   )r)   rF   r&   s    r(   ÚSparseSGDRegressorr\   s   s   € Ü�6ÔÜÑ( Ñ(Ð(r*   c                  ó.   — t        | «       t        di | ¤ŽS rU   )r)   rO   r&   s    r(   ÚSparseSGDOneClassSVMr^   x   s   € Ü�6ÔÜ Ñ* 6Ñ*Ð*r*   éþÿÿÿéÿÿÿÿé   é   )ra   ra   ra   rb   rb   rb   é   )ra   rb   rb   g      è¿ç      à?g      ø¿g      ø?g      è?ç      à¿ÚoneÚtwoÚthree)rf   rg   rh   )ra   ra   r   r   r   r   )r   r   ra   r   r   r   )r   r   r   r   ra   ra   )r   r   r   ra   r   r   )ra   ra   ra   ra   rb   rb   rb   rb   )ra   çÍÌÌÌÌÌì?çš™™™™™é?r   r   r   )ra   çáz®Gáê?g\�Âõ(\ï?r   r   r   )ra   ç¸…ëQ¸î?g)\�Âõ(ì?r   r   r   )ra   ç…ëQ¸í?ç®Gáz®ï?r   r   r   )r   r   r   g{®Gázì?rm   ra   )r   r   r   gHáz®Gé?rk   ra   )r   r   r   rm   çffffffî?ra   )r   r   r   gÃõ(\�Âí?ra   ra   )r   ra   ra   c                 óÂ  — |€#t        j                  |j                  d   «      }n|}t        j                  |j                  d   «      }|}	d}
d}| t        t        fv rd}t        |«      D ]o  \  }}t        j                  ||«      }||	z  }|||   z
  }|d||z  z
  z  }|||z  |z   z  }|	||z   |z  z  }	||z  }||z  }||dz   z  }|
|z  }
|
|	z  }
|
|dz   z  }
Œq ||
fS )Nra   ç        ç      ð?ç{®Gáz„?)ÚnpÚzerosÚshaperZ   r\   Ú	enumerateÚdot)Úklassr5   r6   ÚetaÚalphaÚweight_initÚintercept_initÚweightsÚaverage_weightsÚ	interceptÚaverage_interceptÚdecayÚiÚentryÚpÚgradients                   r(   Úasgdr‡   Ã   s0  € ØÐÜ—(‘(˜1Ÿ7™7 1™:Ó&‰àˆä—h‘h˜qŸw™w q™zÓ*€OØ€IØÐØ€Eð Ô$Ô&8Ð9Ñ9Øˆä˜a“Lò %‰ˆˆ5Ü�F‰F�5˜'Ó"ˆØ	ˆY‰ˆØ�q˜‘t‘8ˆØ�3˜# ™+Ñ&Ñ&ˆØ�S˜8‘^ eÑ+Ð,Ñ,ˆØ�s˜X‘~Ð&¨Ñ.Ñ.ˆ	à˜1ÑˆØ˜7Ñ"ˆØ˜1˜s™7Ñ"ˆà˜QÑÐØ˜YÑ&ÐØ˜Q ™WÑ$Ñð%ð  Ð-Ð-Ð-r*   c                 óT  —  | ddd|¬«      }|j                  ||«        | ddd|¬«      }|j                  |||j                  j                  «       |j                  j                  «       ¬«        | dddd|¬«      }|j                  ||«       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       |j                  d¬«       |j                  ||«       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       y )	Nrs   F)r{   Úeta0ÚshuffleÚlearning_rateçü©ñÒMbP?©Ú	coef_initr}   T)r{   r‰   rŠ   Ú
warm_startr‹   ©r{   )r2   Úcoef_ÚcopyÚ
intercept_Út_r   Ú
set_params)ry   r5   ÚYÚlrÚclfÚclf2Úclf3s          r(   Ú_test_warm_startr›   å   sì   € á
�d ¨uÀBÔ
G€CØ‡G�GˆAˆq„Má�u 4°ÀbÔI€DØ‡H�HˆQ�˜SŸY™YŸ^™^Ó-¸c¿n¹n×>QÑ>QÓ>S€HÔTñ Ø˜ u¸ÈRô€Dð 	‡H�HˆQ�„Nà�7‰7�c—f‘fÒÐÐÜ˜dŸj™j¨#¯)©)Ô4à‡O�O˜%€OÔ Ø‡H�HˆQ�„Nà�7‰7�d—g‘gÒÐÐÜ˜dŸj™j¨$¯*©*Õ5r*   ry   r—   )ÚconstantÚoptimalÚ
invscalingÚadaptivec                 ó0   — t        | t        t        |«       y r.   )r›   r5   r–   ©ry   r—   s     r(   Útest_warm_startr¢   ý   s   € ô
 �UœAœq "Õ%r*   c                 óZ  —  | dd¬«      }|j                  t        t        «       t        j                  t        «      d d …t        j
                  f   }t        j                  ||f   }t        j                  t        «      5  |j                  t        |«       d d d «       y # 1 sw Y   y xY w)Nrs   F©r{   rŠ   )
r2   r5   r–   rt   ÚarrayÚnewaxisÚc_ÚpytestÚraisesÚ
ValueError)ry   r˜   ÚY_s      r(   Útest_input_formatr¬     sv   € ñ
 �d EÔ
*€CØ‡G�GŒAŒq„MÜ	�‰”!‹’QœŸ
™
�]Ñ	#€Bä	�‰ˆr�2ˆv‰€BÜ	�‰”zÓ	"ñ Ø�‰”�2Œ÷÷ ñ ús   ÂB!Â!B*Úpa1Úpa2ÚestÚlossÚsquared_hingeÚsquared_errorc                 ó¨   —  ||| ¬«      }t        j                  t        «      5  |j                  t        t
        «       ddd«       y# 1 sw Y   yxY w)zETest that SGD raises with forbidden loss for passive-aggressive algo.)r°   r‹   N©r¨   r©   rª   r2   r5   r–   )r—   r¯   r°   s      r(   Útest_learning_rate_PA_raisesrµ     s>   € ñ �4 rÔ
*€CÜ	�‰”zÓ	"ñ Ø�‰””1Œ÷÷ ñ úó   ¤AÁAc                 ó  —  | dd¬«      }t        |«      }|j                  d¬«       |j                  t        t        «        | dd¬«      }|j                  t        t        «       t        |j                  |j                  «       y )Nrs   Úl1)r{   ÚpenaltyÚl2)r¹   )r   r•   r2   r5   r–   r   r‘   ©ry   r˜   r™   s      r(   Ú
test_cloner¼     s_   € ñ
 �d DÔ
)€CÜ
�‹*€CØ‡N�N˜4€NÔ Ø‡G�GŒAŒq„Má�t TÔ*€DØ‡H�HŒQ”„Nä�s—y‘y $§*¡*Õ-r*   c                 ón  —  | dd¬«      }|j                  t        t        «       t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚t        |d«      sJ ‚ | «       }|j                  t        t        «       t        |d«      rJ ‚t        |d«      rJ ‚t        |d«      rJ ‚t        |d«      rJ ‚y )NTrs   )Úaverager‰   Ú_average_coefÚ_average_interceptÚ_standard_interceptÚ_standard_coef)r2   r5   r–   Úhasattr©ry   r˜   s     r(   Útest_plain_has_no_average_attrrÅ   .  sº   € ñ ˜ 4Ô
(€CØ‡G�GŒAŒq„Mä�3˜Ô(Ð(Ð(Ü�3Ð,Ô-Ð-Ð-Ü�3Ð-Ô.Ð.Ð.Ü�3Ð(Ô)Ð)Ð)á
‹'€CØ‡G�GŒAŒq„Mä�s˜OÔ,Ð,Ð,Ü�sÐ0Ô1Ð1Ð1Ü�sÐ1Ô2Ð2Ð2Ü�sÐ,Ô-Ð-Ð-Ð-r*   c                 ó¨  —  | d¬«      } | «       }t        d«      D ]¨  }t        |«      rg|j                  t        t        t        j                  t        «      ¬«       |j                  t        t        t        j                  t        «      ¬«       Œu|j                  t        t        «       |j                  t        t        «       Œª t        |j                  |j                  d¬«       | t        t        t        t        fv r#t        |j                  |j                  d¬«       y | t        t         fv r!t#        |j$                  |j$                  «       y y )NiX  ©r¾   éd   ©Úclassesé   ©Údecimal)Úranger	   r;   r5   r–   rt   Úuniquer   r‘   rV   rZ   rH   r\   r   r“   rQ   r^   r   Úoffset_)ry   Úclf1r™   Ú_s       r(   Ú%test_late_onset_averaging_not_reachedrÓ   K  sì   € ñ ˜Ô€DÙ‹7€DÜ�3‹Zò #ˆÜ˜ÔØ×ÑœQ¤¬2¯9©9´Q«<ÐÔ8Ø×ÑœQ¤¬2¯9©9´Q«<ÐÕ8à×ÑœQ¤Ô"Ø×ÑœQ¤Õ"ð#ô ˜dŸj™j¨$¯*©*¸bÕAØ”Ô 3´\ÔCUÐVÑVÜ˜DŸO™O¨T¯_©_ÀbÖIØ	”>Ô#7Ð8Ñ	8Ü˜Ÿ™ d§l¡lÕ3ð 
9r*   c           	      ó   — d}d}t        j                  t        «      }d||dk(  <   d||dk(  <    | ddd	||dd
¬«      } | d
dd	||dd
¬«      }|j                  t        |«       |j                  t        |«       t        | t        ||||j                  j                  «       |j                  ¬«      \  }}t        |j                  j                  «       |j                  «       d¬«       t        |j                  |d¬«       y )NrŒ   ç-Cëâ6?ç      ð¿ra   rr   rb   é   rœ   r²   F)r¾   r‹   r°   r‰   r{   r#   rŠ   )r|   r}   rË   rÌ   )rt   r¥   r–   r2   r5   r‡   r‘   Úravelr“   r   r   )ry   r‰   r{   ÚY_encoderÑ   r™   r   r�   s           r(   Ú!test_late_onset_averaging_reachedrÚ   h  s  € ð €DØ€EÜ�x‰xœ‹{€HØ"€HˆX˜‰]ÑØ!€HˆX˜‰]ÑáØØ ØØØØØô€Dñ ØØ ØØØØØô€Dð 	‡H�HŒQ�ÔØ‡H�HŒQ�Ôä)-ØÜ	ØØØØ—J‘J×$Ñ$Ó&Ø—‘ô*Ñ&€OÐ&ô ˜dŸj™j×.Ñ.Ó0°/×2GÑ2GÓ2IÐSUÕVÜ˜Ÿ™Ð):ÀBÖGr*   c                 óþ   — t         j                  t         j                  dkD     }t         j                  t         j                  dkD     }dD ]0  }d} | |d|¬«      j                  ||«      }|j                  |k  rŒ0J ‚ y )Nr   ©TFéè  rŒ   )Úearly_stoppingr"   r#   )ÚirisÚdataÚtargetr2   Ún_iter_)ry   r5   r–   rÞ   r#   r˜   s         r(   Útest_early_stoppingrã   –  sv   € ô 	�	‰	”$—+‘+ ‘/Ñ"€AÜ�‰”D—K‘K !‘OÑ$€AØ'ò &ˆØˆÙ >°tÀhÔO×SÑSØˆqó
ˆð �{‰{˜XÓ%Ð%Ð%ñ&r*   c                 ó"  —  | dddd¬«      }|j                  t        j                  t        j                  «        | dddd¬«      }|j                  t        j                  t        j                  «       |j                  |j                  kD  sJ ‚y )NrŸ   rs   rŒ   rÈ   )r‹   r‰   r"   r#   rœ   )r2   rß   rà   rá   râ   )ry   rÑ   r™   s      r(   Ú"test_adaptive_longer_than_constantrå   ¤  sf   € ñ ˜z°¸$ÈÔM€DØ‡H�HŒT�Y‰YœŸ™Ô$Ù˜z°¸$ÈÔM€DØ‡H�HŒT�Y‰YœŸ™Ô$Ø�<‰<˜$Ÿ,™,Ò&Ð&Ñ&r*   c           
      ó�  — t         j                  t         j                  }}d}d}d}d} | dt        j                  j                  |«      |ddd ||¬«      }|j                  ||«       |j                  |k(  sJ ‚ | dt        j                  j                  |«      ddd ||¬	«      }t        |«      rt        ||¬
«      }	nt        ||¬
«      }	t        |	j                  ||«      «      \  }
}t        j                  |
«      }
|j                  ||
   ||
   «       |j                  |k(  sJ ‚t        |j                  |j                  «       y )Nçš™™™™™Ù?r!   Fé
   Trœ   rs   )rÞ   r    Úvalidation_fractionr‹   r‰   r"   r#   rŠ   )rÞ   r    r‹   r‰   r"   r#   rŠ   )Ú	test_sizer    )rß   rà   rá   rt   ÚrandomÚRandomStater2   râ   r	   r   r   ÚnextÚsplitÚsortr   r‘   )ry   r5   r–   ré   ÚseedrŠ   r#   rÑ   r™   ÚcvÚ	idx_trainÚidx_vals               r(   Ú)test_validation_set_not_used_for_trainingrô   ¯  s0  € ô �9‰9”d—k‘k€q€AØÐØ€DØ€GØ€HÙØÜ—Y‘Y×*Ñ*¨4Ó0Ø/Ø ØØØØô	€Dð 	‡H�HˆQ�„NØ�<‰<˜8Ò#Ð#Ð#áØÜ—Y‘Y×*Ñ*¨4Ó0Ø ØØØØô€Dô �TÔÜ#Ð.AÐPTÔU‰äÐ$7ÀdÔKˆÜ˜bŸh™h q¨!›nÓ-Ñ€IˆwÜ—‘˜	Ó"€IØ‡H�HˆQˆy‰\˜1˜Y™<Ô(Ø�<‰<˜8Ò#Ð#Ð#ä�t—z‘z 4§:¡:Õ.r*   c           
      óì   — t         j                  t         j                  }}dD ]J  }dD �cg c](  } | ||dd¬«      j                  ||«      j                  ‘Œ* }}t        |t        |«      «       ŒL y c c}w )NrÜ   )rb   rc   rè   rÕ   rÝ   )rÞ   Ún_iter_no_changer"   r#   )rß   rà   rá   r2   râ   r   Úsorted)ry   r5   r–   rÞ   rö   Ún_iter_lists         r(   Útest_n_iter_no_changerù   Û  sƒ   € ô �9‰9”d—k‘k€q€Aà'ò =ˆð %/ö

ð !ñ Ø-Ø!1ØØô	÷ ‰S��A‹Yß‰Wñð

ˆð 

ô 	˜;¬¨{Ó(;Õ<ñ=ùò

s   ª-A1c                 ó¨   —  | dd¬«      }t        j                  t        «      5  |j                  t        t
        «       d d d «       y # 1 sw Y   y xY w)NTrn   )rÞ   ré   )r¨   r©   rª   r2   ÚX3ÚY3rÄ   s     r(   Ú)test_not_enough_sample_for_early_stoppingrý   ð  s>   € ñ
 ˜t¸Ô
>€CÜ	�‰”zÓ	"ñ Ø�‰””BŒ÷÷ ñ úr¶   Ú	EstimatorÚl1_ratio)r   gffffffæ?ra   c                 óÐ   —  | ddd¬«      j                  t        t        «      } | d|d¬«      j                  t        t        «      }t        |j                  |j                  «       y)z@Check that l1_ratio is not used when penalty is not 'elasticnet'r¸   Nr   )r¹   rÿ   r    )r2   r5   r–   r   r‘   )rþ   rÿ   rÑ   r™   s       r(   Útest_sgd_l1_ratio_not_usedr  ú  sL   € ñ ˜T¨D¸qÔA×EÑEÄaÌÓK€DÙ˜T¨HÀ1ÔE×IÑIÌ!ÌQÓO€Dä�D—J‘J §
¡
Õ+r*   c                 ó¬   —  | dd ¬«      }t        j                  t        d¬«      5  |j                  t        t
        «       d d d «       y # 1 sw Y   y xY w)NÚ
elasticnet)r¹   rÿ   z1l1_ratio must be set when penalty is 'elasticnet'©Úmatchr´   )rþ   r˜   s     r(   Ú#test_sgd_failing_penalty_validationr    sF   € ñ ˜L°4Ô
8€CÜ	�‰ÜÐMô
ñ ð 	�‰””1Œ÷÷ ñ ús   ¦A
Á
Ac                 óf  —  | d¬«      }t        j                  t        d¬«      5  |j                  t        t
        «       ddd«       t        j                  d¬«      5 } | d¬«      }|j                  t        t
        «       ddd«       t        «      d	k(  sJ ‚y# 1 sw Y   Œ\xY w# 1 sw Y   Œ&xY w)
z:Check that a warning is raised when `power_t` is negative.rÖ   )Úpower_tz,Negative values for `power_t` are deprecatedr  NT)Úrecordrd   r   )	r¨   ÚwarnsÚFutureWarningr2   r5   r–   ÚwarningsÚcatch_warningsÚlen)ry   r˜   Úws      r(   Útest_power_t_limitsr    s”   € ñ ˜Ô
€CÜ	�‰ÜÐKô
ñ ð 	�‰””1Œ÷ô 
×	 Ñ	 ¨Ô	-ð °Ù˜CÔ ˆØ�‰””1Œ÷ô ˆq‹6�QŠ;Ð‰;÷ð ú÷ð ús   ¥BÁ$B'ÂB$Â'B0c           	      ó¨   — dD ]M  } | ddd|dd¬«      }|j                  t        t        «       t        |j	                  t
        «      t        «       ŒO y )N)Úhinger±   Úlog_lossÚmodified_huberrº   rs   Trè   )r¹   r{   Úfit_interceptr°   r#   rŠ   )r2   r5   r–   r   ÚpredictÚTÚtrue_result)ry   r°   r˜   s      r(   Útest_sgd_clfr  0  sQ   € ð Iò 8ˆÙØØØØØØô
ˆð 	�‰””1Œä˜3Ÿ;™;¤q›>¬;Õ7ñ8r*   c                 óÌ   — t        j                  t        d¬«      5   | «       j                  t        t
        t        j                  d«      ¬«       ddd«       y# 1 sw Y   yxY w)z1Check that the shape of `coef_init` is validated.z)Provided coef_init does not match datasetr  ©rc   ©rŽ   N)r¨   r©   rª   r2   r5   r–   rt   ru   ©ry   s    r(   Útest_provide_coefr  B  sD   € ô
 
�‰”zÐ)TÔ	Uñ 4Ù‹�‰”A”q¤B§H¡H¨T£NˆÔ3÷4÷ 4ñ 4ús   œ5AÁA#zklass, fit_paramsr}   r  Úoffset_initc                 óª   —  | «       }t        j                  t        d¬«      5   |j                  t        t
        fi |¤Ž ddd«       y# 1 sw Y   yxY w)z:Check that `intercept_init` or `offset_init` is validated.zdoes not match datasetr  Nr´   )ry   Ú
fit_paramsÚsgd_estimators      r(   Útest_set_intercept_offsetr#  K  sF   € ñ “G€MÜ	�‰”zÐ)AÔ	Bñ .Øˆ×Ñœ!œQÑ- *Ò-÷.÷ .ñ .ús   £A	Á	Ac                 óª   — d}t        j                  t        |¬«      5   | d¬«      j                  t        t
        «       ddd«       y# 1 sw Y   yxY w)zSCheck that we raise an error for `early_stopping` used with
    `partial_fit`.
    z/early_stopping should be False with partial_fitr  T)rÞ   N)r¨   r©   rª   r;   r5   r–   )ry   Úerr_msgs     r(   Ú(test_sgd_early_stopping_with_partial_fitr&  [  sB   € ð @€GÜ	�‰”z¨Ô	1ñ 5Ù˜TÔ"×.Ñ.¬q´!Ô4÷5÷ 5ñ 5ús   ž"A	Á	Ac                 óF   —   | «       j                   t        t        fi |¤Ž y)zdCheck that we can pass a scaler with binary classification to
    `intercept_init` or `offset_init`.N)r2   ÚX5ÚY5)ry   r!  s     r(   Ú test_set_intercept_offset_binaryr*  g  s   € ð �EƒG‡K�K””BÑ%˜*Ó%r*   c           
      óà  — d}d}d}d}t         j                  j                  d«      }|j                  ||f¬«      }|j                  |¬«      } | dd||d	d
d	d¬«      }t        j                  ||«      }	t        j
                  |	«      }	|j                  ||	«       t        | ||	||«      \  }
}|
j                  d
d«      }
t        |j                  |
d¬«       t        |j                  |d¬«       y )Nçš™™™™™¹?ç       @é   rè   r   ©Úsizer²   rœ   Tra   F©r°   r‹   r‰   r{   r  r#   r¾   rŠ   r`   é   rÌ   )rt   rë   rì   Únormalrx   Úsignr2   r‡   Úreshaper   r‘   r   r“   )ry   rz   r{   Ú	n_samplesÚ
n_featuresÚrngr5   r  r˜   r6   r   r�   s               r(   Ú&test_average_binary_computed_correctlyr9  v  sé   € ð €CØ€EØ€IØ€JÜ
�)‰)×
Ñ
 Ó
"€CØ�
‰
˜ JÐ/ˆ
Ó0€AØ�
‰
˜
ˆ
Ó#€Aá
ØØ ØØØØØØô	€Cô 	�‰ˆq�!‹€AÜ
�‰�‹
€Aà‡G�GˆAˆq„Mä)-¨e°Q¸¸3ÀÓ)FÑ&€OÐ&Ø%×-Ñ-¨a°Ó4€OÜ˜cŸi™i¨À"ÕEÜ˜Ÿ™Ð(9À2ÖFr*   c                 ó,  —  | «       j                  t        t        «      } | «       j                  t        t        |j                  ¬«        | «       j                  t        t
        «      } | «       j                  t        t
        |j                  ¬«       y )N©r}   )r2   r(  r)  r“   r5   r–   rÄ   s     r(   Útest_set_intercept_to_interceptr<  ˜  sX   € ñ ‹'�+‰+”bœ"Ó
€CÙ	ƒG‡K�K””B s§~¡~€KÔ6Ù
‹'�+‰+”aœÓ
€CÙ	ƒG‡K�K””1 S§^¡^€KÕ4r*   c                 óÆ   —  | dd¬«      }t        j                  t        «      5  |j                  t        t        j                  d«      «       d d d «       y # 1 sw Y   y xY w)Nrs   r.  ©r{   r#   é	   )r¨   r©   rª   r2   ÚX2rt   ÚonesrÄ   s     r(   Útest_sgd_at_least_two_labelsrB  ¢  sG   € ñ �d RÔ
(€CÜ	�‰”zÓ	"ñ  Ø�‰””B—G‘G˜A“JÔ÷ ÷  ñ  ús   ¤*AÁA c                 óÜ   — d}t        j                  t        |¬«      5   | d¬«      j                  t        t
        t        j                  t
        «      ¬«       d d d «       y # 1 sw Y   y xY w)Na`  class_weight 'balanced' is not supported for partial_fit\. In order to use 'balanced' weights, use compute_class_weight\('balanced', classes=classes, y=y\). In place of y you can use a large enough sample of the full training set target to properly estimate the class frequency distributions\. Pass the resulting weights as the class_weight parameter\.r  Úbalanced)Úclass_weightrÉ   )r¨   r©   rª   r;   r5   r–   rt   rÏ   )ry   Úregexs     r(   Ú&test_partial_fit_weight_class_balancedrG  ª  sW   € ð	ð 
ô 
�‰”z¨Ô	/ñ OÙ˜:Ô&×2Ñ2´1´aÄÇÁÌ1ÃÐ2ÔN÷O÷ Oñ Oús   ž;A"Á"A+c                 óD  —  | dd¬«      j                  t        t        «      }|j                  j                  dk(  sJ ‚|j
                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚|j                  t        «      }t        |t        «       y )Nrs   r.  r>  ©rc   rb   r  r   ©ra   rc   ©r2   r@  ÚY2r‘   rv   r“   r=   r  ÚT2r   Útrue_result2©ry   r˜   Úpreds      r(   Útest_sgd_multiclassrQ  »  s‡   € ñ �d RÔ
(×
,Ñ
,¬R´Ó
4€CØ�9‰9�?‰?˜fÒ$Ð$Ð$Ø�>‰>×Ñ 4Ò'Ð'Ð'Ø× Ñ  1 a & Ó*×0Ñ0°FÒ:Ð:Ð:Ø�;‰;”r‹?€DÜ�tœ\Õ*r*   c           
      óÆ  — d}d} | dd||dddd¬«      }t        j                  t        «      }|j                  t        |«       t        j
                  |«      }t        |«      D ]{  \  }}t        j                  |j                  d	   «      }d
|||k7  <   t        | t        |||«      \  }	}
t        |	|j                  |   d¬«       t        |
|j                  |   d¬«       Œ} y )NrŒ   rs   r²   rœ   Tra   Fr1  r   r`   rË   rÌ   )rt   r¥   rL  r2   r@  rÏ   rw   rA  rv   r‡   r   r‘   r   r“   )ry   rz   r{   r˜   Únp_Y2rÊ   rƒ   ÚclÚy_iÚaverage_coefr�   s              r(   Útest_sgd_multiclass_averagerW  Æ  sÙ   € à
€CØ€Eá
ØØ ØØØØØØô	€Cô �H‰H”R‹L€EØ‡G�GŒB�ÔÜ�i‰i˜Ó€Gä˜7Ó#ò N‰ˆˆ2Ü�g‰g�e—k‘k !‘nÓ%ˆØˆˆE�R‰KÑÜ*.¨u´b¸#¸sÀEÓ*JÑ'ˆÐ'Ü! ,°·	±	¸!±ÀbÕIÜÐ-¨s¯~©~¸aÑ/@È"ÖMñNr*   c                 óX  —  | dd¬«      }|j                  t        t        t        j                  d«      t        j                  d«      ¬«       |j
                  j                  dk(  sJ ‚|j                  j                  sJ d«       ‚|j                  t        «      }t        |t        «       y )Nrs   r.  r>  rI  rc   r�   r  )r2   r@  rL  rt   ru   r‘   rv   r“   r  rM  r   rN  rO  s      r(   Ú"test_sgd_multiclass_with_init_coefrY  â  sz   € ñ �d RÔ
(€CØ‡G�GŒB”œbŸh™h vÓ.¼r¿x¹xÈ»{€GÔKØ�9‰9�?‰?˜fÒ$Ð$Ð$Ø�>‰>×ÒÐ% Ó%ÐØ�;‰;”r‹?€DÜ�tœ\Õ*r*   c                 óF  —  | ddd¬«      j                  t        t        «      }|j                  j                  dk(  sJ ‚|j
                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚|j                  t        «      }t        |t        «       y )	Nrs   r.  rb   )r{   r#   Ún_jobsrI  r  r   rJ  rK  rO  s      r(   Útest_sgd_multiclass_njobsr\  í  s‰   € ñ �d R°Ô
2×
6Ñ
6´r¼2Ó
>€CØ�9‰9�?‰?˜fÒ$Ð$Ð$Ø�>‰>×Ñ 4Ò'Ð'Ð'Ø× Ñ  1 a & Ó*×0Ñ0°FÒ:Ð:Ð:Ø�;‰;”r‹?€DÜ�tœ\Õ*r*   c                 ód  —  | «       }t        j                  t        «      5  |j                  t        t
        t        j                  d«      ¬«       d d d «        | «       j                  t        t
        t        j                  d«      ¬«      } | «       }t        j                  t        «      5  |j                  t        t
        t        j                  d«      ¬«       d d d «        | «       j                  t        t
        t        j                  d«      ¬«      }y # 1 sw Y   ŒÊxY w# 1 sw Y   ŒJxY w)N)rb   rb   r  rI  ©ra   r;  r  )r¨   r©   rª   r2   r@  rL  rt   ru   rÄ   s     r(   Útest_set_coef_multiclassr_  ø  sÌ   € ñ
 ‹'€CÜ	�‰”zÓ	"ñ 4Ø�‰””B¤"§(¡(¨6Ó"2ˆÔ3÷4ñ ‹'�+‰+”bœ"¬¯©°Ó(8ˆ+Ó
9€Cñ ‹'€CÜ	�‰”zÓ	"ñ 7Ø�‰””B¤r§x¡x°£~ˆÔ6÷7ñ ‹'�+‰+”bœ"¬R¯X©X°d«^ˆ+Ó
<�C÷4ð 4ú÷7ð 7ús   ¡0DÂ-0D&ÄD#Ä&D/c                 ó  — t         j                  j                  D �]O  }t        |¬«      }|dv rt        |d«      sJ ‚t        |d«      rŒ/J ‚dj	                  |«      }t        |d«      rJ ‚t        |d«      rJ ‚t        j                  t        d¬«      5 }|j                   d d d «       t        j                  j                  t        «      sJ ‚|t        |j                  j                  «      v sJ ‚t        j                  t        d¬«      5 }|j                   d d d «       t        |j                  j                  t        «      sJ ‚|t        |j                  j                  «      v r�ŒPJ ‚ y # 1 sw Y   ŒÏxY w# 1 sw Y   ŒbxY w)	N)r°   ©r  r  r@   Úpredict_log_probaz5probability estimates are not available for loss={!r}z has no attribute 'predict_proba'r  z$has no attribute 'predict_log_proba')r   rV   Úloss_functionsrÃ   Úformatr¨   r©   ÚAttributeErrorr@   Ú
isinstanceÚvalueÚ	__cause__Ústrrb  )ry   r°   r˜   Ú	inner_msgÚ	exec_infos        r(   Ú$test_sgd_predict_proba_method_accessrl    sa  € ô ×*Ñ*×9Ñ9ó ?ˆÜ Ô&ˆØÐ1Ñ1Ü˜3 Ô0Ð0Ð0Ü˜3Ð 3Õ4Ð4Ð4àO×VÑVØóˆIô ˜s OÔ4Ð4Ð4Ü˜sÐ$7Ô8Ð8Ð8Ü—‘ÜÐ&Hôð "àØ×!Ò!÷"ô
 ˜iŸo™o×7Ñ7¼ÔHÐHÐHØ¤ I§O¡O×$=Ñ$=Ó >Ñ>Ð>Ð>ä—‘ÜÐ&Lôð &àØ×%Ò%÷&ô ˜iŸo™o×7Ñ7¼ÔHÐHÐHØ¤ I§O¡O×$=Ñ$=Ó >Ó>Ð>Ð>ñ1?÷"ð "ú÷&ð &ús   ÂE/ÄE;Å/E8	Å;F	c                 óÒ  — t        dddd ¬«      j                  t        t        «      }t	        |d«      rJ ‚t	        |d«      rJ ‚dD ]Å  } | |dd¬«      }|j                  t        t        «       |j                  d	d
gg«      }|d   dkD  sJ ‚|j                  ddgg«      }|d   dk  sJ ‚t        j                  d¬«      5  |j                  d	d
gg«      }|d   |d   kD  sJ ‚|j                  ddgg«      }|d   |d   k  sJ ‚	 d d d «       ŒÇ  | ddd¬«      j                  t        t        «      }|j                  ddgddgg«      }|j                  ddgddgg«      }t        t        j                  |d¬«      t        j                  |d¬«      «       t        |d   j                  «       d«       t        j                   |d   dk\  «      sJ ‚|j                  ddgg«      }|j                  ddgg«      }t        t        j"                  |d   «      t        j"                  |d   «      «       |j                  d	d
gg«      }|j                  d	d
gg«      }t%        t        j&                  |«      |«       |j                  ddgg«      }|j                  ddgg«      }t%        t        j&                  |«      |«        | ddd¬«      }|j                  t        t        «       |j                  d	d
gg«      }|j                  d	d
gg«      }| t(        k7  r1t        j                  |d¬«      t        j                  |d¬«      k(  s3J ‚t        j*                  |d¬«      t        j*                  |d¬«      k(  sJ ‚t        j-                  d¬«      }|j                  |g«      }t        j                   |dk  «      r&|j                  |g«      }t%        |d   dgd	z  «       y y # 1 sw Y   �Œ xY w)Nr  rs   rè   )r°   r{   r#   r"   r@   rb  ra  )r°   r{   r#   rc   rb   ©r   ra   rd   r`   Úignore)Údivide)r   r   r  r,  çš™™™™™¹¿ç333333Ó?çš™™™™™É?ra   )Úaxisr   r  gUUUUUUÕ?)rV   r2   r5   r–   rÃ   r@   rt   Úerrstaterb  r@  rL  r=   r   Úargmaxr   ÚsumÚallÚargsortr   ÚlogrZ   ÚargminÚmean)ry   r˜   r°   r…   ÚdÚlpÚxs          r(   Útest_sgd_probar€  /  s¥  € ô ˜W¨D¸2À4Ô
H×
LÑ
LÌQÔPQÓ
R€CÜ�s˜OÔ,Ð,Ð,Ü�sÐ/Ô0Ð0Ð0ð /ò %ˆÙ˜ T°BÔ7ˆØ�‰””1ŒØ×Ñ  1˜v˜hÓ'ˆØ�‰w˜Š}Ðˆ}Ø×Ñ  B˜x˜jÓ)ˆØ�‰w˜Š}Ðˆ}ô �[‰[ Ô)ñ 	%Ø×%Ñ%¨¨1 v hÓ/ˆAØ�T‘7˜Q˜t™WÒ$Ð$Ð$Ø×%Ñ%¨¨B x jÓ1ˆAØ�T‘7˜Q˜t™WÒ$Ð$Ñ$÷		%ð 	%ð%ñ" �Z t°bÔ
9×
=Ñ
=¼bÄ"Ó
E€Cà×Ñ  T˜{¨S°#¨JÐ7Ó8€AØ×Ñ˜C ˜;¨¨c¨
Ð3Ó4€AÜ”r—y‘y ¨Ô+¬R¯Y©Y°q¸qÔ-AÔBÜ˜˜!™Ÿ™›
 AÔ&Ü�6‰6�!�A‘$˜!‘)ÔÐÐà×Ñ˜B ˜8˜*Ó%€AØ×Ñ  B˜x˜jÓ)€AÜ”r—z‘z ! A¡$Ó'¬¯©°A°a±DÓ)9Ô:à	×	Ñ	  A ˜xÓ	(€BØ×Ñ˜A˜q˜6˜(Ó#€AÜœbŸf™f Q›i¨Ô,à	×	Ñ	  R ˜zÓ	*€BØ×Ñ˜B ˜8˜*Ó%€AÜœbŸf™f Q›i¨Ô,ñ
 Ð%¨T¸BÔ
?€CØ‡G�GŒB”„OØ×Ñ  1˜v˜hÓ'€AØ×Ñ˜A˜q˜6˜(Ó#€AØÔ#Ò#Ü�y‰y˜ Ô#¤r§y¡y°¸Ô';Ò;Ð;Ð;ä�y‰y˜ Ô#¤r§y¡y°¸Ô';Ò;Ð;Ð;ô
 	
�‰�Aˆ‹€AØ×Ñ˜q˜cÓ"€AÜ	‡v�vˆa�"‰f„~Ø×Ñ˜q˜cÓ"ˆÜ! ! A¡$¨¨	°A©Õ6ð ÷Y	%ñ 	%ús   Ã AOÏO&	c                 ó  — t        t        «      }t        j                  j	                  d«      }t        j
                  |«      }|j                  |«       t        |d d …f   }t        |   } | ddddd d¬«      }|j                  ||«       t        |j                  ddd	…f   t        j                  d
«      «       |j                  |«      }t        ||«       |j                  «        t        j                  |j                  «      sJ ‚|j                  |«      }t        ||«       t!        j"                  t!        j$                  |«      «      }t        j                  |j                  «      sJ ‚|j                  |«      }t        ||«       y )Né   r¸   rs  FéÐ  )r¹   r{   r  r#   r"   rŠ   r   ra   r`   )é   )r  ÚX4rt   rë   rì   ÚarangerŠ   ÚY4r2   r   r‘   ru   r  Úsparsifyr/   ÚissparseÚpickleÚloadsÚdumps)ry   Únr8  Úidxr5   r–   r˜   rP  s           r(   Útest_sgd_l1r�  w  s3  € ô 	ŒB‹€AÜ
�)‰)×
Ñ
 Ó
#€CÜ
�)‰)�A‹,€CØ‡K�K�Ôä
ˆ3’ˆ6‰
€AÜ
ˆ3‰€Aá
ØØØØØØô€Cð ‡G�GˆAˆq„MÜ�s—y‘y  A b D Ñ)¬2¯8©8°D«>Ô:Ø�;‰;�q‹>€DÜ�t˜QÔð ‡L�L„NÜ�;‰;�s—y‘yÔ!Ð!Ð!Ø�;‰;�q‹>€DÜ�t˜QÔô �,‰,”v—|‘| CÓ(Ó
)€CÜ�;‰;�s—y‘yÔ!Ð!Ð!Ø�;‰;�q‹>€DÜ�t˜QÕr*   c                 ó˜  — t        j                  ddgddgddgddgddgg«      }g d¢} | ddd	d ¬
«      }|j                  ||«       t        |j	                  ddgg«      t        j                  dg«      «        | ddd	ddi¬
«      }|j                  ||«       t        |j	                  ddgg«      t        j                  dg«      «       y )NrÖ   r   çš™™™™™é¿rr   rq   ©ra   ra   ra   r`   r`   r,  rÝ   F)r{   r#   r  rE  rs  ra   rŒ   r`   ©rt   r¥   r2   r   r  ©ry   r5   r6   r˜   s       r(   Útest_class_weightsr•  �  s¿   € ô 	�‰�4˜�,  q 	¨D°$¨<¸#¸s¸ÀcÈ3ÀZÐPÓQ€AÚ€Aá
�c D¸ÈDÔ
Q€CØ‡G�GˆAˆq„MÜ�s—{‘{ S¨$ K =Ó1´2·8±8¸Q¸C³=ÔAñ �c D¸ÈQÐPUÈJÔ
W€CØ‡G�GˆAˆq„Mô �s—{‘{ S¨$ K =Ó1´2·8±8¸R¸D³>ÕBr*   c                 óþ   — ddgddgddgddgg}g d¢} | ddd ¬«      }|j                  ||«       ddgddgg}ddg} | dddddœ¬«      }|j                  ||«       t        |j                  |j                  d	¬
«       y )Nra   r   )r   r   ra   ra   r,  rÝ   ©r{   r#   rE  rd   rn  rb   rÌ   )r2   r   r‘   )ry   r5   r6   r˜   Úclf_weighteds        r(   Útest_equal_class_weightr™  °  s˜   € ð ˆQˆ�!�Q�˜!˜Q˜ ! Q Ð(€AÚ€AÙ
�c D°tÔ
<€CØ‡G�GˆAˆq„Mà
ˆQˆ�!�Q�Ð€AØ	
ˆAˆ€AÙ˜s¨TÀCÈCÑ@PÔQ€LØ×Ñ�Q˜Ôô ˜Ÿ	™	 <×#5Ñ#5¸qÖAr*   c                 ó®   —  | ddddi¬«      }t        j                  t        «      5  |j                  t        t
        «       d d d «       y # 1 sw Y   y xY w)Nr,  rÝ   r   rd   r—  r´   rÄ   s     r(   Útest_wrong_class_weight_labelr›  Á  sD   € ñ �c D¸¸3°xÔ
@€CÜ	�‰”zÓ	"ñ Ø�‰””1Œ÷÷ ñ ús   §AÁAc                 óð  — dddœ}t         j                  j                  d«      }|j                  t        j
                  d   «      }t        j                  |«      }|t        dk(  xx   |d   z  cc<   |t        dk(  xx   |d   z  cc<    | dd|¬	«      } | dd¬
«      }|j                  t        t        |¬«       |j                  t        t        |¬«       t        |j                  |j                  «       y )Ng333333ã?rr  )ra   rb   r   ra   rb   r,  r.  r—  r>  ©Úsample_weight)rt   rë   rì   Úrandom_sampler‡  rv   r’   r2   r…  r   r‘   )ry   Úclass_weightsr8  Úsample_weightsÚmultiplied_togetherrÑ   r™   s          r(   Útest_weights_multipliedr£  É  sÌ   € ð  Ñ$€MÜ
�)‰)×
Ñ
 Ó
"€CØ×&Ñ&¤r§x¡x°¡{Ó3€NÜŸ'™' .Ó1ÐØœ˜a™Ó  M°!Ñ$4Ñ4Ó Øœ˜a™Ó  M°!Ñ$4Ñ4Ó á�s R°mÔD€DÙ�s RÔ(€Dà‡H�HŒR” >€HÔ2Ø‡H�HŒR”Ð#6€HÔ7ä˜Ÿ
™
 D§J¡JÕ/r*   c                 ó`  — t         j                  t         j                  }}t        |«      }t	        j
                  |j                  d   «      }t        j                  j                  d«      }|j                  |«       ||   }||   } | ddd d¬«      j                  ||«      }t        j                  ||j                  |«      d¬«      }t        |d	d
¬«        | dddd¬«      j                  ||«      }t        j                  ||j                  |«      d¬«      }t        |d	d
¬«       t        |j                   |j                   d«       ||dk(  d d …f   }||dk(     }	t	        j"                  |g|gdz  z   «      }
t	        j$                  |g|	gdz  z   «      } | dd d¬«      }|j                  |
|«       |j                  |«      }t        j                  ||d¬«      d	k  sJ ‚ | ddd¬«      }|j                  |
|«       |j                  |«      }t        j                  ||d¬«      d	kD  sJ ‚y )Nr   é   rÕ   rÝ   F)r{   r#   rE  rŠ   ÚweightedrÇ   rl   ra   rÌ   rD  rè   )r#   rE  rŠ   )rß   rà   rá   r   rt   r†  rv   rë   rì   rŠ   r2   r   Úf1_scorer  r   r   r‘   ÚvstackÚconcatenate)ry   r5   r6   rŽ  r8  r˜   Úf1Úclf_balancedÚX_0Úy_0ÚX_imbalancedÚy_imbalancedÚy_preds                r(   Útest_balanced_weightr±  Ü  sû  € ô
 �9‰9”d—k‘k€q€AÜˆa‹€AÜ
�)‰)�A—G‘G˜A‘JÓ
€CÜ
�)‰)×
Ñ
 Ó
"€CØ‡K�K�ÔØ	ˆ#‰€AØ	ˆ#‰€AÙ
�f t¸$ÈÔ
N×
RÑ
RÐSTÐVWÓ
X€CÜ	×	Ñ	˜!˜SŸ[™[¨›^°ZÔ	@€BÜ˜˜D¨!Õ,ñ Ø˜t°*Àeôç	�cˆ!ˆQƒið ô 
×	Ñ	˜!˜\×1Ñ1°!Ó4¸jÔ	I€BÜ˜˜D¨!Õ,ô ˜cŸi™i¨×);Ñ);¸QÔ?ð ˆA�‰F’AˆI‰,€CØ
ˆA�‰F‰)€Cä—9‘9˜a˜S C 5¨2¡:Ñ-Ó.€LÜ—>‘> 1 #¨¨°©
Ñ"2Ó3€Lñ ˜¨D¸%Ô
@€CØ‡G�GˆL˜,Ô'Ø�[‰[˜‹^€FÜ×Ñ˜A˜v¨zÔ:¸TÒAÐAÐAñ ˜¨JÀÔ
F€CØ‡G�GˆL˜,Ô'Ø�[‰[˜‹^€FÜ×Ñ˜A˜v¨zÔ:¸TÒAÐAÑAr*   c                 ó”  — t        j                  ddgddgddgddgddgg«      }g d¢} | ddd	¬
«      }|j                  ||«       t        |j	                  ddgg«      t        j                  dg«      «       |j                  ||dgdz  dgdz  z   ¬«       t        |j	                  ddgg«      t        j                  dg«      «       y )NrÖ   r   r‘  rr   rq   r’  r,  rÝ   F©r{   r#   r  rs  ra   rŒ   rc   rb   r�  r`   r“  r”  s       r(   Útest_sample_weightsr´    s¾   € ô 	�‰�4˜�,  q 	¨D°$¨<¸#¸s¸ÀcÈ3ÀZÐPÓQ€AÚ€Aá
�c D¸Ô
>€CØ‡G�GˆAˆq„MÜ�s—{‘{ S¨$ K =Ó1´2·8±8¸Q¸C³=ÔAð ‡G�GˆAˆq  ¨!¡¨q¨c°A©gÑ 5€GÔ6ô �s—{‘{ S¨$ K =Ó1´2·8±8¸R¸D³>ÕBr*   c                 ó$  — | t         t        fv r | ddd¬«      }n| t        t        fv r | ddd¬«      }t	        j
                  t        «      5  j                  t        t        t        j                  d«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr,  rÝ   Fr³  )Únur#   r  r×   r�  )rV   rZ   rQ   r^   r¨   r©   rª   r2   r5   r–   rt   r†  rÄ   s     r(   Útest_wrong_sample_weightsr·    sw   € ð
 ”Ô 3Ð4Ñ4Ù˜#¨¸EÔB‰Ø	”>Ô#7Ð8Ñ	8Ù�s T¸Ô?ˆä	�‰”zÓ	"ñ 2Ø�‰””1¤B§I¡I¨a£LˆÔ1÷2÷ 2ñ 2ús   Á0BÂBc                 ó¦   —  | d¬«      }t        j                  t        «      5  |j                  t        t
        «       d d d «       y # 1 sw Y   y xY w)Nrs   r�   )r¨   r©   rª   r;   rû   rü   rÄ   s     r(   Útest_partial_fit_exceptionr¹  +  s;   € á
�dÔ
€Cä	�‰”zÓ	"ñ  Ø�‰œœBÔ÷ ÷  ñ  ús   £AÁAc                 ó¨  — t         j                  d   dz  } | d¬«      }t        j                  t        «      }|j                  t         d | t        d | |¬«       |j                  j                  dt         j                  d   fk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚t        |j                  j                  «      }|j                  t         |d  t        |d  «       t        |j                  j                  «      }|sJ |«       ‚|j                  t        «      }t        |t        «       y )Nr   rc   rs   r�   rÉ   ra   r^  )r5   rv   rt   rÏ   r–   r;   r‘   r“   r=   Úidrà   r  r  r   r  )ry   Úthirdr˜   rÊ   Úid1Úid2r°  s          r(   Útest_partial_fit_binaryr¿  3  s  € ä�G‰G�A‰J˜!‰O€EÙ
�dÔ
€CÜ�i‰iœ‹l€Gà‡O�O”A�f�u�Iœq  %˜y°'€OÔ:Ø�9‰9�?‰?˜q¤!§'¡'¨!¡*˜oÒ-Ð-Ð-Ø�>‰>×Ñ 4Ò'Ð'Ð'Ø× Ñ  1 a & Ó*×0Ñ0°DÒ8Ð8Ð8Ü
ˆS�Y‰Y�^‰^Ó
€Cà‡O�O”A�e�f�Iœq  ˜yÔ)Ü
ˆS�Y‰Y�^‰^Ó
€Cá€O�ƒOˆ3à�[‰[œ‹^€FÜ�vœ{Õ+r*   c                 ó^  — t         j                  d   dz  } | d¬«      }t        j                  t        «      }|j                  t         d | t        d | |¬«       |j                  j                  dt         j                  d   fk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚t        |j                  j                  «      }|j                  t         |d  t        |d  «       t        |j                  j                  «      }|sJ |«       ‚y )	Nr   rc   rs   r�   rÉ   ra   r  rJ  )r@  rv   rt   rÏ   rL  r;   r‘   r“   r=   r»  rà   )ry   r¼  r˜   rÊ   r½  r¾  s         r(   Útest_partial_fit_multiclassrÁ  H  sò   € ä�H‰H�Q‰K˜1Ñ€EÙ
�dÔ
€CÜ�i‰iœ‹m€Gà‡O�O”B�v˜�J¤ 6 E 
°G€OÔ<Ø�9‰9�?‰?˜q¤"§(¡(¨1¡+Ð.Ò.Ð.Ð.Ø�>‰>×Ñ 4Ò'Ð'Ð'Ø× Ñ  1 a & Ó*×0Ñ0°FÒ:Ð:Ð:Ü
ˆS�Y‰Y�^‰^Ó
€Cà‡O�O”B�u�v�J¤ 5 6 
Ô+Ü
ˆS�Y‰Y�^‰^Ó
€Cá€O�ƒO‰3r*   c                 ó@  — t         j                  d   dz  } | dt         j                  d   ¬«      }t        j                  t        «      }|j                  t         d | t        d | |¬«       |j                  j                  dt         j                  d   fk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  t         |d  t        |d  «       |j                  j                  dt         j                  d   fk(  sJ ‚|j                  j                  dk(  sJ ‚y )Nr   rc   rs   )r{   r¾   rÉ   ra   r  )r@  rv   rt   rÏ   rL  r;   r‘   r“   )ry   r¼  r˜   rÊ   s       r(   Ú#test_partial_fit_multiclass_averagerÃ  Z  sã   € ä�H‰H�Q‰K˜1Ñ€EÙ
�d¤B§H¡H¨Q¡KÔ
0€CÜ�i‰iœ‹m€Gà‡O�O”B�v˜�J¤ 6 E 
°G€OÔ<Ø�9‰9�?‰?˜q¤"§(¡(¨1¡+Ð.Ò.Ð.Ð.Ø�>‰>×Ñ 4Ò'Ð'Ð'à‡O�O”B�u�v�J¤ 5 6 
Ô+Ø�9‰9�?‰?˜q¤"§(¡(¨1¡+Ð.Ò.Ð.Ð.Ø�>‰>×Ñ 4Ò'Ð'Ñ'r*   c                 óz   —  | «       }|j                  t        t        «       |j                  t        t        «       y r.   )r2   r@  rL  r;   rÄ   s     r(   Útest_fit_then_partial_fitrÅ  i  s&   € ñ
 ‹'€CØ‡G�GŒB”„OØ‡O�O”BœÕr*   c                 ó¼  — t         t        t        ft        t        t
        ffD ]·  \  }}} | ddd|d¬«      }|j                  ||«       |j                  |«      }|j                  }t        j                  |«      } | dd|d¬«      }t        d«      D ]  }	|j                  |||¬«       Œ |j                  |«      }
|j                  |k(  sJ ‚t        ||
d¬«       Œ¹ y )Nrs   rb   F)r{   r‰   r#   r‹   rŠ   ©r{   r‰   r‹   rŠ   rÉ   rÌ   )r5   r–   r  r@  rL  rM  r2   r=   r”   rt   rÏ   rÎ   r;   r   )ry   r—   ÚX_r«   ÚT_r˜   r°  ÚtrÊ   rƒ   Úy_pred2s              r(   Ú"test_partial_fit_equal_fit_classifrÌ  s  sÑ   € ô œ1œa�y¤2¤r¬2 ,Ð/ò >‰
ˆˆB�Ù˜$ T°AÀRÐQVÔWˆØ�‰��BŒØ×&Ñ& rÓ*ˆØ�F‰Fˆä—)‘)˜B“-ˆÙ˜$ T¸ÀUÔKˆÜ�q“ò 	5ˆAØ�O‰O˜B ¨GˆOÕ4ð	5à×'Ñ'¨Ó+ˆà�v‰v˜Š{Ðˆ{Ü! &¨'¸1Ö=ñ>r*   c                 ó  — t         j                  j                  d«      } | dddd|¬«      }|j                  t        t
        «       dt        j                  |j                  t        «      t
        k(  «      k(  sJ ‚ | dddd|¬«      }|j                  t        t
        «       dt        j                  |j                  t        «      t
        k(  «      k(  sJ ‚ | dd	|¬
«      }|j                  t        t
        «       dt        j                  |j                  t        «      t
        k(  «      k(  sJ ‚ | dddd|¬«      }|j                  t        t
        «       dt        j                  |j                  t        «      t
        k(  «      k(  sJ ‚y )Nra   rs   rœ   r,  Úepsilon_insensitive)r{   r‹   r‰   r°   r    rr   Úsquared_epsilon_insensitiveÚhuber)r{   r°   r    r²   )rt   rë   rì   r2   r5   r–   r|  r  )ry   r    r˜   s      r(   Útest_regression_lossesrÑ  †  s9  € ä—9‘9×(Ñ(¨Ó+€LÙ
ØØ ØØ"Ø!ô€Cð ‡G�GŒAŒq„MØ”"—'‘'˜#Ÿ+™+¤a›.¬AÑ-Ó.Ò.Ð.Ð.á
ØØ ØØ*Ø!ô€Cð ‡G�GŒAŒq„MØ”"—'‘'˜#Ÿ+™+¤a›.¬AÑ-Ó.Ò.Ð.Ð.á
�d °|Ô
D€CØ‡G�GŒAŒq„MØ”"—'‘'˜#Ÿ+™+¤a›.¬AÑ-Ó.Ò.Ð.Ð.á
ØØ ØØØ!ô€Cð ‡G�GŒAŒq„MØ”"—'‘'˜#Ÿ+™+¤a›.¬AÑ-Ó.Ò.Ð.Ñ.r*   c                 ó0   — t        | t        t        d«       y )Nr�   )r›   r@  rL  r  s    r(   Útest_warm_start_multiclassrÓ  ¬  s   € ä�UœB¤ IÕ.r*   c                 ó  —  | dd¬«      }|j                  t        t        «       t        |d«      sJ ‚t	        «       j                  t        «      D �cg c]	  }ddg|   ‘Œ }}|j                  t        d d …d d…f   |«       y c c}w )Nrs   Fr¤   r‘   ÚhamÚspamr`   )r2   r5   r–   rÃ   r   Úfit_transform)ry   r˜   rƒ   r6   s       r(   Útest_multiple_fitrØ  ±  sx   € ñ �d EÔ
*€CØ‡G�GŒAŒq„MÜ�3˜Ô Ð Ð ô &2£^×%AÑ%AÄ!Ó%DÖE ˆ%�ˆ˜Ó	ÐE€AÐEØ‡G�GŒAŠa��"�ˆf‰I�qÕùò 	Fs   ÁBc                 ó–   —  | ddd¬«      }|j                  ddgddgddggg d¢«       |j                  d   |j                  d   k(  sJ ‚y )Nr,  rb   Fr³  r   ra   )r   ra   rb   )r2   r‘   rÄ   s     r(   Útest_sgd_regrÚ  Á  sQ   € ñ �c A°UÔ
;€CØ‡G�Gˆa�ˆV�a˜�V˜a ˜VÐ$¢iÔ0Ø�9‰9�Q‰<˜3Ÿ9™9 Q™<Ò'Ð'Ñ'r*   c           
      ó’  — d}d}d}d}t         j                  j                  d«      }|j                  ||f¬«      }|j                  |¬«      }t        j                  ||«      } | dd||d	d
d	d¬«      }	|	j                  ||«       t        | ||||«      \  }
}t        |	j                  |
d¬«       t        |	j                  |d¬«       y )NrŒ   rs   r.  rè   r   r/  r²   rœ   Tra   Fr1  rË   rÌ   )rt   rë   rì   r3  rx   r2   r‡   r   r‘   r   r“   ©ry   rz   r{   r6  r7  r8  r5   r  r6   r˜   r   r�   s               r(   Ú$test_sgd_averaged_computed_correctlyrÝ  É  sÌ   € ð €CØ€EØ€IØ€JÜ
�)‰)×
Ñ
 Ó
"€CØ�
‰
˜ JÐ/ˆ
Ó0€AØ�
‰
˜
ˆ
Ó#€Aô 	�‰ˆq�!‹€Aá
ØØ ØØØØØØô	€Cð ‡G�GˆAˆq„MÜ)-¨e°Q¸¸3ÀÓ)FÑ&€OÐ&ä˜cŸi™i¨À"ÕEÜ˜Ÿ™Ð(9À2ÖFr*   c           
      ó@  — d}d}d}d}t         j                  j                  d«      }|j                  ||f¬«      }|j                  |¬«      }t        j                  ||«      } | dd||d	d
d	d¬«      }	|	j                  |d t        |dz  «       d d  |d t        |dz  «       «       |	j                  |t        |dz  «      d  d d  |t        |dz  «      d  «       t        | ||||«      \  }
}t        |	j                  |
d¬«       t        |	j                  d   |d¬«       y )NrŒ   rs   r.  rè   r   r/  r²   rœ   Tra   Fr1  rb   rË   rÌ   )rt   rë   rì   r3  rx   r;   Úintr‡   r   r‘   r   r“   rÜ  s               r(   Útest_sgd_averaged_partial_fitrà  ê  s.  € ð €CØ€EØ€IØ€JÜ
�)‰)×
Ñ
 Ó
"€CØ�
‰
˜ JÐ/ˆ
Ó0€AØ�
‰
˜
ˆ
Ó#€Aô 	�‰ˆq�!‹€Aá
ØØ ØØØØØØô	€Cð ‡O�O�AÐ*œ˜I¨™MÓ*Ð+©AÐ.°Ð2F´C¸	ÀA¹Ó4FÐ0GÔHØ‡O�O�A”c˜) a™-Ó(Ð*Ð+©AÐ.°´#°iÀ!±mÓ2DÐ2FÐ0GÔHÜ)-¨e°Q¸¸3ÀÓ)FÑ&€OÐ&ä˜cŸi™i¨À"ÕEÜ˜Ÿ™ qÑ)Ð+<ÀbÖIr*   c           
      óÒ  — d}d} | dd||dddd¬«      }t         j                  d	   }|j                  t        d t	        |d
z  «       d d  t         d t	        |d
z  «       «       |j                  t        t	        |d
z  «      d  d d  t         t	        |d
z  «      d  «       t        | t        t         ||«      \  }}t        |j                  |d¬«       t        |j                  |d¬«       y )NrŒ   rs   r²   rœ   Tra   Fr1  r   rb   rË   rÌ   )
rü   rv   r;   rû   rß  r‡   r   r‘   r   r“   )ry   rz   r{   r˜   r6  r   r�   s          r(   Útest_average_sparserâ    sâ   € ð €CØ€EÙ
ØØ ØØØØØØô	€Cô —‘˜‘€Ià‡O�O”BÐ+œ˜Y¨™]Ó+Ð,©QÐ/´Ð4H´c¸)Àa¹-Ó6HÐ1IÔJØ‡O�O”B”s˜9 q™=Ó)Ð+Ð,©QÐ/´´C¸	ÀA¹Ó4FÐ4HÐ1IÔJÜ)-¨e´R¼¸SÀ%Ó)HÑ&€OÐ&ä˜cŸi™i¨À"ÕEÜ˜Ÿ™Ð(9À2ÖFr*   c                 ó  — d\  }}d}t         j                  j                  d«      }t        j                  |||«      j	                  |d«      }d|j                  «       z  } | dddd	¬
«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚d|j                  «       z  |j                  |d«      j                  «       z   } | dddd	¬
«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚y )N©éûÿÿÿr$   rÈ   r   ra   rd   r²   r,  r.  F)r°   r{   r#   r  rn   ©	rt   rë   rì   Úlinspacer5  rØ   r2   ÚscoreÚrandn©	ry   ÚxminÚxmaxr6  r8  r5   r6   r˜   rè  s	            r(   Útest_sgd_least_squares_fitrí  &  sî   € à�J€Dˆ$Ø€IÜ
�)‰)×
Ñ
 Ó
"€CÜ
�‰�D˜$ 	Ó*×2Ñ2°9¸aÓ@€Að 	ˆa�g‰g‹i‰€Aá
�_¨C¸"ÈEÔ
R€CØ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�4Š<Ðˆ<ð 	ˆa�g‰g‹i‰˜#Ÿ)™) I¨qÓ1×7Ñ7Ó9Ñ9€Aá
�_¨C¸"ÈEÔ
R€CØ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�3Š;Ð‰;r*   c                 ó  — d\  }}d}t         j                  j                  d«      }t        j                  |||«      j	                  |d«      }d|j                  «       z  } | dddd	d
¬«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚d|j                  «       z  |j                  |d«      j                  «       z   } | dddd	d
¬«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚y )Nrä  rÈ   r   ra   rd   rÎ  rs   r,  r.  F©r°   Úepsilonr{   r#   r  rn   ræ  rê  s	            r(   Útest_sgd_epsilon_insensitiverñ  >  s  € à�J€Dˆ$Ø€IÜ
�)‰)×
Ñ
 Ó
"€CÜ
�‰�D˜$ 	Ó*×2Ñ2°9¸aÓ@€Að 	ˆa�g‰g‹i‰€Aá
Ø"ØØØØô€Cð ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�4Š<Ðˆ<ð 	ˆa�g‰g‹i‰˜#Ÿ)™) I¨qÓ1×7Ñ7Ó9Ñ9€Aá
Ø"ØØØØô€Cð ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�3Š;Ð‰;r*   c                 ó  — d\  }}d}t         j                  j                  d«      }t        j                  |||«      j	                  |d«      }d|j                  «       z  } | ddddd	¬
«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚d|j                  «       z  |j                  |d«      j                  «       z   } | ddddd	¬
«      }|j                  ||«       |j                  ||«      }|dkD  sJ ‚y )Nrä  rÈ   r   ra   rd   rÐ  r,  r.  Frï  rn   ræ  rê  s	            r(   Útest_sgd_huber_fitró  b  sô   € à�J€Dˆ$Ø€IÜ
�)‰)×
Ñ
 Ó
"€CÜ
�‰�D˜$ 	Ó*×2Ñ2°9¸aÓ@€Að 	ˆa�g‰g‹i‰€Aá
�W c°¸rÐQVÔ
W€CØ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�4Š<Ðˆ<ð 	ˆa�g‰g‹i‰˜#Ÿ)™) I¨qÓ1×7Ñ7Ó9Ñ9€Aá
�W c°¸rÐQVÔ
W€CØ‡G�GˆAˆq„MØ�I‰I�a˜‹O€EØ�3Š;Ð‰;r*   c           	      óÀ  — d\  }}t         j                  j                  d«      }|j                  ||«      }|j                  |«      }t        j                  ||«      }dD ]|  }dD ]u  }t        j                  ||d¬«      }	|	j                  ||«        | dd||d¬	«      }
|
j                  ||«       d
||fz  }t        |	j                  |
j                  d|¬«       Œw Œ~ y )N)rÝ   r$   r   )rs   rŒ   )rd   rj   rr   F)r{   rÿ   r  r  é2   )r¹   r#   r{   rÿ   r  zNcd and sgd did not converge to comparable results for alpha=%f and l1_ratio=%frb   )rÍ   r%  )
rt   rë   rì   ré  rx   r   Ú
ElasticNetr2   r   r‘   )ry   r6  r7  r8  r5   Úground_truth_coefr6   r{   rÿ   ÚcdÚsgdr%  s               r(   Útest_elasticnet_convergencerú  z  sö   € ð $Ñ€IˆzÜ
�)‰)×
Ñ
 Ó
"€CØ�	‰	�)˜ZÓ(€Að Ÿ	™	 *Ó-ÐÜ
�‰ˆqÐ#Ó$€Að ò QˆØ'ò 	QˆHÜ×(Ñ(Ø h¸eôˆBð �F‰F�1�aŒLÙØ$ØØØ!Ø#ôˆCð �G‰G�A�qŒMð7Ø:?ÀÐ9JñKð ô   §¡¨#¯)©)¸QÈÖPñ#	QñQr*   c                 ó&  — t         j                  d   dz  } | d¬«      }|j                  t         d | t        d | «       |j                  j                  t         j                  d   fk(  sJ ‚|j
                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚t        |j                  j                  «      }|j                  t         |d  t        |d  «       t        |j                  j                  «      }|sJ |«       ‚y )Nr   rc   rs   r�   ra   r^  )	r5   rv   r;   r–   r‘   r“   r  r»  rà   )ry   r¼  r˜   r½  r¾  s        r(   Útest_partial_fitrü  œ  sÛ   € ä�G‰G�A‰J˜!‰O€EÙ
�dÔ
€Cà‡O�O”A�f�u�Iœq  %˜yÔ)Ø�9‰9�?‰?œqŸw™w q™z˜mÒ+Ð+Ð+Ø�>‰>×Ñ 4Ò'Ð'Ð'Ø�;‰;˜˜A˜�xÓ ×&Ñ&¨$Ò.Ð.Ð.Ü
ˆS�Y‰Y�^‰^Ó
€Cà‡O�O”A�e�f�Iœq  ˜yÔ)Ü
ˆS�Y‰Y�^‰^Ó
€Cá€O�ƒO‰3r*   c                 óh  —  | ddd|d¬«      }|j                  t        t        «       |j                  t        «      }|j
                  } | dd|d¬«      }t        d«      D ]  }|j                  t        t        «       Œ |j                  t        «      }|j
                  |k(  sJ ‚t        ||d¬«       y )Nrs   rb   F)r{   r#   r‰   r‹   rŠ   rÇ  rÌ   )	r2   r5   r–   r  r  r”   rÎ   r;   r   )ry   r—   r˜   r°  rÊ  rƒ   rË  s          r(   Útest_partial_fit_equal_fitrþ  ­  s“   € ñ �d Q¨TÀÈUÔ
S€CØ‡G�GŒAŒq„MØ�[‰[œ‹^€FØ�‰€Aá
�d °RÀÔ
G€CÜ�1‹Xò ˆØ�‰œœ1Õðà�k‰kœ!‹n€Gà�6‰6�QŠ;Ðˆ;Ü˜f g°qÖ9r*   c                 óh   —  | d¬«      }|j                  d¬«       |j                  d   d   dk(  sJ ‚y )Nri   )rð  r,  rÐ  ra   )r•   rc  rÄ   s     r(   Útest_loss_function_epsilonr   ¾  s8   € á
˜Ô
€CØ‡N�N˜3€NÔØ×Ñ˜gÑ& qÑ)¨SÒ0Ð0Ñ0r*   c                 óæ  — |€#t        j                  |j                  d   «      }n|}t        j                  |j                  d   «      }|}d|z
  }	d}
d}| t        k(  rd}t	        |«      D ]~  \  }}t        j
                  ||«      }||	z  }|dk  rd}nd}|t        dd||z  z
  «      z  }|||z  |z   z  }|	|||z   z   |z  z  }	||z  }||z  }||dz   z  }|
|z  }
|
|	z  }
|
|dz   z  }
Œ€ |d|
z
  fS )Nra   rq   rr   rs   r`   r   )rt   ru   rv   r^   rw   rx   Úmax)ry   r5   rz   r¶  rŽ   r  ÚcoefrV  Úoffsetr€   r�   r‚   rƒ   r„   r…   r†   s                   r(   Úasgd_oneclassr  Ê  sG  € ØÐÜ�x‰x˜Ÿ™ ™
Ó#‰àˆä—8‘8˜AŸG™G A™JÓ'€LØ€FØ�F‘
€IØÐØ€Eð Ô$Ò$Øˆä˜a“Lò %‰ˆˆ5Ü�F‰F�5˜$ÓˆØ	ˆY‰ˆØ�Š8Ø‰HàˆHØ”�A�s˜S 2™X‘~Ó&Ñ&ˆØ�#˜‘. 5Ñ(Ð)Ñ)ˆØ�s˜b 8™mÑ,Ð-°Ñ5Ñ5ˆ	à˜ÑˆØ˜ÑˆØ˜˜C™Ñˆà˜QÑÐØ˜YÑ&ÐØ˜Q ™WÑ$Ñð#%ð& ˜Ð.Ñ.Ð.Ð.r*   c                 óL  —  | ddd|¬«      }|j                  |«        | ddd|¬«      }|j                  ||j                  j                  «       |j                  j                  «       ¬«        | dddd|¬«      }|j                  |«       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       |j                  d¬	«       |j                  |«       |j                  |j                  k(  sJ ‚t        |j                  |j                  «       y )
Nrd   rs   F)r¶  r‰   rŠ   r‹   r,  ©rŽ   r  T)r¶  r‰   rŠ   r�   r‹   ©r¶  )r2   r‘   r’   rÐ   r”   r   r•   )ry   r5   r—   r˜   r™   rš   s         r(   Ú_test_warm_start_oneclassr	  ð  sâ   € ñ �3˜T¨5ÀÔ
C€CØ‡G�GˆA„Já�C˜d¨EÀÔD€DØ‡H�HˆQ˜#Ÿ)™)Ÿ.™.Ó*¸¿¹×8HÑ8HÓ8J€HÔKñ �C˜d¨E¸dÐRTÔU€DØ‡H�HˆQ„Kà�7‰7�c—f‘fÒÐÐÜ�D—J‘J §	¡	Ô*à‡O�O�s€OÔØ‡H�HˆQ„Kà�7‰7�d—g‘gÒÐÐÜ�D—J‘J §
¡
Õ+r*   c                 ó&   — t        | t        |«       y r.   )r	  r5   r¡   s     r(   Útest_warm_start_oneclassr    s   € ô ˜e¤Q¨Õ+r*   c                 óö   —  | d¬«      }t        |«      }|j                  d¬«       |j                  t        «        | d¬«      }|j                  t        «       t	        |j
                  |j
                  «       y )Nrd   r  r,  )r   r•   r2   r5   r   r‘   r»   s      r(   Útest_clone_oneclassr    sU   € ñ �3Œ-€CÜ
�‹*€CØ‡N�N�c€NÔØ‡G�GŒA„Já�CŒ=€DØ‡H�HŒQ„Kä�s—y‘y $§*¡*Õ-r*   c                 óD  — t         j                  d   dz  } | d¬«      }|j                  t         d | «       |j                  j                  t         j                  d   fk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  ddgg«      j                  dk(  sJ ‚|j                  }|j                  t         |d  «       |j                  |u sJ ‚t        j                  t        «      5  |j                  t         d d …df   «       d d d «       y # 1 sw Y   y xY w)Nr   rc   r,  r  ra   r^  )	r5   rv   r;   r‘   rÐ   r  r¨   r©   rª   )ry   r¼  r˜   Úprevious_coefss       r(   Útest_partial_fit_oneclassr    sí   € ä�G‰G�A‰J˜!‰O€EÙ
�3Œ-€Cà‡O�O”A�f�u�IÔØ�9‰9�?‰?œqŸw™w q™z˜mÒ+Ð+Ð+Ø�;‰;×Ñ Ò$Ð$Ð$Ø�;‰;˜˜A˜�xÓ ×&Ñ&¨$Ò.Ð.Ð.Ø—Y‘Y€Nà‡O�O”A�e�f�IÔà�9‰9˜Ñ&Ð&Ð&ô 
�‰”zÓ	"ñ !Ø�‰œš!˜Q˜$™Ô ÷!÷ !ñ !ús   Ã0DÄDc                 óÚ  —  | ddd|d¬«      }|j                  t        «       |j                  t        «      }|j                  }|j
                  }|j                  } | ddd|d¬«      }t        d«      D ]  }|j                  t        «       Œ |j                  t        «      }|j                  |k(  sJ ‚t        ||«       t        |j
                  |«       t        |j                  |«       y )Nçš™™™™™©?rb   rs   F)r¶  r#   r‰   r‹   rŠ   ra   )r¶  r‰   r#   r‹   rŠ   )
r2   r5   r=   r  r”   r‘   rÐ   rÎ   r;   r   )	ry   r—   r˜   Úy_scoresrÊ  r  r  rÒ   Ú	y_scores2s	            r(   Ú#test_partial_fit_equal_fit_oneclassr  /  sÃ   € ñ �4 !¨$¸bÈ%Ô
P€CØ‡G�GŒA„JØ×$Ñ$¤QÓ'€HØ�‰€AØ�9‰9€DØ�[‰[€Fá
�4˜d¨Q¸bÈ%Ô
P€CÜ�1‹Xò ˆØ�‰œÕðà×%Ñ%¤aÓ(€Ià�6‰6�QŠ;Ðˆ;Ü�H˜iÔ(Ü�C—I‘I˜tÔ$Ü�C—K‘K Õ(r*   c                 óœ  — d}d} | dd||dd¬«      } | dd||dd¬«      }|j                  t        «       |j                  t        «       t        | t        |||j                  j	                  «       |j
                  ¬	«      \  }}t        |j                  j	                  «       |j	                  «       «       t        |j
                  |«       y )
NrŒ   r  r×   rœ   rb   F)r¾   r‹   r‰   r¶  r#   rŠ   ra   r  )r2   r5   r  r‘   rØ   rÐ   r   )ry   r‰   r¶  rÑ   r™   rV  Úaverage_offsets          r(   Ú*test_late_onset_averaging_reached_oneclassr  D  s½   € ð €DØ	€Bñ Ø °$¸2ÈÐSXô€Dñ ØØ ØØØØô€Dð 	‡H�HŒQ„KØ‡H�HŒQ„Kô $1ØŒq�$˜ d§j¡j×&6Ñ&6Ó&8ÀdÇlÁlô$Ñ €L�.ô �D—J‘J×$Ñ$Ó&¨×(:Ñ(:Ó(<Ô=Ü�D—L‘L .Õ1r*   c           	      ó4  — d}d}d}d}t         j                  j                  d«      }|j                  ||f¬«      } | d||dd	dd
¬«      }|j	                  |«       t        | |||«      \  }}	t        |j                  |«       t        |j                  |	«       y )NrŒ   r  r.  rè   r   r/  rœ   Tra   F©r‹   r‰   r¶  r  r#   r¾   rŠ   )	rt   rë   rì   r3  r2   r  r   r‘   rÐ   ©
ry   rz   r¶  r6  r7  r8  r5   r˜   rV  r  s
             r(   Ú-test_sgd_averaged_computed_correctly_oneclassr  e  sž   € ð €CØ	€BØ€IØ€JÜ
�)‰)×
Ñ
 Ó
"€CØ�
‰
˜ JÐ/ˆ
Ó0€Aá
Ø ØØØØØØô€Cð ‡G�GˆA„JÜ#0°¸¸3ÀÓ#CÑ €L�.ä�C—I‘I˜|Ô,Ü�C—K‘K Õ0r*   c           	      óž  — d}d}d}d}t         j                  j                  d«      }|j                  ||f¬«      } | d||dd	dd
¬«      }|j	                  |d t        |dz  «       d d  «       |j	                  |t        |dz  «      d  d d  «       t        | |||«      \  }}	t        |j                  |«       t        |j                  |	«       y )NrŒ   r  r.  rè   r   r/  rœ   Tra   Fr  rb   )
rt   rë   rì   r3  r;   rß  r  r   r‘   rÐ   r  s
             r(   Ú&test_sgd_averaged_partial_fit_oneclassr  €  s×   € ð €CØ	€BØ€IØ€JÜ
�)‰)×
Ñ
 Ó
"€CØ�
‰
˜ JÐ/ˆ
Ó0€Aá
Ø ØØØØØØô€Cð ‡O�O�AÐ*œ˜I¨™MÓ*Ð+©AÐ.Ô/Ø‡O�O�A”c˜) a™-Ó(Ð*Ð+©AÐ.Ô/Ü#0°¸¸3ÀÓ#CÑ €L�.ä�C—I‘I˜|Ô,Ü�C—K‘K Õ0r*   c           	      ób  — d}d} | d||dddd¬«      }t         j                  d   }|j                  t         d t        |d	z  «       «       |j                  t         t        |d	z  «      d  «       t	        | t         ||«      \  }}t        |j                  |«       t        |j                  |«       y )
NrŒ   rs   rœ   Tra   Fr  r   rb   )rû   rv   r;   rß  r  r   r‘   rÐ   )ry   rz   r¶  r˜   r6  rV  r  s          r(   Útest_average_sparse_oneclassr   œ  s§   € ð €CØ	€BÙ
Ø ØØØØØØô€Cô —‘˜‘€Ià‡O�O”BÐ+œ˜Y¨™]Ó+Ð,Ô-Ø‡O�O”B”s˜9 q™=Ó)Ð+Ð,Ô-Ü#0°¼¸CÀÓ#DÑ €L�.ä�C—I‘I˜|Ô,Ü�C—K‘K Õ0r*   c                  ó0  — d} d}d}t         j                  j                  |«      }d|j                  dd«      z  }t         j                  |dz   |dz
  f   }d|j                  dd«      z  }t         j                  |dz   |dz
  f   }t        |d| ¬	«      }|j                  |«       |j                  |«      }|j                  |«      j                  d
d«      }	d}
t        ||¬«      }t        | dd|
|d ¬«      }t        ||«      }|j                  |«       |j                  |«      }|j                  |«      j                  d
d«      }t        j                  ||k(  «      dk\  sJ ‚t        j                  t        j                  |	|f«      «      d   }|dk\  sJ ‚y )Nr  r-  r!   rr  éô  rb   rÈ   Úrbf)ÚgammaÚkernelr¶  ra   r`   é   )r$  r    T)r¶  rŠ   r  r#   r    r"   rn   rn  ri   )rt   rë   rì   ré  Úr_r   r2   r  r=   r5  r   rQ   r   r|  Úcorrcoefr©  )r¶  r$  r    r8  r5   ÚX_trainÚX_testr˜   Úy_pred_ocsvmÚ	dec_ocsvmr#   Ú	transformÚclf_sgdÚpipe_sgdÚy_pred_sgdocsvmÚdec_sgdocsvmr(  s                    r(   Útest_ocsvm_vs_sgdocsvmr2  µ  s�  € ð 
€BØ€EØ€Lô �)‰)×
Ñ
 Ó
-€CØˆc�i‰i˜˜QÓÑ€AÜ�e‰e�A˜‘E˜1˜q™5�LÑ!€GØˆc�i‰i˜˜QÓÑ€AÜ�U‰U�1�q‘5˜!˜a™%�<Ñ €Fô ˜E¨%°BÔ
7€CØ‡G�GˆGÔØ—;‘;˜vÓ&€LØ×%Ñ% fÓ-×5Ñ5°a¸Ó<€Ið €HÜ˜u°<Ô@€IÜØØØØØ!Øô€Gô ˜Y¨Ó0€HØ‡L�L�ÔØ×&Ñ& vÓ.€OØ×-Ñ-¨fÓ5×=Ñ=¸aÀÓD€Lä�7‰7�? lÑ2Ó3°tÒ;Ð;Ð;Ü�{‰{œ2Ÿ>™>¨9°lÐ*CÓDÓEÀdÑK€HØ�sŠ?Ð‰?r*   c                  ó’   — dD ]B  } t        | dddd¬«      }|j                  t        j                  «       |j                  dkD  rŒBJ ‚ y )N©r,  rd   ri   rÈ   rŒ   rœ   ©r¶  r#   r"   r‹   r‰   r¥  )rQ   r2   rß   rà   râ   )r¶  Úmodels     r(   Útest_sgd_oneclass_convergencer7  Þ  sN   € ð ò !ˆäØ˜C T¸È$ô
ˆð 	�	‰	”$—)‘)Ôð �}‰}˜qÓ Ð Ð ñ!r*   zeta0, max_iter)rŒ   i'  )ga2U0*©3?i N  c                 ó¨  — dD �]Ì  }t        ||d d| ¬«      }t        d|d¬«      }|j                  t        j                  «       |j                  t        j                  «       |j                  t        j                  «      }|j                  t        j                  «      }|j                  t        j                  «      }|j                  t        j                  «      }t        j                  ||«      d   }	t        j                  ||«      d   }
t        j                  t        j                  |j                  |j                   g«      t        j                  |j                  j                  «       |j                  g«      «      d   }|dk(  j                  «       t        |«      z  }|	d	kD  sJ ‚|
d
kD  sJ ‚|d	kD  sJ ‚t!        d|z
  |d¬«       �ŒÏ y )Nr4  rœ   r5  Úlinearç�íµ ÷Æ°>©r%  r¶  r"   rn  ra   rn   ro   rs   ©Úatol)rQ   r   r2   rß   rà   r  r=   rt   r(  r©  r‘   rÐ   Úflattenr“   rw  r  r   )r‰   r#   r¶  r6  Ú	model_refÚpredsÚdec_fnÚ	preds_refÚ
dec_fn_refÚdec_fn_corrÚ
preds_corrÚ	coef_corrÚ
share_oness                r(   Ú$test_sgd_oneclass_vs_linear_oneclassrH  ì  s~  € ð ó 7ˆäØ˜H¨$¸jÈtô
ˆô   x°B¸DÔAˆ	Ø�	‰	”$—)‘)ÔØ�‰”d—i‘iÔ à—‘œdŸi™iÓ(ˆØ×(Ñ(¬¯©Ó3ˆà×%Ñ%¤d§i¡iÓ0ˆ	Ø×0Ñ0´·±Ó;ˆ
ä—k‘k &¨*Ó5°dÑ;ˆÜ—[‘[ ¨	Ó2°4Ñ8ˆ
ä—K‘KÜ�N‰N˜EŸK™K¨%¯-©-¨Ð8Ó9Ü�N‰N˜IŸO™O×3Ñ3Ó5°y×7KÑ7KÐLÓMó
ð ñˆ	ð
 ˜q‘j×%Ñ%Ó'¬#¨e«*Ñ4ˆ
à˜TÒ!Ð!Ð!Ø˜DÒ Ð Ð Ø˜4ÒÐÐÜ˜˜J™¨°×6ñ97r*   r¶  r,  ri   c                 ó  — t         j                  }t        «       j                  |«      }t	        | ddddd¬«      }t        d| d¬	«      }|j                  |«       |j                  |«       t        |j                  |j                  d
¬«       y)zöTest that the `offset_` of `SGDOneClassSVM` is close to the `offset_`
    of `OneClassSVM` with `kernel="linear"`, given enough iterations and a
    suitable value for the `eta0` parameter, while also ensuring that the
    dataset is scaled.
    i@œ  Nr�   r:  r!   )r¶  r#   r"   r‹   r‰   r    r9  gñhãˆµøÔ>r;  gkN¹uÏµ>r<  )	rß   rà   r   r×  rQ   r   r2   r   rÐ   )r¶  r5   ÚX_scaledr6  r?  s        r(   Ú2test_sgd_oneclass_vs_linear_oneclass_offsets_matchrK    sz   € ô 	�	‰	€AÜÓ×-Ñ-¨aÓ0€HÜØØØØØØô€Eô  8°¸Ô=€IØ	‡I�IˆhÔØ‡M�M�(ÔÜ�E—M‘M 9×#4Ñ#4¸6ÖBr*   c                  óÀ  — t        j                  dddd¬«      \  } }t        ddd dd	d
¬«      j                  | |«      }t        dddd
d ¬«      j                  | |«      }t	        |j
                  |j
                  «       t        ddd ddd
¬«      j                  | |«      }t        dddd
d ¬«      j                  | |«      }t	        |j
                  |j
                  «       y )NrÝ   rÈ   r.  iÒ  )r6  r7  Ún_informativer    rŒ   r  r¥  g�Aòÿÿÿï?r!   )r{   r¹   r"   r#   rÿ   r    r¸   )r{   r¹   r#   r    r"   g»½×Ùß|Û=rº   )r   Úmake_classificationrV   r2   r   r‘   )r5   r6   Úest_enÚest_l1Úest_l2s        r(   Útest_l1_ratiorR  %  sí   € ä×'Ñ'Ø 3°bÀtô�D€A€qô
 ØØØØØØô÷ 
�cˆ!ˆQƒið ô Ø˜T¨A¸BÀDôç	�cˆ!ˆQƒið ô ˜fŸl™l¨F¯L©LÔ9ô ØØØØØØô÷ 
�cˆ!ˆQƒið ô Ø˜T¨A¸BÀDôç	�cˆ!ˆQƒið ô ˜fŸl™l¨F¯L©LÕ9r*   c                  ó¬  — t        j                  d¬«      5  t         j                  j                  d«      } d}d}| j	                  ||f¬«      }|d d …d d…fxx   dz  cc<   t        j
                  |«      j                  «       sJ ‚t        «       j                  |«      }t        j
                  |«      j                  «       sJ ‚| j	                  |¬«      }t        j                  ||«      d	kD  j                  t         j                  «      }t        t        j                  |«      dd
g«       t        ddd¬«      }|j                  ||«       t        j
                  |j                   «      j                  «       sJ ‚d}t#        j$                  t&        |¬«      5  |j                  ||«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚraise©rx  r   rÈ   rè   r/  rb   gœu ˆ<ä7~rq   ra   r,  r±   r"  )r{   r°   r#   zwFloating-point under-/overflow occurred at epoch #.* Scaling input data with StandardScaler or MinMaxScaler might help.r  )rt   ru  rë   rì   r3  Úisfiniterx  r   r×  rx   ÚastypeÚint32r   rÏ   rV   r2   r‘   r¨   r©   rª   )	r8  r6  r7  r5   rJ  Úground_truthr6   r6  Ú	msg_regxps	            r(   Útest_underflow_or_overflowr[  H  s‚  € Ü	�‰˜Ô	!ñ "ä�i‰i×#Ñ# AÓ&ˆØˆ	Øˆ
à�J‰J˜Y¨
Ð3ˆJÓ4ˆØ	Š!ˆRˆaˆRˆ%‹�EÑ‹Ü�{‰{˜1‹~×!Ñ!Ô#Ð#Ð#ô
  “>×/Ñ/°Ó2ˆÜ�{‰{˜8Ó$×(Ñ(Ô*Ð*Ð*ð —z‘z z�zÓ2ˆÜ�V‰V�H˜lÓ+¨cÑ1×9Ñ9¼"¿(¹(ÓCˆÜœ2Ÿ9™9 Q›<¨!¨Q¨Ô0ä C¨oÈÔLˆð 	�	‰	�(˜AÔÜ�{‰{˜5Ÿ;™;Ó'×+Ñ+Ô-Ð-Ð-ðð 	ô
 �]‰]œ:¨YÔ7ñ 	Ø�I‰I�a˜ŒO÷	÷C"ð "÷B	ð 	ú÷C"ð "ús$   —FG
ÆF>Æ-G
Æ>G	ÇG
Ç
Gc                  ó<  — t        ddddddddd ¬	«	      } t        j                  d
¬«      5  | j                  t        j
                  t        j                  «       d d d «       t        j                  | j                  «      j                  «       sJ ‚y # 1 sw Y   Œ9xY w)Nr±   rè   Tr  rr  rs   rŒ   r   )	r°   r#   rŠ   r¹   rÿ   r{   r‰   r    r"   rT  rU  )
rV   rt   ru  r2   rß   rà   rá   rV  r‘   rx  )r6  s    r(   Ú'test_numerical_stability_large_gradientr]  n  s�   € ô ØØØØØØØØØô
€Eô 
�‰˜Ô	!ñ *Ø�	‰	”$—)‘)œTŸ[™[Ô)÷*ä�;‰;�u—{‘{Ó#×'Ñ'Ô)Ð)Ñ)÷*ð *ús   «/BÂBr¹   )rº   r¸   r  c           	      ó@  — t        ddd| dd d¬«      }t        j                  d¬«      5  |j                  t        j
                  t        j                  «       d d d «       t        |j                  t        j                  |j                  «      «       y # 1 sw Y   Œ=xY w)	Ng     jø@rœ   r,  Fr¥  )r{   r‹   r‰   r¹   rŠ   r"   r#   rT  rU  )
rV   rt   ru  r2   rß   rà   rá   r   r‘   Ú
zeros_like)r¹   r6  s     r(   Útest_large_regularizationr`  �  sw   € ô ØØ ØØØØØô€Eô 
�‰˜Ô	!ñ *Ø�	‰	”$—)‘)œTŸ[™[Ô)÷*ä˜eŸk™k¬2¯=©=¸¿¹Ó+EÕF÷*ð *ús   ©/BÂBc                  óÄ  — t        «       j                  t        j                  «      } t        j                  dk(  }d}t        d d|¬«      }|j                  | |«       ||j                  k(  sJ ‚d}t        dd|¬«      }|j                  | |«       ||j                  kD  sJ ‚|j                  dkD  sJ ‚t        dd|¬«      }|j                  | |«       |j                  |j                  kD  sJ ‚|j                  dkD  sJ ‚t        dd	d¬
«      }d}t        j                  t        |¬«      5  |j                  | |«       d d d «       |j                  dk(  sJ ‚y # 1 sw Y   ŒxY w)Nra   r!   r   )r"   r    r#   rƒ  r$   r,  rc   rŒ   )r#   r"   r    zhMaximum number of iteration reached before convergence. Consider increasing max_iter to improve the fit.r  )r   r×  rß   rà   rá   rV   r2   râ   r¨   r
  r   )r5   r6   r#   Úmodel_0Úmodel_1Úmodel_2Úmodel_3Úwarning_messages           r(   Útest_tol_parameterrg  “  sI  € äÓ×&Ñ&¤t§y¡yÓ1€AÜ�‰�qÑ€Að €HÜ °1¸xÔH€GØ‡K�K��1ÔØ�w—‘Ò&Ð&Ð&ð €HÜ °¸HÔE€GØ‡K�K��1ÔØ�g—o‘oÒ%Ð%Ð%Ø�?‰?˜QÒÐÐô  °!¸hÔG€GØ‡K�K��1ÔØ�?‰?˜WŸ_™_Ò,Ð,Ð,Ø�?‰?˜QÒÐÐô  Q¨D¸qÔA€Gð	ð ô
 
�‰Ô(°Ô	@ñ Ø�‰�A�qÔ÷à�?‰?˜aÒÐÑ÷ð ús   Ä)EÅEc                 óŒ   — |D ]?  \  }}}}t        | j                  ||«      |«       t        | j                  ||«      |«       ŒA y r.   )r   Úpy_lossÚpy_dloss)Úloss_functionÚcasesr…   r6   Úexpected_lossÚexpected_dlosss         r(   Ú_test_loss_commonro  ·  sL   € ð 05ò JÑ+ˆˆ1ˆm˜^Ü˜M×1Ñ1°!°QÓ7¸ÔGÜ˜M×2Ñ2°1°aÓ8¸.ÕIñJr*   c                  ó˜   — t        j                  d«      } g d¢}t        | |«       t        j                  d«      } g d¢}t        | |«       y )Nrr   ))gš™™™™™ñ?rr   rq   rq   ©ç       ÀrÖ   rq   rq   )rr   rr   rq   rÖ   )rÖ   rÖ   rq   rr   )rd   rr   rd   rÖ   )r-  rÖ   ç      @rr   )re   rÖ   rd   rr   )rq   rr   ra   rÖ   rq   )©rr   rr   rq   rq   )rq  rÖ   rq   rq   )rq   rr   rq   rÖ   )rq   rÖ   rq   rr   )rd   rÖ   rd   rr   )r-  rÖ   r-  rr   )re   rr   rd   rÖ   )rÖ   rr   rr   rÖ   )Úsgd_fastÚHingero  ©r°   rl  s     r(   Útest_loss_hingerx  ¿  sH   € ô �>‰>˜#Ó€Dò
€Eô �d˜EÔ"ô �>‰>˜#Ó€Dò
€Eô �d˜EÕ"r*   c                  óN   — t        j                  d«      } g d¢}t        | |«       y )Nrr   )rt  rq  )rr   rÖ   ç      @rz  ©rÖ   rr   rz  ç      À)rd   rr   g      Ð?rÖ   ©rd   rÖ   g      @rs  )ru  ÚSquaredHingero  rw  s     r(   Útest_gradient_squared_hinger  à  s%   € ä× Ñ  Ó%€Dò€Eô �d˜EÕ"r*   c                  óL   — t        j                  «       } g d¢}t        | |«       y )N)rt  )rÖ   rÖ   rq   rq   )r-  rr   rq   rq   )rq   rr   rr   rr  r{  r}  )rr  rr   é   r|  )g      Àrr   é   r|  )ru  ÚModifiedHuberro  rw  s     r(   Útest_loss_modified_huberr„  ï  s#   € ä×!Ñ!Ó#€Dò
€Eô �d˜EÕ"r*   c                  óN   — t        j                  d«      } g d¢}t        | |«       y )Nr,  )©rq   rq   rq   rq   ©r,  rq   rq   rq   ©gffffff Àrr  rq   rq   ©gffffff@rs  rq   rq   )çš™™™™™@r-  r,  rr   )r-  rÖ   ç333333@rr   )r-  rŠ  r,  rÖ   )rr  rr   r‹  rÖ   )ru  ÚEpsilonInsensitivero  rw  s     r(   Útest_loss_epsilon_insensitiver�     s%   € ä×&Ñ& sÓ+€Dò
€Eô �d˜EÕ"r*   c                  óN   — t        j                  d«      } g d¢}t        | |«       y )Nr,  )r†  r‡  rˆ  r‰  )rŠ  r-  rs   rs  )r-  rÖ   çR¸…ëÑ @g333333@)r-  rŠ  rs   gš™™™™™É¿)rr  rr   r�  g333333À)ru  ÚSquaredEpsilonInsensitivero  rw  s     r(   Ú%test_loss_squared_epsilon_insensitiver‘    s%   € ä×-Ñ-¨cÓ2€Dò
€Eô �d˜EÕ"r*   c            	      ó\  — t        ddddddd¬«      } | j                  t        j                  t        j                  «       | j
                  | j                  kD  sJ ‚| j
                  | j                  dz   k  sJ ‚| j                  t        j                  t        j                  «      d	kD  sJ ‚y )
NrŒ   rÝ   TrÈ   r   rb   )r{   r"   r#   rÞ   rö   r    r[  r.  rj   )rV   r2   rß   rà   rá   râ   rö   rè  )r˜   s    r(   Ú0test_multi_thread_multi_class_and_early_stoppingr“  "  s‘   € ô ØØØØØØØô€Cð ‡G�GŒD�I‰I”t—{‘{Ô#Ø�;‰;˜×-Ñ-Ò-Ð-Ð-Ø�;‰;˜×-Ñ-°Ñ2Ò2Ð2Ð2Ø�9‰9”T—Y‘Y¤§¡Ó,¨sÒ2Ð2Ñ2r*   c                  óø   — t        j                  ddd«      g d¢dœ} t        dddd	¬
«      }t        || ddd	¬«      }|j	                  t
        j                  t
        j                  «       |j                  dkD  sJ ‚y )Néüÿÿÿr„  r?  )r$   rè   rõ  )r{   rö   rs   rÝ   Tr   )r"   r#   rÞ   r    r$   rb   )Ún_iterr[  r    rj   )	rt   ÚlogspacerV   r   r2   rß   rà   rá   Úbest_score_)Ú
param_gridr˜   Úsearchs      r(   Ú-test_multi_core_gridsearch_and_early_stoppingr›  4  sn   € ô
 —‘˜R  AÓ&Ú'ñ€Jô
 ˜D¨4ÀÐSTÔ
U€CÜ  Z¸À!ÐRSÔT€FØ
‡J�JŒt�y‰yœ$Ÿ+™+Ô&Ø×Ñ Ò#Ð#Ñ#r*   Úbackend)ÚlokyÚmultiprocessingÚ	threadingc                 óš  — t         j                  j                  d«      }t        ddd|¬«      }|j	                  dd«      }t        dd	d¬
«      }|j                  ||«       t        ddd¬
«      }t        j                  | ¬«      5  |j                  ||«       d d d «       t        |j                  |j                  «       y # 1 sw Y   Œ*xY w)Nr!   )r"  rƒ  g{®Gáz”?Úcsr)Údensityrd  r8  r.  r"  rÝ   ra   )r#   r[  r    r„  )rœ  )rt   rë   rì   r   ÚchoicerV   r2   ÚjoblibÚparallel_backendr   r‘   )rœ  r    r5   r6   Úclf_sequentialÚclf_parallels         r(   Ú'test_SGDClassifier_fit_for_all_backendsr¨  C  sµ   € ô  —9‘9×(Ñ(¨Ó,€Lô
 	˜[°$¸uÈ,ÔW€AØ×Ñ˜B Ó$€Aô #¨D¸ÈÔL€NØ×Ñ�q˜!Ôô !¨$°qÀrÔJ€LÜ	×	 Ñ	 ¨Ô	1ñ Ø×Ñ˜˜AÔ÷ä˜n×2Ñ2°L×4FÑ4FÕG÷ð ús   ÂCÃC
c                 óh  — | t         j                  k(  rt        j                  |¬«      \  }}nt        j                  |¬«      \  }} | |d¬«      }t        j                  t        «      5  |j                  ||«      j                  }|j                  dk(  sJ ‚	 d d d «        | |d¬«      }t        j                  t        «      5  |j                  ||«      j                  }|j                  dk(  sJ ‚	 d d d «       t        «        | |dz   d¬«      }t        j                  t        «      5  |j                  ||«      j                  }|j                  dk(  sJ ‚	 d d d «       t        j                  |z
  «      j                  «       dkD  sJ ‚y # 1 sw Y   ŒøxY w# 1 sw Y   ŒªxY w# 1 sw Y   ŒMxY w)N)r    ra   )r    r#   rr   )r   rH   r   Úmake_regressionrN  r¨   r
  r   r2   r‘   râ   r   rt   Úabsr  )rþ   Úglobal_random_seedr5   r6   r¯   Úcoef_same_seed_aÚcoef_same_seed_bÚcoef_other_seeds           r(   Útest_sgd_random_stater°  g  s�  € ð ”L×-Ñ-Ò-Ü×'Ñ'Ð5GÔH‰ˆ‰1ä×+Ñ+Ð9KÔL‰ˆˆ1ñ
 Ð!3¸aÔ
@€CÜ	�‰Ô(Ó	)ñ  ØŸ7™7 1 a›=×.Ñ.ÐØ�{‰{˜aÒÐÑ÷ ñ Ð!3¸aÔ
@€CÜ	�‰Ô(Ó	)ñ  ØŸ7™7 1 a›=×.Ñ.ÐØ�{‰{˜aÒÐÑ÷ ô Ð$Ð&6Ô7ñ Ð!3°aÑ!7À!Ô
D€CÜ	�‰Ô(Ó	)ñ  ØŸ'™' ! Q›-×-Ñ-ˆØ�{‰{˜aÒÐÑ÷ ô �6‰6Ð" _Ñ4Ó5×9Ñ9Ó;¸cÒAÐAÑA÷) ð  ú÷
 ð  ú÷ ð  ús$   Á*.FÃ.FÄ-.F(ÆFÆF%Æ(F1c                 óÈ  — t         j                  t         j                  }}|j                  d   }d}t	        j
                  ddd|¬«      }t        t        j                  ¬«      }| j                  t        d|«       |j                  ||«       |j                  d   d	d
 \  }}|j                  d   t        ||z  «      k(  sJ ‚|j                  d   t        ||z  «      k(  sJ ‚y)ziTest that data passed to validation callback correctly subsets.

    Non-regression test for #23255.
    r   rs  TrŒ   rÝ   )rÞ   r"   r#   ré   )Úside_effectÚ_ValidationScoreCallbackra   rc   N)rß   rà   rá   rv   r   rV   r   r   r³  Úsetattrr2   Ú	call_argsrß  )	Úmonkeypatchr5   r–   r6  ré   r˜   ÚmockÚX_valÚy_vals	            r(   Ú&test_validation_mask_correctly_subsetsrº  �  sÓ   € ô
 �9‰9”d—k‘k€q€AØ—‘˜‘
€IØÐÜ
×
$Ñ
$ØØØØ/ô	€Cô Ô0×IÑIÔJ€DØ×ÑÔ,Ð.HÈ$ÔOØ‡G�GˆAˆq„Mà—>‘> !Ñ$ Q qÐ)�L€Eˆ5Ø�;‰;�q‰>œS Ð-@Ñ!@ÓAÒAÐAÐAØ�;‰;�q‰>œS Ð-@Ñ!@ÓAÒAÐAÑAr*   c                  ó.  — t         j                  t         j                  }} t        j                  |«      }d}t        j                  d|d¬«      }d}t        j                  t        |¬«      5  |j                  | ||¬«       d d d «       y # 1 sw Y   y xY w)Nrç   Tr   )rÞ   ré   r    z\The sample weights for validation set are all zero, consider using a different random state.r  r�  )rß   rà   rá   rt   r_  r   rV   r¨   r©   rª   r2   )r5   r–   rž  ré   r˜   Úerror_messages         r(   Ú(test_sgd_error_on_zero_validation_weightr½  ¥  sƒ   € ô �9‰9”d—k‘k€q€AÜ—M‘M !Ó$€MØÐä
×
$Ñ
$ØÐ1DÐSTô€Cð
	#ð ô 
�‰”z¨Ô	7ñ 3Ø�‰��1 MˆÔ2÷3÷ 3ñ 3ús   Á-BÂBc                 óF   —  | d¬«      j                  t        t        «       y)z!non-regression test for gh #25249ra   )ÚverboseN)r2   r5   r–   )rþ   s    r(   Útest_sgd_verboserÀ  ¸  s   € ñ �aÔ×ÑœQ¤Õ"r*   ÚSGDEstimatorÚ	data_typec                 óÌ   — t         j                  |«      }t        j                  t        |¬«      } | «       }|j                  ||«       |j                  j                  |k(  sJ ‚y )N©Údtype)r5   rW  rt   r¥   r–   r2   r‘   rÅ  )rÁ  rÂ  Ú_XÚ_YÚ	sgd_models        r(   Útest_sgd_dtype_matchrÉ  ¾  sO   € ô 
�‰�)Ó	€BÜ	�‰”!˜9Ô	%€BÙ“€IØ‡M�M�"�bÔØ�?‰?× Ñ  IÒ-Ð-Ñ-r*   c                 óè  — t         j                  t        j                  ¬«      }t        j                  t
        t        j                  ¬«      }t         j                  t        j                  ¬«      }t        j                  t
        t        j                  ¬«      } | dd¬«      }|j                  ||«        | dd¬«      }|j                  ||«       t        |j                  |j                  «       y )NrÄ  é   F)r#   rŠ   )
r5   rW  rt   Úfloat64r¥   r–   Úfloat32r2   r   r‘   )rÁ  ÚX_64ÚY_64ÚX_32ÚY_32Úsgd_64Úsgd_32s          r(   Útest_sgd_numerical_consistencyrÔ  Ò  sš   € ô �8‰8œ"Ÿ*™*ˆ8Ó%€DÜ�8‰8”AœRŸZ™ZÔ(€Dä�8‰8œ"Ÿ*™*ˆ8Ó%€DÜ�8‰8”AœRŸZ™ZÔ(€Dá 2¨uÔ5€FØ
‡J�Jˆt�TÔá 2¨uÔ5€FØ
‡J�Jˆt�TÔä�F—L‘L &§,¡,Õ/r*   c                  óL   — t        «       } t        | «      j                  dk(  sJ ‚y)z}Check that SGDOneClassSVM has the correct estimator type.

    Non-regression test for if the mixin was not on the left.
    Úoutlier_detectorN)rQ   r   Úestimator_type)Ú	sgd_ocsvms    r(   Ú%test_sgd_one_class_svm_estimator_typerÙ  í  s&   € ô
 Ó €IÜ�IÓ×-Ñ-Ð1CÒCÐCÑCr*   c                  ó¼  ‡— d} dŠd\  }}d}ˆfd„}t        |||¬«      \  }}t        j                  ||j                  ¬«      }t        j                  |dz   «      }t        ||d	||| fd
di¬«      }	|	j                  }
|
dd }d|
d   z
  }t        | dddd|¬«      }|j                  ||«       t        |j                  |d¬«       t        |j                  |d¬«       y)zBTest that SGDOneClassSVM minimizes the correct objective function.rd   rr   )i,  rc   r!   c                 óº   •— | d d }| d   }||z  |z   }||z  }t        j                  t        j                  ‰|z
  d«      «      }d|z  |z  |z  }	||	z   ||z  z   }
|
S )Nr`   rq   rd   )rt   r|  Úmaximum)r  r5   r6   r{   r~   r€   r…   ÚzÚavg_lossÚregÚobjÚhinge_thresholds              €r(   Ú	objectivezItest_sgd_one_class_svm_formulation_with_scipy_minimize.<locals>.objectiveý  sw   ø€ Ø�C�R�&ˆØ�b‘Eˆ	Ø�‰K˜)Ñ#ˆØ�‰EˆÜ—7‘7œ2Ÿ:™: o¸Ñ&9¸3Ó?Ó@ˆØ�E‰k˜GÑ# gÑ-ˆØ˜‰n˜y¨5Ñ0Ñ0ˆØˆ
r*   )r6  r7  r    rÄ  ra   zNelder-MeadÚmaxiterrÝ   )Úmethodr7   ÚoptionsNr`   rœ   i   rÕ   )r¶  r‹   r#   r"   r‰   r    g{®Gázt?)Úrtolrs   )r
   rt   rA  rÅ  ru   r   r  rQ   r2   r   r‘   rÐ   )r¶  r6  r7  Úrandom_seedrâ  r5   rÒ   r6   Úw0Úscipy_outputÚw_outÚexpected_coefÚexpected_offsetr6  rá  s                 @r(   Ú6test_sgd_one_class_svm_formulation_with_scipy_minimizerí  ö  sô   ø€ à	€BØ€OØ"Ñ€IˆzØ€Kôô ØØØ ô�D€A€qô
 	�‰�	 §¡Ô)€AÜ	�‰�*˜q‘.Ó	!€BÜØØ
ØØ��BˆZØ˜DÐ!ô€Lð �N‰N€EØ˜#˜2�J€MØ˜% ™)‘m€OäØØ ØØØØ ô€Eð 
‡I�Iˆa�„Oä�E—K‘K °TÕ:Ü�E—M‘M ?¸Ö>r*   )Nrq   )¹rŠ  r  Úunittest.mockr   r¤  Únumpyrt   r¨   Úscipy.sparseÚsparser/   Úscipy.optimizer   Úsklearnr   r   r   Úsklearn.baser   r	   Úsklearn.datasetsr
   Úsklearn.exceptionsr   Úsklearn.kernel_approximationr   Úsklearn.linear_modelr   ru  r   Úsklearn.model_selectionr   r   r   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   r   r   Úsklearn.svmr   Úsklearn.utilsr   Úsklearn.utils._sparser   Úsklearn.utils._testingr   r   r   r   Úsklearn.utils.fixesr   r)   rV   r,   rH   rF   rQ   rO   rZ   r\   r^   r¥   r5   r–   r  r  r@  rL  rM  rN  rû   rü   r…  r‡  Ú	load_irisrß   r(  r)  Útrue_result5r‡   r›   ÚmarkÚparametrizer¢   r¬   rµ   r¼   rÅ   rÓ   rÚ   rã   rå   rô   rù   rý   r  r  r  r  r  ru   r#  r&  r*  r9  r<  rB  rG  rQ  rW  rY  r\  r_  rl  r€  Úno_check_spmatrixr�  r•  r™  r›  r£  r±  r´  r·  r¹  r¿  rÁ  rÃ  rÅ  rÌ  rÑ  rÓ  rØ  rÚ  rÝ  rà  râ  rí  rñ  ró  rú  rü  rþ  r   r  r	  r  r  r  r  r  r  r  r   r2  r7  rH  rK  rR  r[  r]  r`  rg  ro  rx  r  r„  r�  r‘  r“  r›  r¨  r°  rº  r½  rÀ  rÍ  rÌ  rÉ  rÔ  rÙ  rí  r%   r*   r(   ú<module>r     s•  ðÛ Û Ý ã Û Û Ý Ý #ç 3Ñ 3ß -Ý 'Ý 1Ý 1Ý 6Ý 5÷ñ õ
 +ß SÓ SÝ #Ý "Ý 6÷ó õ 5òô(˜<×5Ñ5ô (ô$
˜,×3Ñ3ô 
ô S˜L×7Ñ7ô Sò0ò
/ò
1ò
*ò
)ò
+ð €B‡H�Hˆr�2ˆh˜˜R˜ 2 r (¨Q°¨F°Q¸°F¸QÀ¸FÐCÓD€Ú€Ø€B‡H�Hˆr�2ˆh˜˜A˜  A Ð'Ó(€Ú€ð €R‡X�Xà	ˆQˆØ	�ˆØ	ˆsˆØ	
ˆAˆØ	ˆsˆØ	ˆcˆ
Ø	ˆRˆØ	
ˆDˆ	Ø	
ˆBˆð
ó€ð €Wˆq�[�E�7˜Q‘;Ñ ' ¨Q¡Ñ.€Ø€R‡X�X��cˆ{˜Q ˜F Q¨ GÐ,Ó-€Ú&€ð €R‡X�XâÚÚÚÚÚÚÚð	ó€ð €R‡X�XÒ&Ó'€ð €R‡X�XâÚ Ú Ú Ú Ú Ú Úð	ó€ð €R‡X�XÒ&Ó'€à€x×ÑÓ€ð €R‡X�X��Bˆx˜"˜b˜ B¨ 8¨a°¨V°a¸°V¸aÀ¸VÐDÓE€Ú€Ú€ó.òD6ð0 ‡�×ÑØˆmÐ0°,Ð@RÐSóð ‡�×Ñ˜ÒPÓQñ&ó Róð&ð ‡�×ÑØˆmÐ0°,Ð@RÐSóñóðð ‡�×Ñ˜  u˜~Ó.Ø‡�×ÑØ
ˆF€O�} oÐ6¸ÀÐ8WÐXóñóó /ðð ‡�×ÑØˆmÐ0°,Ð@RÐSóñ
.óð
.ð ‡�×ÑØàØØØØØðó
ñ.ó
ð.ð$ ‡�×ÑØàØØØØØðó
ñ4ó
ð4ð$ ‡�×ÑØˆmÐ0°,Ð@RÐSóñ(Hóð(HðV ‡�×ÑØˆmÐ0°,Ð@RÐSóñ&óð&ð ‡�×ÑØˆmÐ0°,Ð@RÐSóñ'óð'ð ‡�×ÑØˆmÐ0°,Ð@RÐSóñ&/óð&/ðR ‡�×ÑØˆmÐ0°,Ð@RÐSóñ=óð=ð$ ‡�×ÑØˆmÐ0°,Ð@RÐSóñóðð ‡�×Ñ˜ }°lÐ&CÓDØ‡�×Ñ˜¢[Ó1ñ,ó 2ó Eð,ð ‡�×ÑØ�-Ð!4°lÐDVÐWóñóðð ‡�×ÑØàØØØØØðó
ñó
ðð* ‡�×Ñ˜ =Ð2EÐ"FÓGñ8ó Hð8ð" ‡�×ÑØˆmÐ0°.ÐBVÐWóñ4óð4ð ‡�×ÑØà	Ð)¨8¨2¯8©8°D«>Ð:Ð;Ø	Ð/°°·±¸$³Ð@ÐAØ	˜-¨¨¯©°$«Ð8Ð9Ø	 ¨x¨r¯x©x¸«~Ð>Ð?ð	óñ.óð.ð ‡�×ÑØˆmÐ0°,Ð@RÐSóñ5óð5ð ‡�×ÑØà	Ð)¨1Ð-Ð.Ø	Ð/°Ð3Ð4Ø	˜-¨Ð+Ð,Ø	 ¨qÐ1Ð2ð	óñ&óð&ð ‡�×Ñ˜ =Ð2EÐ"FÓGñGó HðGðB ‡�×Ñ˜ =Ð2EÐ"FÓGñ5ó Hð5ð ‡�×Ñ˜ =Ð2EÐ"FÓGñ ó Hð ð ‡�×Ñ˜ =Ð2EÐ"FÓGñOó HðOð  ‡�×Ñ˜ =Ð2EÐ"FÓGñ+ó Hð+ð ‡�×Ñ˜ =Ð2EÐ"FÓGñNó HðNð6 ‡�×Ñ˜ =Ð2EÐ"FÓGñ+ó Hð+ð ‡�×Ñ˜ =Ð2EÐ"FÓGñ+ó Hð+ð ‡�×Ñ˜ =Ð2EÐ"FÓGñ=ó Hð=ð( ‡�×Ñ˜ =Ð2EÐ"FÓGñ?ó Hð?ðB ‡�×Ñ˜ =Ð2EÐ"FÓGñD7ó HðD7ðN ‡�×ÑØ‡�×Ñ˜ =Ð2EÐ"FÓGñ! ó Hó ð! ðH ‡�×Ñ˜ =Ð2EÐ"FÓGñCó HðCð$ ‡�×Ñ˜ =Ð2EÐ"FÓGñBó HðBð  ‡�×Ñ˜ =Ð2EÐ"FÓGñó Hðð ‡�×Ñ˜ =Ð2EÐ"FÓGñ0ó Hð0ð$ ‡�×Ñ˜ =Ð2EÐ"FÓGñ+Bó Hð+Bð\ ‡�×Ñ˜ =Ð2EÐ"FÓGñCó HðCð" ‡�×ÑØˆmÐ0°.ÐBVÐWóñ2óð2ð ‡�×Ñ˜ =Ð2EÐ"FÓGñ ó Hð ð ‡�×Ñ˜ =Ð2EÐ"FÓGñ,ó Hð,ð( ‡�×Ñ˜ =Ð2EÐ"FÓGñó Hðð" ‡�×Ñ˜ =Ð2EÐ"FÓGñ(ó Hð(ð ‡�×Ñ˜ =Ð2EÐ"FÓGñó Hðð ‡�×Ñ˜ =Ð2EÐ"FÓGØ‡�×Ñ˜ÒPÓQñ>ó Ró Hð>ð" ‡�×Ñ˜ =Ð2EÐ"FÓGñ"/ó Hð"/ðJ ‡�×Ñ˜ =Ð2EÐ"FÓGñ/ó Hð/ð ‡�×Ñ˜ =Ð2EÐ"FÓGñó Hðð ‡�×Ñ˜ <Ð1CÐ"DÓEñ(ó Fð(ð ‡�×Ñ˜ <Ð1CÐ"DÓEñGó FðGð@ ‡�×Ñ˜ <Ð1CÐ"DÓEñJó FðJð@ ‡�×Ñ˜ <Ð1CÐ"DÓEñGó FðGð4 ‡�×Ñ˜ <Ð1CÐ"DÓEñó Fðð. ‡�×Ñ˜ <Ð1CÐ"DÓEñ ó Fð ðF ‡�×Ñ˜ <Ð1CÐ"DÓEñó Fðð. ‡�×Ñ˜ <Ð1CÐ"DÓEñQó FðQðB ‡�×Ñ˜ <Ð1CÐ"DÓEñó Fðð  ‡�×Ñ˜ <Ð1CÐ"DÓEØ‡�×Ñ˜ÒPÓQñ:ó Ró Fð:ð ‡�×Ñ˜ <Ð1CÐ"DÓEñ1ó Fð1ó#/ðL ‡�×Ñ˜ >Ð3GÐ"HÓIñ,ó Jð,ð, ‡�×Ñ˜ >Ð3GÐ"HÓIØ‡�×Ñ˜ÒPÓQñ,ó Ró Jð,ð ‡�×Ñ˜ >Ð3GÐ"HÓIñ
.ó Jð
.ð ‡�×Ñ˜ >Ð3GÐ"HÓIñ!ó Jð!ð& ‡�×Ñ˜ >Ð3GÐ"HÓIØ‡�×Ñ˜ÒPÓQñ)ó Ró Jð)ð& ‡�×Ñ˜ >Ð3GÐ"HÓIñ2ó Jð2ð@ ‡�×Ñ˜ >Ð3GÐ"HÓIñ1ó Jð1ð4 ‡�×Ñ˜ >Ð3GÐ"HÓIñ1ó Jð1ð6 ‡�×Ñ˜ >Ð3GÐ"HÓIñ1ó Jð1ò0&òR!ð ‡�×ÑÐ)¨M¸=Ð+IÓJñ7ó Kð7ðB ‡�×Ñ˜  S˜zÓ*ñCó +ðCò, :òF#òL*ð& ‡�×Ñ˜Ò$>Ó?ñGó @ðGò"! òHJò#òB#ò#ò"#ò"#ò"3ò$$ð ‡�×Ñ˜Ò$LÓMñ Hó Nð HðF ‡�×ÑØ�,×,Ñ,¨l×.GÑ.GÐHóñ Bóð BòFBò03ð& ‡�×Ñ˜ }°lÐ&CÓDñ#ó Eð#ð
 ‡�×ÑØàØØØØØðó
ð ‡�×Ñ˜ r§z¢z°2·:²:Ð&>Ó?ñ.ó @ó
ð.ð ‡�×ÑØàØØØØØðó
ñ0ó
ð0ò Dó.?r*   