a
    �ù»j¿f  ã                
   @   sv  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	m
Z
mZmZmZmZ d dlmZmZmZ d dlmZmZ d dlmZmZmZmZmZ d dlmZ d d	lmZ e  ¡ Z!d
d„ Z"dd„ Z#dd„ Z$dd„ Z%ej& 'dg d¢¡ej& 'dddg¡dd„ ƒƒZ(dd„ Z)ej& 'de¡dd„ ƒZ*ej&j'dej+g d¢d d!�ej+g d"¢d d!�ej+d#gd d!�fej+g d$¢e,d!�ej+g d%¢e,d!�ej+d&ge,d!�fe +g d$¢¡e +g d%¢¡e +d&g¡fgg d'¢d(�d)d*„ ƒZ-d+d,„ Z.ej& 'dd-d.g¡d/d0„ ƒZ/d1d2„ Z0ej&j'd3ej+g d¢d d!�ej+g d$¢e,d!�e +g d$¢¡gg d'¢d(�d4d5„ ƒZ1d6d7„ Z2ej& 'de¡d8d9„ ƒZ3d:d;„ Z4d<d=„ Z5d>d?„ Z6d@dA„ Z7dBdC„ Z8dDdE„ Z9dFdG„ Z:dHdI„ Z;dJdK„ Z<dLdM„ Z=dNdO„ Z>dPdQ„ Z?dRdS„ Z@ej& 'dTej+ge e e e e ¡dUdV„ ƒZAdWdX„ ZBej& 'de¡dYdZ„ ƒZCd[d\„ ZDej& 'd]e
ƒ e	ƒ eƒ g¡d^d_„ ƒZEej& 'd`eƒ ¡ej& 'dae +g d¢¡e +g db¢¡e +g dc¢¡g¡ddde„ ƒƒZFdS )fé    N)Úissparse)Úconfig_contextÚdatasets)ÚLabelBinarizerÚLabelEncoderÚMultiLabelBinarizerÚ_inverse_binarize_multiclassÚ_inverse_binarize_thresholdingÚlabel_binarize)Ú_convert_to_numpyÚget_namespaceÚ)yield_namespace_device_dtype_combinations)Ú_array_api_for_testsÚassert_array_equal)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDOK_CONTAINERSÚLIL_CONTAINERS)Útype_of_target)Ú_to_object_arrayc                 C   s   t | dƒr|  ¡ } | S )NÚtoarray)Úhasattrr   ©Úa© r   úLE:\soccer\ml_env\Lib\site-packages\sklearn/preprocessing/tests/test_label.pyr   $   s    
r   c                  C   sˆ  g d¢} t dd�}t g d¢g¡j}| | ¡}t|jdgƒ t||ƒ t| |¡| ƒ t dd�}| | ¡}t|ƒsvJ ‚t|jdgƒ t|| 	¡ ƒ t| | 	¡ ¡| ƒ t dd�}g d¢} t g d¢g¡j}| | ¡}t|jd	dgƒ t||ƒ t d
dgdd
gdd
gd
dgg¡}t| |¡| ƒ g d¢} t g d¢g d¢g d¢g d¢g d¢g¡}| | ¡}t|jg d¢ƒ t||ƒ t| |¡| ƒ d S )N)Úposr   r   r   F©Úsparse_output©r   r   r   r   r   T)Únegr   r   r!   ©r   é   r#   r   r!   r#   r   )ÚspamÚhamÚeggsr%   Ú0©r   r   r   r#   ©r   r   r#   r   ©r   r#   r   r   ©r#   r   r   r   )r'   r&   r%   r$   )
r   ÚnpÚarrayÚTÚfit_transformr   Úclasses_Úinverse_transformr   r   )ÚinpÚlbÚexpectedÚgotZ	to_invertr   r   r   Útest_label_binarizer*   s:    







" ÿ

r6   c               	   C   s„   t ƒ } t g d¢g d¢g d¢g¡}|  g d¢¡}t||ƒ t g d¢g d¢g d¢g d¢g d¢g d¢g¡}|  g d¢¡}t||ƒ d S )N©r#   r   r   ©r   r#   r   ©r   r   r#   )ÚbÚdÚe©r   r   r   )r   r:   Úcr;   r<   Úf)r   r,   r-   r/   r   Ú	transform)r3   r4   r5   r   r   r   Ú"test_label_binarizer_unseen_labelsS   s    
&ÿrA   c                  C   sº   t ddd�} t g d¢¡}t g d¢g¡j}|  |¡}t||ƒ t|  |¡|ƒ t ddd�} t g d¢¡}t g d¢g d	¢g d
¢g d	¢g d¢g¡}|  |¡}t||ƒ t|  |¡|ƒ d S )Néþÿÿÿr   ©Ú	neg_labelÚ	pos_labelr"   )rB   r   r   rB   é   )é   rF   r#   rF   r   )rB   rB   rB   rF   )rB   rB   rF   rB   )rB   rF   rB   rB   )rF   rB   rB   rB   )r   r,   r-   r.   r/   r   r1   )r3   r2   r4   r5   r   r   r   Ú'test_label_binarizer_set_label_encodinga   s&    

ûÿ	

rH   Údtype)ZInt64ZFloat64ÚbooleanÚunique_firstTFc                 C   sX   t  d¡}|jg d¢| d�}|r(| ¡ }tƒ  |¡}| ddg¡}t|dgdggƒ dS )ziChecks that LabelBinarizer works with pandas nullable dtypes.

    Non-regression test for gh-25637.
    Zpandas)	r#   r   r   r#   r   r#   r#   r   r#   ©rI   r#   r   N)ÚpytestZimportorskipZSeriesÚuniquer   Úfitr@   r   )rI   rK   ÚpdZy_truer3   Zy_outr   r   r   Ú$test_label_binarizer_pandas_nullable}   s    
rQ   c                  C   s  t  g d¢¡} tƒ  | ¡}g d¢}d}tjt|d�� | |¡ W d   ƒ n1 sT0    Y  tƒ }d}tjt|d�� | g ¡ W d   ƒ n1 s–0    Y  tjt|d�� | g ¡ W d   ƒ n1 sÎ0    Y  g d¢}d}tdd	d
�}tjt|d�� | |¡ W d   ƒ n1 �s 0    Y  d}tddd
�}tjt|d�� | |¡ W d   ƒ n1 �sj0    Y  d}td	ddd�}tjt|d�� | |¡ W d   ƒ n1 �s¶0    Y  g d	dgdgg d¢dgg}d}tjt|d�� tƒ  	|¡ W d   ƒ n1 �s0    Y  d}tjt|d��6 t
t  g d¢g d¢g¡dg d¢dd� W d   ƒ n1 �sj0    Y  d}tjt|d��. tƒ  t  d	dgdd	gg¡¡ W d   ƒ n1 �s¼0    Y  tjt|d��2 tt  d	dgdd	gg¡g d¢d� W d   ƒ n1 �s0    Y  d S )Nr    )©rF   rG   )r   )r   rF   z@You appear to be using a legacy multi-label data representation.©Úmatchz.This LabelBinarizer instance is not fitted yet)r   r#   r   r#   z3neg_label=2 must be strictly less than pos_label=1.rF   r#   rC   z3neg_label=2 must be strictly less than pos_label=2.zqSparse binarization is only supported with non zero pos_label and zero neg_label, got pos_label=2 and neg_label=1T©rD   rE   r   rG   )r   r#   rG   z?You appear to be using a legacy multi-label data representationz!output_type='binary', but y.shape©r#   rF   rG   )rF   r#   rG   Úbinaryr   ©ÚyÚoutput_typeÚclassesÚ	thresholdz@Multioutput target data is not supported with label binarization©r[   )r,   r-   r   rO   rM   ÚraisesÚ
ValueErrorr@   r1   r/   r	   r
   )Z	one_classr3   Zmulti_labelÚerr_msgZinput_labelsZy_seq_of_seqsr   r   r   Útest_label_binarizer_errors‘   sV    (((**ÿ*,ü&>ra   Úcsr_containerc                 C   s°   d}t jt|d��4 t| ddgddggƒdddgdd� W d   ƒ n1 sL0    Y  d}t jt|d��4 t| ddgddggƒdg d	¢dd� W d   ƒ n1 s¢0    Y  d S )
Nzfoo format is not supportedrS   r#   rF   Zfoor   rX   zAThe number of class is not equal to the number of dimension of y.rV   )rM   r^   r_   r	   )rb   r`   r   r   r   Ú"test_label_binarizer_sparse_errorsË   s     ü$ürc   zvalues, classes, unknown)rF   r#   rG   r#   rG   Úint64rL   rV   é   )r:   r   r>   r   r>   ©r   r:   r>   r;   )rd   ÚobjectÚstr)Zidsc                 C   sž   t ƒ }| | ¡ t|j|ƒ t| | ¡g d¢ƒ t| g d¢¡| ƒ t ƒ }| | ¡}t|g d¢ƒ tjt	dd�� | |¡ W d   ƒ n1 s�0    Y  d S )N)r#   r   rF   r   rF   zunseen labelsrS   )
r   rO   r   r0   r@   r1   r/   rM   r^   r_   )Úvaluesr[   ÚunknownÚleÚretr   r   r   Útest_label_encoderâ   s    

rm   c                  C   s�   t ƒ } |  g d¢¡ t| jg d¢ƒ t|  g d¢¡g d¢ƒ t|  g d¢¡g d¢ƒ t t¡� |  ddg¡ W d   ƒ n1 s‚0    Y  d S )N©r#   r#   re   é   éÿÿÿÿr   )rp   r   r#   re   ro   )r   r#   re   re   ro   rp   rp   )r#   rF   rG   rG   re   r   r   r   é   )	r   rO   r   r0   r@   r1   rM   r^   r_   )rk   r   r   r   Ú test_label_encoder_negative_ints  s    ÿrr   rh   rg   c                 C   s^   t ƒ }| tjddg| d�¡ d}tjt|d�� | d¡ W d   ƒ n1 sP0    Y  d S )NÚappleZorangerL   zshould be a 1d arrayrS   )r   rO   r,   r-   rM   r^   r_   r@   )rI   rk   Úmsgr   r   r   Ú test_label_encoder_str_bad_shape  s
    ru   c                  C   s>  t ƒ } t t¡� |  g ¡ W d   ƒ n1 s00    Y  t t¡� |  g ¡ W d   ƒ n1 sd0    Y  t ƒ } |  g d¢¡ d}tjt|d�� |  dg¡ W d   ƒ n1 s¶0    Y  tjt|d�� |  g d¢¡ W d   ƒ n1 sò0    Y  d}tjt|d�� |  d¡ W d   ƒ n1 �s00    Y  d S )N)r#   rF   rG   rp   r#   z!contains previously unseen labelsrS   rB   )rB   éýÿÿÿéüÿÿÿz should be a 1d array.+shape \(\)Ú )r   rM   r^   r_   r@   r1   rO   )rk   rt   r   r   r   Útest_label_encoder_errors  s    ((*,ry   ri   c                 C   sH   t ƒ }| | ¡ | g ¡}tt g ¡|ƒ | g ¡}tt g ¡|ƒ d S )N)r   rO   r@   r   r,   r-   r1   )ri   rk   ZtransformedZinverse_transformedr   r   r   Útest_label_encoder_empty_array3  s    



rz   c                  C   sF  dd„ dd„ dd„ g} t  g d¢g d¢g d¢g¡}| d ƒ }d	D � ]þ}| D ]ô}t|d
�}| |ƒ ¡}t|ƒ|kstJ ‚|r”|jj|jjksŒJ ‚| ¡ }t	||ƒ t	g d¢|j
ƒ | |¡|ksÀJ ‚t|d
�}| |ƒ ¡ |ƒ ¡}t|ƒ|ksîJ ‚|�r|jj|jjk�s
J ‚| ¡ }t	||ƒ t	g d¢|j
ƒ | |¡|ksJJ ‚qJq@d S )Nc                   S   s   g d¢S ©N©rR   ©r#   )r#   rF   r   r   r   r   r   Ú<lambda>J  ó    z9test_sparse_output_multilabel_binarizer.<locals>.<lambda>c                   S   s   ddhdhddhfS ©NrF   rG   r#   r   r   r   r   r   r~   K  r   c                   S   s   t t dƒt dƒddhgƒS ©NrR   r}   r#   rF   ©Úiterr   r   r   r   r~   L  r   ©r   r#   r#   r7   ©r#   r#   r   r   ©TFr   rV   )r,   r-   r   r/   r   ÚindicesrI   Zindptrr   r   r0   r1   rO   r@   )ÚinputsÚindicator_matÚinverser   r2   Úmlbr5   r   r   r   Ú'test_sparse_output_multilabel_binarizerG  s4    ý





rŒ   c              
   C   s‚   t t dƒt dƒddhgƒ}tdd�}| |¡ t t¡�6 | | t g d¢g d¢g d	¢g¡ƒ¡ W d   ƒ n1 st0    Y  d S )
NrR   r}   r#   rF   Fr   r„   )rF   r   r   r…   )	rƒ   r   rO   rM   r^   r_   r1   r,   r-   )rb   r2   r‹   r   r   r   Ú.test_sparse_output_multilabel_binarizer_errorsl  s    

ÿr�   c                  C   sÎ   dd„ dd„ dd„ g} t  g d¢g d¢g d¢g¡}| d ƒ }| D ]ˆ}tƒ }| |ƒ ¡}t||ƒ tg d	¢|jƒ | |¡|ks‚J ‚tƒ }| |ƒ ¡ |ƒ ¡}t||ƒ tg d	¢|jƒ | |¡|ks@J ‚q@d S )
Nc                   S   s   g d¢S r{   r   r   r   r   r   r~   z  r   z+test_multilabel_binarizer.<locals>.<lambda>c                   S   s   ddhdhddhfS r€   r   r   r   r   r   r~   {  r   c                   S   s   t t dƒt dƒddhgƒS r�   r‚   r   r   r   r   r~   |  r   r„   r7   r…   r   rV   )	r,   r-   r   r/   r   r0   r1   rO   r@   )rˆ   r‰   rŠ   r2   r‹   r5   r   r   r   Útest_multilabel_binarizerw  s"    ý


rŽ   c                  C   sF   t ƒ } ddgdgg g}t ddgddgddgg¡}t|  |¡|ƒ d S )Nr#   rF   r   )r   r,   r-   r   r/   )r‹   rY   ÚYr   r   r   Ú&test_multilabel_binarizer_empty_sample�  s    r�   c                  C   sð   t ƒ } ddgg}t ddgddgg¡}d}tjt|d��, |  |¡ ddgddgg¡}W d   ƒ n1 sj0    Y  t g d¢g d¢g¡}t g d	¢d
�} tjt|d��, |  |¡ ddgddgg¡}W d   ƒ n1 sØ0    Y  t||ƒ d S )Nr#   rF   r   zunknown class.* will be ignoredrS   re   r7   r8   rV   r]   )	r   r,   r-   rM   ZwarnsÚUserWarningrO   r@   r   )r‹   rY   r�   Zwarning_messageÚmatrixr   r   r   Ú'test_multilabel_binarizer_unknown_class—  s    
::r“   c                  C   sF  g d¢} t  g d¢g d¢g d¢g¡}tg d¢d�}t| | ¡|ƒ t|jg d¢ƒ tg d¢d�}t| | ¡ | ¡|ƒ t|jg d¢ƒ tg d¢d�}t| | ¡t  dgdgdgg|f¡ƒ t|jg d¢ƒ t	| ƒ} tg d¢d�}t| | ¡ | ¡|ƒ d	}tg d
¢d�}t
jt|d�� | | ¡ W d   ƒ n1 �s80    Y  d S )Nr|   r„   r7   ©r#   r   r#   ©r#   rG   rF   r]   )re   r#   rG   rF   r   ztThe classes argument contains duplicate classes. Remove these duplicates before passing them to MultiLabelBinarizer.)r#   rG   rF   rG   rS   )r,   r-   r   r   r/   r0   rO   r@   Zhstackrƒ   rM   r^   r_   )r2   r‰   r‹   r`   r   r   r   Ú'test_multilabel_binarizer_given_classes¦  s*     ÿÿr–   c                  C   s|   g d¢} t  g d¢g d¢g d¢g¡}t  g d¢g d¢g d¢g¡}tg d¢d�}t| | ¡|ƒ g d¢|_t| | ¡|ƒ d S )	Nr|   r„   r7   r”   r…   r•   r]   rV   )r,   r-   r   r   r/   r[   )r2   r‰   Zindicator_mat2r‹   r   r   r   Ú(test_multilabel_binarizer_multiple_callsÉ  s    
r—   c                  C   s‚   dgdgdgg} t  g d¢g d¢g d¢g¡}tƒ }t| | ¡|ƒ t| |¡| ƒ tƒ }t| | ¡ | ¡|ƒ t| |¡| ƒ d S )Nr#   r   rF   r8   r7   r9   )r,   r-   r   r   r/   r1   rO   r@   ©r2   r‰   r‹   r   r   r   Ú.test_multilabel_binarizer_same_length_sequence×  s    r™   c                  C   s@  t g d¢ƒ} g d¢g d¢fg d¢g d¢fg d¢| fg}t g d¢g d¢g d	¢g¡}|D ]œ\}}tƒ }tj|td
�}t| |¡|ƒ t|j|ƒ tj| |¡td
�}t||ƒ tƒ }t| 	|¡ 
|¡|ƒ t|j|ƒ tj| |¡td
�}t||ƒ qVtƒ }t t¡�& | i i ddifg¡ W d   ƒ n1 �s20    Y  d S )N)r}   ©rF   ©rG   ))Ú2Ú3)Ú1)rž   rœ   )rž   rœ   r�   ))r:   r>   r   )r   r:   rf   ))rš   r›   )r}   )r}   rš   r„   r7   r…   rL   r   r:   )r   r,   r-   r   rg   r   r/   r0   r1   rO   r@   rM   r^   Ú	TypeError)Ztuple_classesrˆ   r‰   r2   r[   r‹   Zindicator_mat_invr   r   r   Ú,test_multilabel_binarizer_non_integer_labelsæ  s*    
ý
r    c                  C   s0   dg} t  ddgg¡}tƒ }t| | ¡|ƒ d S )N©r#   r#   r#   r   r#   )r,   r-   r   r   r/   r˜   r   r   r   Ú$test_multilabel_binarizer_non_unique  s    r¢   c                  C   s  dg} t ƒ }| | ¡ t t¡�& | t ddgg¡¡ W d   ƒ n1 sL0    Y  | t ddgg¡¡ | t ddgg¡¡ | t ddgg¡¡ t t¡�$ | t dgg¡¡ W d   ƒ n1 sÌ0    Y  t t¡�& | t g d¢g¡¡ W d   ƒ n1 �s0    Y  d S )Nr¡   r#   rG   r   ©r#   r#   r#   )r   r/   rM   r^   r_   r1   r,   r-   )r2   r‹   r   r   r   Ú,test_multilabel_binarizer_inverse_validation
  s    
42r¤   c                  C   s¬   t ddgg d¢d�} t g d¢g d¢g¡}t| |ƒ t ddgg d¢d�} t g d¢g d¢g¡}t| |ƒ t g d	¢g d
¢d�} t g d¢g d¢g d¢g d¢g¡}t| |ƒ d S )Nr#   rq   )r#   rF   re   rq   r]   r+   r(   )r#   rq   re   rF   r*   )r   r#   rF   rG   )rG   rF   r   r#   r)   )r
   r,   r-   r   )Úoutr4   r   r   r   Ú$test_label_binarize_with_class_order  s    

"r¦   c              	   C   sB  dD �]6}|dks|dkr\|r\t  t¡�" t| ||||d� W d   ƒ q1 sP0    Y  qt| ||||d�}tt|ƒ|ƒ t|ƒ|ksŒJ ‚t| ƒ}|dkrªt||d�}nt	||||| d d�}tt|ƒt| ƒƒ t
|||d�}	|	 | ¡}tt|ƒ|ƒ t|ƒ|k�sJ ‚|	 |¡}
tt|
ƒt| ƒƒ t|
ƒt| ƒksJ ‚qd S )	Nr†   r   ©r[   rD   rE   r   Z
multiclassr]   g       @)rZ   r[   r\   rU   )rM   r^   r_   r
   r   r   r   r   r   r	   r   r/   r1   )rY   r[   rE   rD   r4   r   Z	binarizedZy_typeZinversedr3   Zinverse_outputr   r   r   Úcheck_binarized_results,  sN    
û$û
üÿ

r¨   c                  C   s°   g d¢} ddg}d}d}t  ddgddgddgg¡d d …df  d¡}t| ||||ƒ g d¢} ddg}d}d}t  ddgddgddgg¡d d …df  d¡}t| ||||ƒ d S )Nr8   r   r#   rF   rp   )rp   r#   rG   )r,   r-   Zreshaper¨   ©rY   r[   rE   rD   r4   r   r   r   Útest_label_binarize_binary_  s    ..rª   c                  C   sv   g d¢} g d¢}d}d}dt  d¡ }t| ||||ƒ t t¡�" t| |d|dd� W d   ƒ n1 sh0    Y  d S )N©r   r#   rF   rF   r   rG   rp   Tr§   )r,   Úeyer¨   rM   r^   r_   r
   r©   r   r   r   Útest_label_binarize_multiclassr  s    
ÿr­   Úarr_typec                 C   sŒ   t  g d¢g d¢g d¢g¡}g d¢}d}d}|| }| |ƒ}t|||||ƒ t t¡�" t||d|dd	� W d   ƒ n1 s~0    Y  d S )
Nr8   r£   r=   r«   rF   r   rp   Tr§   )r,   r-   r¨   rM   r^   r_   r
   )r®   Zy_indr[   rE   rD   r4   rY   r   r   r   Útest_label_binarize_multilabel�  s    

ÿr¯   c                   C   sÌ   t  t¡�( tddgddgddd� W d   ƒ n1 s80    Y  t jtdd��$ tddgddgd	� W d   ƒ n1 sz0    Y  t jtd
d��& tddggg d¢d	� W d   ƒ n1 s¾0    Y  d S )Nr   rF   r#   )r[   rE   rD   zcontinuous target data is not rS   g333333ó?gš™™™™™@r]   zmismatch with the labelsrG   rV   )rM   r^   r_   r
   r   r   r   r   Ú!test_invalid_input_label_binarizeš  s    62r°   c                 C   s>   t | g d¢g d¢g d¢gƒt d¡ƒ}t|t g d¢¡ƒ d S )Nr8   )rp   r   rp   r=   rG   r…   )r   r,   Zaranger   r-   )rb   r5   r   r   r   Ú test_inverse_binarize_multiclass£  s     ÿr±   c                  C   s8   t ƒ } |  dddtjg¡ |  tjg¡}t|dgƒ dS )z]Check that label encoder encodes nans in transform.

    Non-regression test for #22628.
    r   r:   rF   N)r   rO   r,   Únanr@   r   )rk   Zy_transr   r   r   Útest_nan_label_encoder«  s    r³   Úencoderc                 C   s:   t | dƒrJ ‚| jg d¢d�}|  g d¢¡}t||ƒ dS )zxCheck that label encoders do not define set_output and work with y as a kwarg.

    Non-regression test for #26854.
    Z
set_outputrf   )rY   N)r   r/   r   )r´   Zy_encoded_with_kwargZy_encoded_positionalr   r   r   Ú*test_label_encoders_do_not_have_set_output·  s    rµ   zarray_namespace, device, dtyperY   rn   )rG   ro   é	   ro   r¶   rG   c                 C   s€  t ||ƒ}|j| |d�}tdd���F tƒ }tƒ }| |¡}| |¡}| |¡}	| | ¡}| | ¡}
t|ƒd j|jks|J ‚t|	ƒd j|jks”J ‚t|j	ƒd j|jks®J ‚t
t||ƒ|
ƒ t
t|	|ƒ| ƒ t
t|j	|ƒ|j	ƒ tƒ }tƒ }| |¡}| | ¡}
t|ƒd j|jk�sJ ‚t|j	ƒd j|jk�s8J ‚t
t||ƒ|
ƒ t
t|j	|ƒ|j	ƒ W d   ƒ n1 �sr0    Y  d S )N)ÚdeviceT)Zarray_api_dispatchr   )r   Zasarrayr   r   rO   r@   r1   r   Ú__name__r0   r   r   r/   )rY   Zarray_namespacer·   rI   ZxpZxp_yZxp_labelZnp_labelZxp_transformedZxp_inv_transformedZnp_transformedr   r   r   Ú'test_label_encoder_array_api_complianceÅ  s0    







r¹   )GÚnumpyr,   rM   Zscipy.sparser   Zsklearnr   r   Zsklearn.preprocessing._labelr   r   r   r   r	   r
   Zsklearn.utils._array_apir   r   r   Zsklearn.utils._testingr   r   Zsklearn.utils.fixesr   r   r   r   r   Zsklearn.utils.multiclassr   Zsklearn.utils.validationr   Z	load_irisZirisr   r6   rA   rH   ÚmarkZparametrizerQ   ra   rc   r-   rg   rm   rr   ru   ry   rz   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   Ú<module>   sÊ    ):
ýý
ýõí

ýù	
%

#3ÿþýüûþ	
	
ÿ
ÿýþ