Ë
    êÿæiYT  ã                   óÎ  — d dl Z d dlmZ d dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZ d d	lmZ d d
lmZmZmZmZmZ d dl m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(  ejR                  d dgdd gg«      Z*d e*dd…d f<    e+eez   ez   ez   ez   «      e,e-ej\                  ej^                  e0ejb                  ffd„Z2g  e2ejf                  ji                  d«      jk                  dd¬«      ee-f¬«      ¢d dgdd gg‘d dgg‘ e2e*ee-f¬«      ¢ e2d dgdd gg«      ¢ e2d d gd d gg«      ¢ e2d dgg«      ¢ddgddgg‘ ejR                  ddgddgg«      ‘ ejR                  ddgddgg«      ‘ e ejR                  ddgddgg«      «      ‘g d¢ ejR                  g d¢«       ejR                  g d¢ej\                  ¬«       ejR                  g d¢ej^                  ¬«       ejR                  g d¢e0¬«       ejR                  g d¢ejb                  ¬«       ejR                  dgd gdgg«       e ejR                  g d¢«      «      g d¢g d¢ ejR                  g d¢«       ejR                  g d¢e6¬«       ejR                  g d¢e6¬«      gg d¢g d¢gddgd d!gg ejR                  g d¢g d¢g«       ejR                  g d¢g d¢gej\                  ¬«       ejR                  g d¢g d¢gej^                  ¬«       ejR                  g d¢g d¢ge0¬«       ejR                  g d¢g d¢gejb                  ¬«      g e2g d¢g d¢geez   e-ej\                  ej^                  e0ejb                  f¬«      ¢ ejR                  ddgd d!gg«      ‘ ejR                  ddgd d!gg«      ‘ ejR                  ddgd d!gge6¬«      ‘ ejR                  g d¢g«      ‘ e ejR                  g d¢g«      «      ‘d dgddgg d g ejR                  g d"¢«       ejR                  g d"¢e,¬«       ejR                  g d"¢ej\                  ¬«       ejR                  g d"¢ej^                  ¬«       ejR                  g d"¢e0¬«       ejR                  g d"¢ejb                  ¬«       ejR                  d gdgg«       e ejR                  d gdgg«      «      ddgdd#gdgddgd$d%g ejR                  d$d%g«      ddg ejR                  d$d%ge6¬«      gd&gd d'g ejR                  d gd'gg«       ejR                  d gd'ggejb                  ¬«      g ejR                  d d'gd'd gg«       ejR                  d d'gd'd ggejb                  ¬«       ejR                  d d'gg«      g e2d d'gd'd ggeez   e0ejb                  f¬«      ¢ e2d d'ggeez   e0ejb                  f¬«      ¢g g ejR                  g ge6¬«      d(g ejR                   ejR                  g «       ejR                  g d)¢«      ge6¬«       ejR                  g «       ejR                  g d)¢«      gh d*£ddhg e7g d)¢«       e7ddg«      gddd+œd dig ejR                  d «       ejR                  g g g«       ejR                  d dgddggd,d#gd-d.ggg«      gd/œZ8ejf                  ji                  d«      jk                  dd¬«      d dgdd ggd dgge*d d gd d ggddgddgg ejR                  ddgddgg«       ejR                  ddgddgg«       e ejR                  ddgddgg«      «      g	g d¢ ejR                  g d¢«       ejR                  g d¢ej\                  ¬«       ejR                  g d¢ej^                  ¬«       ejR                  g d¢e0¬«       ejR                  g d¢ejb                  ¬«       ejR                  dgd gdgg«       e ejR                  g d¢«      «      g d¢g	g d¢g d¢g ejR                  g d¢g d¢g«       ejR                  g d¢g d¢gej\                  ¬«       ejR                  g d¢g d¢gej^                  ¬«       ejR                  g d¢g d¢ge0¬«       ejR                  g d¢g d¢gejb                  ¬«       ejR                  g d¢g«       e ejR                  g d¢g«      «      gd dgddgg d g ejR                  g d"¢«       ejR                  g d"¢e,¬«       ejR                  g d"¢ej\                  ¬«       ejR                  g d"¢ej^                  ¬«       ejR                  g d"¢e0¬«       ejR                  g d"¢ejb                  ¬«       ejR                  d gdgg«       e ejR                  d gdgg«      «      ddgdd#ggd&gd d'g ejR                  d gd'gg«       ejR                  d gd'ggejb                  ¬«      g ejR                  d d'gd'd gg«       ejR                  d d'gd'd ggejb                  ¬«       ejR                  d d'gg«      gg gd(g ejR                  d «       ejR                  d dgddggd,d#gd-d.ggg«      gd/œZ9h d*£ddd+œd#gd#gd+œd$ e7g d)¢«      dgZ:dgdgd dggg d0¢ ejR                  g ddggd1¬«       e ejR                  g ddggd1¬«      «      gZ;d2„ Z<d3„ Z=d4„ Z>d5„ Z?d6„ Z@ej‚                  j…                  d7 e«       e¬8«      d9„ «       ZCd:„ ZDd;„ ZEd<„ ZFd=„ ZGej‚                  j…                  d>g d?¢«      d@„ «       ZHej‚                  j…                  dAe«      dB„ «       ZIdC„ ZJdD„ ZKej‚                  j…                  dEdFdGg«      dH„ «       ZLy)Ié    N)Úproduct)Úissparse)Úconfig_contextÚdatasets)ÚShuffleSplit)ÚSVC)Ú_get_namespace_device_dtype_idsÚ)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_array_almost_equalÚassert_array_equal)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERS)Ú_safe_split)Ú_ovr_decision_functionÚcheck_classification_targetsÚclass_distributionÚis_multilabelÚtype_of_targetÚunique_labelsé   c           	      óP   — |D ��cg c]  }|D ]  } || |¬«      ‘Œ Œ c}}S c c}}w )N©Údtype© )ÚdataÚsparse_containersÚdtypesÚsparse_containerr    s        úx/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sklearn/utils/tests/test_multiclass.pyÚ_generate_sparser'   ,   s>   € ñ !2ôá 1ÐÛˆEñ 	˜ UÖ+àð 	,Ø 1òð ùó s   †"é*   é   )é
   r*   )Úsize)r#   r$   éÿÿÿÿéýÿÿÿé   )
r   r   r)   r)   r   é   r)   r/   r/   r/   ©r   r   r)   r   ©r   r   r)   )ÚaÚbÚc)r   r   r)   r)   )r   r/   r)   r/   r2   r3   r4   Úd)
r   r   r   r   r   r   r   r   r   r   é   ÚabcÚdefgñhãˆµøä>ç      à?r!   )r   r)   r.   >   r   r)   r.   ©r   r   r/   é   é   )úmultilabel-indicatorÚ
multiclassúmulticlass-multioutputÚbinaryÚ
continuousúcontinuous-multioutputÚunknown)r!   r)   r:   Úobjectc            
      óh  — t        j                  t        «      5  t        «        d d d «       t	        t        t        d«      «      t        j                  d«      «       t	        t        t        j                  d«      «      t        j                  d«      «       t	        t        g d¢«      t        j                  g d¢«      «       t	        t        t        j                  g d¢g d¢g d¢g«      «      t        j                  d«      «       t	        t        t        j                  g d¢g d¢g«      «      t        j                  d«      «       t	        t        g d¢t        d«      «      t        j                  d«      «       t	        t        d	d
d«      t        j                  d«      «       t        j                  t        «      5  t        g d¢t        j                  d«      «       d d d «       t        j                  t        «      5  t        t        j                  d«      t        j                  d«      «       d d d «       t	        t        t        j                  d«      t        j                  d«      «      t        j                  d«      «       y # 1 sw Y   �ŒlxY w# 1 sw Y   ŒºxY w# 1 sw Y   ŒrxY w)Nr*   )r/   r   r)   )r   r)   r/   )r   r   r   )r   r   r   )r   r   r   r.   r6   r1   )r   )r)   r   )r6   r6   )r6   r/   )r/   r6   )
ÚpytestÚraisesÚ
ValueErrorr   r   ÚrangeÚnpÚarangeÚarrayÚonesr!   ó    r&   Útest_unique_labelsrO     s�  € ä	�‰”zÕ	"ÜŒ÷ 
#ô ”}¤U¨2£YÓ/´·±¸2³Ô?Ü”}¤R§Y¡Y¨r£]Ó3´R·Y±Y¸r³]ÔCÜ”}¢YÓ/´·±º)Ó1DÔEô Ü”b—h‘h¢	ª9²iÐ@ÓAÓBÄBÇIÁIÈaÃLôô ”}¤R§X¡Xªyº)Ð.DÓ%EÓFÌÏ	É	ÐRSËÔUô ”}¢Y´°a³Ó9¼2¿9¹9ÀQ»<ÔHÜ”} Y°°fÓ=¼r¿y¹yÈ»|ÔLô 
�‰”zÕ	"Ü’i¤§¡¨£Ô1÷ 
#ä	�‰”zÕ	"Ü”b—g‘g˜f“o¤r§w¡w¨v£Ô7÷ 
#ô ”}¤R§W¡W¨V£_´b·g±g¸f³oÓFÌÏ	É	ÐRSËÕU÷3 
#Ñ	"ú÷( 
#Ð	"úç	"Ð	"ús#   šJÇ"JÈ3J(ÊJÊJ%Ê(J1c                  ód  — t        j                  d«      } d}t        j                  t        |¬«      5  t        | «       ddd«       t        j                  d«      } t        j                  «       5  t        j                  d«       t        | «       ddd«       y# 1 sw Y   Œ\xY w# 1 sw Y   yxY w)zÁCheck that we raise a warning when the number of unique classes is greater than
    50% of the number of samples.

    We need to check that we don't raise if we have less than 20 samples.
    é   zJThe number of unique classes is greater than 50% of the number of samples.©ÚmatchNr*   Úerror)	rJ   rK   rF   ÚwarnsÚUserWarningr   ÚwarningsÚcatch_warningsÚsimplefilter)ÚyÚmsgs     r&   Ú9test_check_classification_targets_too_many_unique_classesr\   *  s|   € ô 	�	‰	�"‹€AØ
W€CÜ	�‰”k¨Ö	-Ü$ QÔ'÷ 
.ô 	�	‰	�"‹€AÜ	×	 Ñ	 Õ	"Ü×Ñ˜gÔ&Ü$ QÔ'÷ 
#Ð	"÷ 
.Ð	-ú÷
 
#Ð	"ús   ³BÁ0!B&ÂB#Â&B/c                  óh  — dD ]  } t         |    D ]  }t        |«       Œ Œ t        D ]/  }t        j                  t
        «      5  t        |«       d d d «       Œ1 dD ]=  }t         |   D ]/  }t        j                  t
        «      5  t        |«       d d d «       Œ1 Œ? y # 1 sw Y   Œ~xY w# 1 sw Y   ŒJxY w)N)r@   r>   r=   )rC   rA   rB   r?   )ÚEXAMPLESr   ÚNON_ARRAY_LIKE_EXAMPLESrF   rG   rH   )ÚformatrZ   ÚexampleÚy_types       r&   Útest_unique_labels_non_specificrc   >  sš   € ó CˆÜ˜&Ô!ˆAÜ˜!Õñ "ð C÷
 +ˆÜ�]‰]œ:Õ&Ü˜'Ô"÷ 'Ð&ð +óˆô   Ô'ˆGÜ—‘œzÕ*Ü˜gÔ&÷ +Ð*ñ (ñ÷ 'Ð&ú÷ +Ð*ús   ÁBÂB(ÂB%	Â(B1c                  ó>  — t        t        d   t        d   t        d   z   «      } | D ]a  \  }}t        j                  t        «      5  t        ||«       d d d «       t        j                  t        «      5  t        ||«       d d d «       Œc t        j                  t        «      5  t        ddggddgg«       d d d «       t        j                  t        «      5  t        ddg«       d d d «       t        j                  t        «      5  t        ddgdd	gg«       d d d «       t        j                  t        «      5  t        dd
gdd	gg«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒExY w# 1 sw Y   Œ¹xY w# 1 sw Y   Œ–xY w# 1 sw Y   ŒoxY w# 1 sw Y   y xY w)Nr=   r>   r@   r   r)   r2   r5   Ú1r.   Ú2)r   r^   rF   rG   rH   r   )Úmix_clf_formatÚy_multilabelÚy_multiclasss      r&   Útest_unique_labels_mixed_typesrj   V  s?  € äÜÐ'Ñ(¬(°<Ñ*@Ä8ÈHÑCUÑ*Uó€Nó '5Ñ"ˆ�lÜ�]‰]œ:Õ&Ü˜,¨Ô5÷ 'ä�]‰]œ:Õ&Ü˜,¨Ô5÷ 'Ð&ð '5ô 
�‰”zÕ	"Ü˜˜1�v�h # s  Ô-÷ 
#ô 
�‰”zÕ	"Ü�s˜A�hÔ÷ 
#ô 
�‰”zÕ	"Ü˜˜Q�x ! Q Ð(Ô)÷ 
#ô 
�‰”zÕ	"Ü˜˜S�z A q 6Ð*Ô+÷ 
#Ð	"÷ 'Ñ&úç&Ñ&ú÷ 
#Ð	"ú÷ 
#Ð	"ú÷ 
#Ð	"ú÷ 
#Ð	"úsH   ÁEÁ4E"Â$E/ÃE;ÄFÄ:FÅE	Å"E,	Å/E8Å;FÆFÆFc                  ó°  — t         j                  «       D �]9  \  } }| dk(  }|D �](  }|xr t        |«      }t        |«      s~t        |d«      rÉt	        j
                  |«      j                  dk(  r§t	        j
                  |«      j                  j                  dv r|t	        j
                  |«      j                  d   dkD  rWt        t        z   t        z   t        z   t        z   D �cg c]
  } ||«      ‘Œ }}|D ]  }|t        |«      k(  rŒJ d|›d|› �«       ‚ t        |«      r|j!                  «       }|t        |«      k(  r�ŒJ d|›d|› �«       ‚ �Œ< y c c}w )	Nr=   Ú	__array__r)   Úbiufr   r   úis_multilabel(ú) should be )r^   Úitemsr   ÚhasattrrJ   ÚasarrayÚndimr    ÚkindÚshaper   r   r   r   r   r   Útoarray)ÚgroupÚgroup_examplesÚ	dense_expra   Ú
sparse_expr%   Úexamples_sparseÚexmpl_sparses           r&   Útest_is_multilabelr}   o  sn  € Ü!)§¡×!1Ñˆˆ~ØÐ3Ñ3ˆ	ä%ˆGð #Ò8¤x°Ó'8ˆJä˜Ô Ü˜ Ô-Ü—J‘J˜wÓ'×,Ñ,°Ò1Ü—J‘J˜wÓ'×-Ñ-×2Ñ2°fÑ<Ü—J‘J˜wÓ'×-Ñ-¨aÑ0°1Ò4ô
 'Ü(ñ)ä(ñ)ô )ñ)ô )ò	)ó	#ñ)ð )ñ % WÕ-ð)ð  ð 	#ó %4�LØ%¬°|Ó)DÓDð Ø(¨Ð(8¸ÀZÀLÐQóÐDð %4ô ˜Ô Ø!Ÿ/™/Ó+�à¤¨gÓ 6Ô6ð Ø   ¨<¸	°{ÐCóÐ6ò= &ñ "2ùò	#s   Ã#Ez#array_namespace, device, dtype_name)Úidsc                 ó¾  — t        | |«      }t        j                  «       D ]®  \  }}|dk(  }|D ]Ÿ  }t        j                  |«      j
                  j                  dk(  rt        j                  ||¬«      }nt        j                  |«      }|j	                  ||¬«      }t        d¬«      5  |t        |«      k(  sJ d|›d|› �«       ‚	 d d d «       Œ¡ Œ° y # 1 sw Y   Œ®xY w)	Nr=   Úfr   )ÚdeviceT)Úarray_api_dispatchrn   ro   )	r   ÚARRAY_API_EXAMPLESrp   rJ   rr   r    rt   r   r   )Úarray_namespacer�   Ú
dtype_nameÚxprw   rx   ry   ra   s           r&   Ú'test_is_multilabel_array_api_compliancer‡   –  sÍ   € ô 
˜o¨vÓ	6€Bä!3×!9Ñ!9Ö!;Ñˆˆ~ØÐ3Ñ3ˆ	Û%ˆGÜ�z‰z˜'Ó"×(Ñ(×-Ñ-°Ò4ÜŸ*™* W°JÔ?‘äŸ*™* WÓ-�Ø—j‘j °�jÓ8ˆGä°4Ö8Ø ¤M°'Ó$:Ò:ð Ø$ W K¨|¸I¸;ÐGóÑ:÷ 9Ð8ñ &ñ "<÷ 9Ð8ús   Â)CÃCc                  ó  — t         j                  «       D ]_  } | dv r@t         |    D ]3  }d}t        j                  t        |¬«      5  t        |«       d d d «       Œ5 ŒGt         |    D ]  }t        |«       Œ Œa y # 1 sw Y   Œ\xY w)N)rC   rA   rB   zUnknown label type: rR   )r^   ÚkeysrF   rG   rH   r   )rb   ra   r[   s      r&   Ú!test_check_classification_targetsrŠ   ­  so   € Ü—-‘-–/ˆØÐHÑHÜ# FÔ+�Ø,�Ü—]‘]¤:°SÖ9Ü0°Ô9÷ :Ð9ñ ,ô
 $ FÔ+�Ü,¨WÕ5ñ ,ñ "÷ :Ð9ús   ÁA8Á8Bc                  ó¸  — t         j                  «       D ]3  \  } }|D ])  }t        |«      | k(  rŒJ d|›d| ›dt        |«      ›�«       ‚ Œ5 t        D ]3  }d}t	        j
                  t        |¬«      5  t        |«       d d d «       Œ5 t        D ]3  }d}t	        j
                  t        |¬«      5  t        |«       d d d «       Œ5 y # 1 sw Y   Œ|xY w# 1 sw Y   ŒLxY w)Nztype_of_target(ro   z, got z6Expected array-like \(array or non-string sequence\).*rR   zœYou appear to be using a legacy multi-label data representation. Sequence of sequences are no longer supported; use a binary array or sparse matrix instead.)r^   rp   r   r_   rF   rG   rH   ÚMULTILABEL_SEQUENCES)rw   rx   ra   Ú	msg_regexr[   s        r&   Útest_type_of_targetrŽ   ¹  sÈ   € Ü!)§¡Ö!1Ñˆˆ~Û%ˆGÜ! 'Ó*¨eÓ3ñ ò ÚÜ" 7Ô+ð	óÐ3ñ &ð "2÷ +ˆØMˆ	Ü�]‰]œ:¨YÖ7Ü˜7Ô#÷ 8Ð7ð +÷
 (ˆð<ð 	ô
 �]‰]œ:¨SÖ1Ü˜7Ô#÷ 2Ð1ñ (÷ 8Ð7ú÷ 2Ð1ús   Á1CÂ-CÃC	ÃC	c                  ó<  — t        j                  d«      } | j                  j                  dt        j
                  t        j
                  dt        j
                  g«      }d}t        j                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)NÚpandasr   z1y cannot be class 'SparseSeries' or 'SparseArray'rR   )	rF   ÚimportorskipÚarraysÚSparseArrayrJ   ÚnanrG   rH   r   )ÚpdrZ   r[   s      r&   Ú!test_type_of_target_pandas_sparser–   Ô  sd   € Ü	×	Ñ	˜XÓ	&€Bà
�	‰	×Ñ˜q¤"§&¡&¬"¯&©&°!´R·V±VÐ<Ó=€AØ
=€CÜ	�‰”z¨Ö	-Ü�qÔ÷ 
.×	-Ñ	-ús   Á=BÂBc                  óÆ  — t        j                  d«      } dD ]L  }| j                  g d¢|¬«      }t        |«      dk(  sJ ‚| j                  g d¢|¬«      }t        |«      dk(  rŒLJ ‚ | j	                  dd	gd	dggd
¬«      }t        |«      dk(  sJ ‚| j	                  ddgddggd¬«      }t        |«      dk(  sJ ‚| j	                  ddgddggd¬«      }t        |«      dk(  sJ ‚y)z<Check that type_of_target works with pandas nullable dtypes.r�   )ÚInt32ÚFloat32)r   r   r)   r.   r/   r   r>   )r   r   r   r   r@   gffffffö?gÍÌÌÌÌÌ@r™   rB   r   r   r˜   r=   r)   r.   r?   N)rF   r‘   ÚSeriesr   Ú	DataFrame)r•   r    Úy_trues      r&   Ú#test_type_of_target_pandas_nullabler�   Ý  s  € ä	×	Ñ	˜XÓ	&€Bã%ˆØ—‘š?°%�Ó8ˆÜ˜fÓ%¨Ò5Ð5Ð5à—‘š<¨u�Ó5ˆÜ˜fÓ%¨Ó1Ð1Ð1ð &ð �\‰\˜C ˜:¨¨S zÐ2¸)ˆ\ÓD€FÜ˜&Ó!Ð%=Ò=Ð=Ð=à�\‰\˜A˜q˜6 A q 6Ð*°'ˆ\Ó:€FÜ˜&Ó!Ð%;Ò;Ð;Ð;à�\‰\˜A˜q˜6 A q 6Ð*°'ˆ\Ó:€FÜ˜&Ó!Ð%=Ò=Ð=Ñ=rN   r    )ÚInt64ÚFloat64Úbooleanc                 ó¶   — t        j                  d«      }|j                  g d¢| ¬«      }|j                  g d¢d¬«      }t        ||«      }t	        |ddg«       y)	zgChecks that unique_labels work with pandas nullable dtypes.

    Non-regression test for gh-25634.
    r�   )	r   r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   Úint64r   r   N)rF   r‘   rš   r   r   )r    r•   rœ   Úy_predictedÚlabelss        r&   Ú"test_unique_labels_pandas_nullabler¥   ò  sT   € ô 
×	Ñ	˜XÓ	&€Bà�Y‰YÒ2¸%ˆYÓ@€FØ—)‘)Ò7¸w�)ÓG€Kä˜6 ;Ó/€FÜ�v  1˜vÕ&rN   Úcsc_containerc           	      óî  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      } | |||fd	¬
«      }t        |«      \  }}}t        |«      \  }	}
}g d¢g d¢dgdgg}g d¢}g d¢g d¢dgdgg}t        |j                  d   «      D ]n  }t        ||   ||   «       t        ||   ||   «       t        ||   ||   «       t        |	|   ||   «       t        |
|   ||   «       t        ||   ||   «       Œp t        |g d¢«      \  }}}t        |g d¢«      \  }	}
}g d¢g d¢dgdgg}t        |j                  d   «      D ]n  }t        ||   ||   «       t        ||   ||   «       t        ||   ||   «       t        |	|   ||   «       t        |
|   ||   «       t        ||   ||   «       Œp y )N)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   )r   r   r)   r.   r/   r6   r   r   r)   r.   r6   r   r   r)   r.   r/   r6   )r   r;   é   r¨   é   )r;   r/   )ru   )r   r)   r/   )r   r)   r.   r   r   )r.   r.   r   r   )r9   çUUUUUUÕ?gUUUUUUÅ?)rª   rª   rª   ç      ð?)r«   ç       @r«   r¬   r«   r¬   )çÇqÇqÜ?rª   çÇqÇqÌ?)r®   r­   rª   )rJ   rL   r   rI   ru   r   )r¦   rZ   r"   ÚindicesÚindptrÚy_spÚclassesÚ	n_classesÚclass_priorÚ
classes_spÚn_classes_spÚclass_prior_spÚclasses_expectedÚn_classes_expectedÚclass_prior_expectedÚks                   r&   Útest_class_distributionr¼     s%  € ä
�‰âÚÚÚÚÚð	
ó		€Aô �8‰8ÒGÓH€DÜ�h‰hÒJÓK€GÜ�X‰XÒ(Ó)€FÙ˜$ ¨Ð0¸Ô?€Dä&8¸Ó&;Ñ#€GˆY˜Ü/AÀ$Ó/GÑ,€J�˜nÚ!¢9¨q¨c°A°3Ð7ÐÚ%ÐÚ1Ò3HÈ3È%ÐRUÐQVÐWÐä�1—7‘7˜1‘:ÖˆÜ! '¨!¡*Ð.>¸qÑ.AÔBÜ! )¨A¡,Ð0BÀ1Ñ0EÔFÜ! +¨a¡.Ð2FÀqÑ2IÔJä! *¨Q¡-Ð1AÀ!Ñ1DÔEÜ! ,¨q¡/Ð3EÀaÑ3HÔIÜ! .°Ñ"3Ð5IÈ!Ñ5LÕMð ô );Ø	Ò)ó)Ñ%€Wˆi˜ô 2DØ	Ò)ó2Ñ.€Z�˜~ò 2Ò3HÈ3È%ÐRUÐQVÐWÐä�1—7‘7˜1‘:ÖˆÜ! '¨!¡*Ð.>¸qÑ.AÔBÜ! )¨A¡,Ð0BÀ1Ñ0EÔFÜ! +¨a¡.Ð2FÀqÑ2IÔJä! *¨Q¡-Ð1AÀ!Ñ1DÔEÜ! ,¨q¡/Ð3EÀaÑ3HÔIÜ! .°Ñ"3Ð5IÈ!Ñ5LÕMñ rN   c                  ó’  — t        «       } t        d¬«      }t        j                  «       }|j                  |j                  }}t        j                  ||j                  «      }t        dd¬«      }t        t        |j                  |«      «      «      \  }}t        | |||«      \  }	}
t        ||||«      \  }}t        |t        j                  |	|	j                  «      «       t        |
|«       t        | ||||«      \  }}t        |||||«      \  }}t        |t        j                  ||	j                  «      «       t        ||«       y )NÚprecomputed)Úkernelg      Ð?r   )Ú	test_sizeÚrandom_state)r   r   Ú	load_irisr"   ÚtargetrJ   ÚdotÚTr   ÚnextÚiterÚsplitr   r   )ÚclfÚclfpÚirisÚXrZ   ÚKÚcvÚtrainÚtestÚX_trainÚy_trainÚK_trainÚy_train2ÚX_testÚy_testÚK_testÚy_test2s                    r&   Ú'test_safe_split_with_precomputed_kernelrÙ   5  s  € Ü
‹%€CÜ�mÔ$€Dä×ÑÓ€DØ�9‰9�d—k‘k€q€AÜ
�‰ˆq�!—#‘#‹€Aä	 °1Ô	5€BÜ”t˜BŸH™H Q›KÓ(Ó)�K€Eˆ4ä" 3¨¨1¨eÓ4Ñ€GˆWÜ# D¨!¨Q°Ó6Ñ€GˆXÜ˜g¤r§v¡v¨g°w·y±yÓ'AÔBÜ˜g xÔ0ä   a¨¨D°%Ó8�N€FˆFÜ! $¨¨1¨d°EÓ:�O€FˆGÜ˜f¤b§f¡f¨V°W·Y±YÓ&?Ô@Ü˜f gÕ.rN   c            
      ó\  — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  g d¢g d¢g d¢g d¢g«      }d}t        | ||«      }t        j                  g d¢g d	¢g d¢g d¢g«      }t        ||d
¬«       t        j                  g d¢«      }t	        t        j
                  |d¬«      |«       |d   |d   kD  sJ ‚t        d«      D �cg c]@  }t        t        j                  | |   g«      t        j                  ||   g«      |«      d   ‘ŒB }}t        ||d¬«       y c c}w )N)r   r   r   )r   r   r   )ç €à7yÃAÃr   rÛ   )r«   r¬   g      À)g      Àr¬   g      @)g      à¿gš™™™™™É?r9   r.   r0   )r   r   r   r9   )Úatol)r)   r   r)   r)   r   )Úaxis)r)   r)   )r.   r)   r/   r   g�íµ ÷Æ°>)rJ   rL   r   r   r   ÚargmaxrI   )ÚpredictionsÚconfidencesr³   Ú
dec_valuesÚvotesÚexpected_predictionÚiÚdec_values_ones           r&   Útest_ovr_decision_functionræ   K  s$  € ô —(‘(šI¢y²)ºYÐGÓH€Kä—(‘(Ú	Ò,Ò.>Ò@PÐQó€Kð €Iä'¨°[À)ÓL€Jô �H‰H’i¢ªI²yÐAÓB€Eä�E˜:¨CÕ0ô
 Ÿ(™(¢<Ó0ÐÜ”r—y‘y °!Ô4Ð6IÔJð �dÑ˜j¨Ñ.Ò.Ð.Ð.ô �q”ó	ñ ˆAô 	Ü�H‰H�k !‘nÐ%Ó&¬¯©°+¸a±.Ð1AÓ(BÀIó	
à
ó	ð ð	 ð ô �J °TÖ:ùòs   ÃAD)Ú
input_typeÚlistrL   c                 óš   — t        ddg| «      }d}t        j                  t        |¬«      5  t	        |«       d d d «       y # 1 sw Y   y xY w)Nó   aó   bz8Support for labels represented as bytes is not supportedrR   )r   rF   rG   Ú	TypeErrorr   )rç   rÃ   Úerr_msgs      r&   Ú!test_labels_in_bytes_format_errorrî   r  s;   € ô
    t ¨jÓ9€FØH€GÜ	�‰”y¨Ö	0Ü�vÔ÷ 
1×	0Ñ	0ús   ¬AÁA
)MrW   Ú	itertoolsr   ÚnumpyrJ   rF   Úscipy.sparser   Úsklearnr   r   Úsklearn.model_selectionr   Úsklearn.svmr   Úsklearn.utils._array_apir	   r
   Úsklearn.utils._testingr   r   r   r   r   Úsklearn.utils.estimator_checksr   Úsklearn.utils.fixesr   r   r   r   r   Úsklearn.utils.metaestimatorsr   Úsklearn.utils.multiclassr   r   r   r   r   r   rL   Úmultilabel_explicit_zeroÚtupleÚboolÚintÚint8Úuint8ÚfloatÚfloat32r'   ÚrandomÚRandomStateÚrandintrD   Ú	frozensetr^   rƒ   r_   rŒ   rO   r\   rc   rj   r}   ÚmarkÚparametrizer‡   rŠ   rŽ   r–   r�   r¥   r¼   rÙ   ræ   rî   r!   rN   r&   Ú<module>r	     s]  ðÛ Ý ã Û Ý !ç ,Ý 0Ý ÷÷õ õ 7÷õ õ 5÷÷ ð $˜2Ÿ8™8 a¨ V¨a°¨VÐ$4Ó5Ð Ø!"Ð š˜A˜Ñ ñ
 ØØ
ñ	à
ñ	ð ñ	ð ñ		óð �#�r—w‘w §¡¨%°·±Ð<óð&ñ 
Ø�I‰I×!Ñ! "Ó%×-Ñ-¨a°hÐ-Ó?Ø,Ø�6ô

ðð ˆQˆ�!�Q�Ððð ˆQˆˆðñ 
Ø$¸ÐPSÈvô

ðñ 
˜A˜q˜6 A q 6Ð*Ó	+ðñ 
˜A˜q˜6 A q 6Ð*Ó	+ðñ 
˜A˜q˜6˜(Ó	#ðð" ˆaˆ�1�b�'Ðð#ð$ 	ˆ�‰�2�q�'˜A˜r˜7Ð#Ó$ð%ð& 	ˆ�‰�2�q�'˜A˜r˜7Ð#Ó$ð'ñ( 	�H�B—H‘H˜r 1˜g¨¨2 wÐ/Ó0Ó1ð)ò. 	'Øˆ�‰’ÓØˆ�‰’ "§'¡'Ô*Øˆ�‰’ "§(¡(Ô+Øˆ�‰’ %Ô(Øˆ�‰’ "§*¡*Ô-Øˆ�‰�1�#˜�s˜Q˜C�Ó!Ù�H�B—H‘HšYÓ'Ó(ÚÚØˆ�‰’Ó!Øˆ�‰’¨Ô/Øˆ�‰’¨Ô/ðò  
’|Ð$Ø
ˆsˆ�c˜3�ZÐ Øˆ�‰’,¢Ð-Ó.Øˆ�‰’,¢Ð-°R·W±WÔ=Øˆ�‰’,¢Ð-°R·X±XÔ>Øˆ�‰’,¢Ð-°UÔ;Øˆ�‰’,¢Ð-°R·Z±ZÔ@ðñ 
Úš<Ð(Ø,¨~Ñ=Ø˜Ÿ™ "§(¡(¨E°2·:±:Ð>ô

ðð 	ˆ�‰�3˜�*˜s C˜jÐ)Ó*ðð 	ˆ�‰�3˜�*˜s C˜jÐ)Ó*ðð 	ˆ�‰�3˜�*˜s C˜jÐ)°Ô8ðð  	ˆ�‰’)�Óð!ñ" 	�H�B—H‘Hši˜[Ó)Ó*ð#ð( 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆ�‰Ò/Ó0Øˆ�‰Ò/°tÔ<Øˆ�‰Ò/°r·w±wÔ?Øˆ�‰Ò/°r·x±xÔ@Øˆ�‰Ò/°uÔ=Øˆ�‰Ò/°r·z±zÔBØˆ�‰�1�#˜�s�ÓÙ�H�B—H‘H˜q˜c A 3˜ZÓ(Ó)Ø	
ˆBˆØ	
ˆAˆØ	ˆØ	ˆcˆ
Ø	�ˆØˆ�‰�%˜�Ó Ø	ˆcˆ
Øˆ�‰�%˜� vÔ.ð)ð. 
ˆØ	
ˆCˆØˆ�‰�1�#˜�u�ÓØˆ�‰�1�#˜�u� R§Z¡ZÔ0ð	ð 	ˆ�‰�1�c�(˜S !˜HÐ%Ó&Øˆ�‰�1�c�(˜S !˜HÐ%¨R¯Z©ZÔ8Øˆ�‰�1�c�(�Óðñ 
Ø�ˆX˜˜Q�xÐ Ø,¨~Ñ=Ø˜2Ÿ:™:Ð&ô

ð	ñ 
Ø�ˆXˆJØ,¨~Ñ=Ø˜2Ÿ:™:Ð&ô

ðð  
ˆØˆ�‰�"�˜VÔ$Ø	ˆàˆ�‰�(�"—(‘(˜2“,  §¡ªÓ 3Ð4¸FÔCØ	ˆ�‰�"‹�x�r—x‘x¢	Ó*Ð+Ú	�Q˜�FÐÙ	’9Ó	™y¨!¨Q¨Ó0Ð1à�SÑ	˜A˜s˜8Ð$àˆ�‰�‹àˆ�‰�"�b�Óàˆ�‰�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ó6ð!ñIv€ðt 	�	‰	×Ñ˜bÓ!×)Ñ)¨!°(Ð)Ó;Ø
ˆQˆ�!�Q�ÐØ
ˆQˆˆØ Ø
ˆQˆ�!�Q�ÐØ
ˆaˆ�1�b�'ÐØˆ�‰�2�q�'˜A˜r˜7Ð#Ó$Øˆ�‰�2�q�'˜A˜r˜7Ð#Ó$Ù�H�B—H‘H˜r 1˜g¨¨2 wÐ/Ó0Ó1ð
ò 	'Øˆ�‰’ÓØˆ�‰’ "§'¡'Ô*Øˆ�‰’ "§(¡(Ô+Øˆ�‰’ %Ô(Øˆ�‰’ "§*¡*Ô-Øˆ�‰�1�#˜�s˜Q˜C�Ó!Ù�H�B—H‘HšYÓ'Ó(Úð
ò 
’|Ð$Øˆ�‰’,¢Ð-Ó.Øˆ�‰’,¢Ð-°R·W±WÔ=Øˆ�‰’,¢Ð-°R·X±XÔ>Øˆ�‰’,¢Ð-°UÔ;Øˆ�‰’,¢Ð-°R·Z±ZÔ@Øˆ�‰’)�ÓÙ�H�B—H‘Hši˜[Ó)Ó*ð	ð 
ˆAˆØ	
ˆAˆØ
Ø	
ˆØˆ�‰Ò/Ó0Øˆ�‰Ò/°tÔ<Øˆ�‰Ò/°r·w±wÔ?Øˆ�‰Ò/°r·x±xÔ@Øˆ�‰Ò/°uÔ=Øˆ�‰Ò/°r·z±zÔBØˆ�‰�1�#˜�s�ÓÙ�H�B—H‘H˜q˜c A 3˜ZÓ(Ó)Ø	
ˆBˆØ	
ˆAˆðð" 
ˆØ	
ˆCˆØˆ�‰�1�#˜�u�ÓØˆ�‰�1�#˜�u� R§Z¡ZÔ0ð	ð 	ˆ�‰�1�c�(˜S !˜HÐ%Ó&Øˆ�‰�1�c�(˜S !˜HÐ%¨R¯Z©ZÔ8Øˆ�‰�1�c�(�Óðð 
ˆØ	ˆØˆ�‰�‹Øˆ�‰�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ó6ð	ñyBÐ òL Ø�ÑØ	
ˆ��ÑØ	ÙŠiÓØðÐ ð €Sˆ1ˆ#��1ˆvÐÚØ€B‡H�Hˆb�1�a�&ˆ\ Ô*Ù��—‘˜"˜q !˜f˜¨XÔ6Ó7ð	Ð òVò<(ò('ò0,ò2$ðN ‡�×ÑØ)Ù-Ó/Ø'ð ó ñ
óð
ò$	6ò$ò6ò>ð* ‡�×Ñ˜Ò"AÓBñ'ó Cð'ð ‡�×Ñ˜¨.Ó9ñ0Nó :ð0Nòf/ò,$;ðN ‡�×Ñ˜¨°Ð'8Ó9ñó :ñrN   