o
    i                     @   s  d dl m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 d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZmZmZmZmZ d d
lmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZDmEZE eF ZGejHId ZJeJKeGjLjMZNeGjOeN eG_OeGjLeN eG_LdZPdd ZQdd ZRdd ZSdd ZTd d! ZUd"d# ZVejWXd$e@e? e> eA eB d%d& ZYd'd( ZZd)d* Z[d+d, Z\d-d. Z]d/d0 Z^d1d2 Z_d3d4 Z`d5d6 Zad7d8 Zbd9d: Zcd;d< Zdd=d> Zed?d@ ZfdAdB ZgdCdD ZhdEdF ZidGdH ZjdIdJ ZkdKdL ZldMdN ZmdOdP ZndQdR ZodSdT ZpdUdV ZqdWdX ZrdYdZ Zsd[d\ Ztd]d^ ZuejWXd_e?d`da Zvdbdc Zwddde ZxejWXdfe&e%gdgdh ZyejWXdfe&e%gdidj ZzejWXdfe&e%gdkdl Z{ejWXdmej|ej}gdndo Z~dpdq Zdrds ZdS )t    )escapeN)assert_allclose)datasetssvm)BaseEstimatorClassifierMixin)load_breast_cancer)NotFittedError)SimpleImputer)
ElasticNetLassoLinearRegressionLogisticRegression
PerceptronRidgeSGDClassifier)precision_scorerecall_score)GridSearchCVcross_val_score)OneVsOneClassifierOneVsRestClassifierOutputCodeClassifier)MultinomialNB)KNeighborsClassifier)Pipelinemake_pipeline)SVC	LinearSVC)DecisionTreeClassifierDecisionTreeRegressor)check_arrayshuffle)CheckingClassifier)assert_almost_equalassert_array_equal)COO_CONTAINERSCSC_CONTAINERSCSR_CONTAINERSDOK_CONTAINERSLIL_CONTAINERS)check_classification_targetstype_of_target   c                  C   s$  t tdd} tt | g  W d    n1 sw   Y  d}tjt|d' tddgddgg}tddgddgg}t t	 
|| W d    n1 sTw   Y  tjt|d( tddgddgg}tdd	gd
dgg}t t	 
|| W d    d S 1 sw   Y  d S )Nr   random_statez@Multioutput target data is not supported with label binarizationmatch      r-   g      ?g333333@g@皙?)r   r   pytestraisesr	   predict
ValueErrornparrayr   fit)ovrmsgXy r@   l/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/sklearn/tests/test_multiclass.pytest_ovr_exceptions9   s   "rB   c                  C   sR   t g d} t| }tjt|d t|  W d    d S 1 s"w   Y  d S )N)        g?       @g      @r0   )r9   r:   r,   r5   r6   r8   r+   )r?   r=   r@   r@   rA   !test_check_classification_targetsM   s
   
"rE   c                  C   s   t tdd} | tjtjtj}t| jt	ksJ tdd}|tjtjtj}t
tj|kt
tj|kks?J t t } | tjtjtj}t
tj|kdks\J d S )Nr   r.   ?)r   r   r;   irisdatatargetr7   lenestimators_	n_classesr9   meanr   )r<   predclfpred2r@   r@   rA   test_ovr_fit_predictU   s   
$
rQ   c                  C   s  t tjtjdd\} }tt }|| d d |d d t| || dd  |dd   |	| }tt }|
| |	| }t|| t|jtt|ksVJ t||kdksaJ ttjdd} g d}ttdd d	dd
}|| d d |d d t| || dd  |dd   |	| }ttdd d	dd
}|
| |	| }t||kt||kksJ tt }t|drJ d S )Nr   r.   d   rF      r3   r2   r2   r2   r2   r3   r-   r-   r   r   r3   r-   r2   r3   r-   r2   F)max_itertolr"   r/      partial_fit)r"   rG   rH   rI   r   r   rX   r9   uniquer7   r;   r$   rJ   rK   rM   absrandomrandnr   r   hasattr)r>   r?   r<   rN   Zovr2rP   Zovr1pred1r@   r@   rA   test_ovr_partial_fite   s2   
$


$
 
r_   c                  C   s   t t } ttjdd}g d}| |d d |d d t| dg|dd  }d}tj	t
|d | j|dd  |d	 W d    d S 1 sNw   Y  d S )
NrS   r3   rT   rW      zAMini-batch contains \[.+\] while classes must be subset of \[.+\]r0   )r>   r?   )r   r   r9   rZ   r[   r\   rX   rY   r5   r6   r8   )r<   r>   r?   y1r=   r@   r@   rA   test_ovr_partial_fit_exceptions   s   
$"rc   c                  C   s   t t } | tjtjtj}t| jt	ksJ t
t|g d t|tjkdks0J tt } | tjtjtj}t| jt	t	d  d ksPJ t
t|g d t|tjkdksfJ d S )N)r   r2   r3   ?r2   r3   )r   r    r;   rG   rH   rI   r7   rJ   rK   rL   r%   r9   rY   rM   r   )r<   rN   r@   r@   rA   test_ovr_ovo_regressor   s   

re   sparse_containerc              	   C   s  t dd}tjddddddd	d
\}}|d d |d d }}|dd  }t|||}||}t||| |}	|	|}
|jsGJ t|
sNJ t	|

 | |	|}|dk}t	||

  t }t||| |}	|	|d	kt}t	||	|
  d S )Nr2   alpharR      r`   r-   2   Tr   	n_samples
n_featuresrL   Zn_labelslengthZallow_unlabeledr/   P         ?)r   r   make_multilabel_classificationr   r;   r7   multilabel_spissparser%   Ztoarraypredict_probar   r   decision_functionastypeint)rf   base_clfr>   YX_trainY_trainX_testrO   Y_predZclf_sprsZY_pred_sprsY_probarN   Zdec_predr@   r@   rA   test_ovr_fit_predict_sparse   s4   






r   c                  C   s  t d} d| d dd d f< t d}d|dd df< d|d d df< d|d d df< tt }d}tjt|d || | W d    n1 sKw   Y  |	| }t
t |t | || }t |d d d	d f dksvJ || }t
|d d d
f t | jd  t d}d|dd df< tt }d}tjt|d || | W d    n1 sw   Y  || }t
|d d d
f t | jd  d S )N
   r3   r   r`   )r   r-   r2   r3   z,Label .+ is present in all training examplesr0   ra   z/Label not 1 is present in all training examples)r9   oneszerosr   r   r5   ZwarnsUserWarningr;   r7   r%   r:   rv   rY   ru   shape)r>   r?   r<   r=   y_predr@   r@   rA   test_ovr_always_present   s4   




"
"


&r   c                  C   s  t g dg dg dg dg dg} g d}t g dg dg d	g dg d	g}td
 }t tddt t t fD ]?}t	|
| |}t|j|ksSJ |t g dgd }t|dg t	|
| |}|g dgd }t|g d q@d S )Nr   r   r`   r   r`   r   r-   r   r   r   r      r   r   r   )eggsspamhamr   r   )r   r   r2   r   r2   r   r2   r   r   zham eggs spamr   r.   r   r      r   )r9   r:   setsplitr   r   r   r   r   r   r;   classes_r7   r%   )r>   r?   rz   classesry   rO   r   r@   r@   rA   test_ovr_multiclass   s$   ((r   c                     s   t g dg dg dg dg dg g dt g dgjtd d fd
d	} tddt t t fD ]}| | q=t	 t
ddt fD ]}| |dd qNd S )Nr   r   r   r   r   )r   r   r   r   r   )r   r2   r2   r   r2   z	eggs spamFc                    s   t |  }t|jksJ |tg dgd }t|dg t| dr5|	 }|j
dks5J |r_tg dg}||}dt|d ksNJ |jtj|dd ||ks_J t |  }|g d	gd }|dkswJ d S )
Nr   r   r   rv   )r`   r3   r2   Zaxisr   )r   r;   r   r   r7   r9   r:   r%   r]   rv   r   ru   rJ   argmax)ry   test_predict_probarO   r   decr}   Zprobabilitiesr>   rz   r   r?   r@   rA   conduct_test  s   


"z%test_ovr_binary.<locals>.conduct_testr   r.   Tprobability)r   )F)r9   r:   Tr   r   r   r   r   r   r   r   r   )r   ry   r@   r   rA   test_ovr_binary  s   (
r   c                  C   s   t g dg dg dg dg dg} t g dg dg dg d	g d
g}t tddt t t tddfD ] }t|	| |}|
g dgd }t|g d |jsZJ q:d S )N)r   r   r`   r   )r-   r-   r-   )r   r   r   r   )r   r2   r2   r   )r2   r2   r2   )r2   r   r2   r   r   r.   rp   rg   )r   r   r   )r9   r:   r   r   r   r   r   r   r   r;   r7   r%   rr   )r>   r?   ry   rO   r   r@   r@   rA   test_ovr_multilabel;  s   ((r   c                  C   sJ   t t } | tjtj t| jdksJ | 	tjtjdks#J d S )Nr-   rd   )
r   r   r   r;   rG   rH   rI   rJ   rK   score)r<   r@   r@   rA   test_ovr_fit_predict_svcN  s   r   c               
   C   s   t dd} tdddD ]W\}}}tjdddd	d
|dd\}}|d d |d d }}|dd  |dd  }}	t| ||}
|
|}|
jsJJ tt	|	|dd|d	d tt
|	|dd|d	d qd S )Nr2   rg   )TF)RQ?gQ?)r   r4   rR   ri   r`   r3   rj   r   rk   ro   micro)Zaverage)decimal)r   zipr   rq   r   r;   r7   rr   r$   r   r   )ry   auprecZrecallr>   rz   r{   r|   r}   ZY_testrO   r~   r@   r@   rA   test_ovr_multilabel_datasetU  s.   

	

r   c               
   C   sB  t dd} dD ]}tjddddd|d	d
\}}|d d |d d }}|dd  }t| ||}tt ||}t|drCJ ttjdd}t|drRJ ||| t|dr_J t|dsfJ t	tjddddgid}	t|	}
t|
dr~J |
|| t|
dsJ |
|}||}|dk}t|| qd S )Nr2   rg   )FTrR   ri   r`   r-   rj   r   rk   ro   ru   Fr   rv   r   T)Z
param_gridrp   )r   r   rq   r   r;   r   SVRr]   r   r   r7   ru   r%   )ry   r   r>   rz   r{   r|   r}   rO   decision_onlygsZproba_after_fitr~   r   rN   r@   r@   rA   !test_ovr_multilabel_predict_probao  sB   

	

r   c                  C   s   t dd} tjtj}}|d d |d d }}|dd  }t| ||}tt ||}t|dr8J |	|}|
|}	t|	jddd |	jdd}
|
|  rYJ d S )Nr2   rg   ro   ru   r         ?)r   rG   rH   rI   r   r;   r   r   r]   r7   ru   r$   sumr   any)ry   r>   rz   r{   r|   r}   rO   r   r~   r   rN   r@   r@   rA   #test_ovr_single_label_predict_proba  s   


r   c                  C   sN   G dd dt t} |  }tjtj}}t|||}||}t|d dS )zmCheck that predic_proba returns all zeros when the base estimator
    never predicts the positive class.
    c                   @   s   e Zd Zdd Zdd ZdS )zGtest_ovr_single_label_predict_proba_zero.<locals>.NaiveBinaryClassifierc                 S   s   t || _| S )N)r9   rY   r   )selfr>   r?   r@   r@   rA   r;     s   zKtest_ovr_single_label_predict_proba_zero.<locals>.NaiveBinaryClassifier.fitc                 S   s&   t t|df}d|d d df< |S )Nr3   r   r2   )r9   r   rJ   )r   r>   Zprobar@   r@   rA   ru     s   zUtest_ovr_single_label_predict_proba_zero.<locals>.NaiveBinaryClassifier.predict_probaN)__name__
__module____qualname__r;   ru   r@   r@   r@   rA   NaiveBinaryClassifier  s    r   rC   N)	r   r   rG   rH   rI   r   r;   ru   r   )r   ry   r>   r?   rO   Zy_probar@   r@   rA   (test_ovr_single_label_predict_proba_zero  s   
r   c               	   C   sz   t jdddddddd\} }| d d	 |d d	 }}| d	d  }tt ||}t||dkt	|
| d S )
NrR   ri   r`   r-   rj   Tr   rk   ro   )r   rq   r   r   r   r;   r%   rv   rw   rx   r7   r>   rz   r{   r|   r}   rO   r@   r@   rA   %test_ovr_multilabel_decision_function  s   
	r   c                  C   sp   t jdddd\} }| d d |d d }}| dd  }tt ||}t|| dk|	| d S )NrR   ri   r   )rl   rm   r/   ro   )
r   Zmake_classificationr   r   r   r;   r%   rv   Zravelr7   r   r@   r@   rA   'test_ovr_single_label_decision_function  s
   "r   c                  C   R   t tdd} g d}t| d|i}|tjtj |jjd j	}||v s'J d S Nr   r.   )皙?rp   r4   Zestimator__C)
r   r   r   r;   rG   rH   rI   best_estimator_rK   C)r<   Cscvbest_Cr@   r@   rA   test_ovr_gridsearch     r   c                  C   s`   t dt fg} t| }|tjtj tt }|tjtj t|tj|tj d S )Ntree)	r   r   r   r;   rG   rH   rI   r%   r7   )rO   Zovr_piper<   r@   r@   rA   test_ovr_pipeline  s   
r   c                  C   H   t tdd} tt | g  W d    d S 1 sw   Y  d S Nr   r.   )r   r   r5   r6   r	   r7   ovor@   r@   rA   test_ovo_exceptions     "r   c                  C   s\   t tdd} | tjtjtj}dd tjD }| |ttj|}t|| d S )Nr   r.   c                 S   s   g | ]}t |qS r@   )list).0ar@   r@   rA   
<listcomp>  s    z(test_ovo_fit_on_list.<locals>.<listcomp>)	r   r   r;   rG   rH   rI   r7   r   r%   )r   Zprediction_from_arrayZiris_data_listZprediction_from_listr@   r@   rA   test_ovo_fit_on_list  s   r   c                  C   s   t tdd} | tjtjtj t| jt	t	d  d ks"J t t
 } | tjtjtj t| jt	t	d  d ksBJ d S )Nr   r.   r2   r3   )r   r   r;   rG   rH   rI   r7   rJ   rK   rL   r   r   r@   r@   rA   test_ovo_fit_predict  s   
"r   c                  C   s  t  } | j| j}}tt }||d d |d d t| ||dd  |dd   |	|}tt }|
|| |	|}t|jttd  d ksTJ t||kdks_J t|| tt }||d d |d d t| ||dd  |dd   |	|}tt }|
||	|}t|| t|jtt|ksJ t||kdksJ tt }tjdd}g d}||d d |d d g d	 ||dd  |dd   |	|}tt }|
||	|}t|| tt }g d
}	tdt|	t|}
tjt|
d ||d d |	t| W d    n	1 s9w   Y  tt }t|drKJ d S )NrR   r2   r3   rF   <   rS   )r2   r2   r3   r-   r-   r   r   r   r   r   r   r   r3   r3   rW   )r   r2   r3   r-   r   )r   r2   r3   r-   r   r`   r3   z6Mini-batch contains {0} while it must be subset of {1}r0   rX   )r   	load_irisrH   rI   r   r   rX   r9   rY   r7   r;   rJ   rK   rL   rM   r$   r[   Zrandr   formatr5   r6   r8   r   r]   )tempr>   r?   Zovo1r^   Zovo2rP   r   rN   Zerror_yZ
message_rer<   r@   r@   rA   test_ovo_partial_fit_predict  sT   
$




$



"




r   c            	      C   sz  t jjd } ttdd}|t jt jdk |t j}|j| fks%J |t jt j |t j}|j| tfks<J t	|j
dd|t j t| tf}d}ttD ]1}t|d tD ]'}|j| t j}||dk|f  d7  < ||dk|f  d7  < |d7 }q_qVt	|t| ttD ]&}t|d d |f tg dsJ tt|d d |f dksJ qd S )Nr   r.   r2   r   )rC   r   rD      )rG   rH   r   r   r   r;   rI   rv   rL   r%   r   r7   r9   r   rangerK   roundr   issubsetrJ   rY   )	rl   Zovo_clfZ	decisionsvoteskijrN   Z	class_idxr@   r@   rA   test_ovo_decision_functionL  s.   
&$r   c                  C   r   r   )
r   r   r   r;   rG   rH   rI   r   rK   r   )r   r   r   r   r@   r@   rA   test_ovo_gridsearch{  r   r   c                  C   s   t ddgddgddgddgg} t g d}ttddd d}|| || }|| }t |}|| }t|d	d d f d tt j	|dd  dd
|dd   |d	 |d	 	 ksaJ d S )Nr2   r3   r   ra   r3   r   r2   r3   Fr   r"   rU   rV   r   r   )
r9   r:   r   r   r;   r7   rv   r   r%   r   )r>   r?   	multi_clfovo_predictionZovo_decisionr   Znormalized_confidencesr@   r@   rA   test_ovo_ties  s   "

$r   c                  C   s   t ddgddgddgddgg} t g d}tdD ]$}|| d }ttddd d	}|| || }|d
 |d ks@J qd S )Nr2   r3   r   ra   r   r-   Fr   r   r   )r9   r:   r   r   r   r;   r7   )r>   Zy_refr   r?   r   r   r@   r@   rA   test_ovo_ties2  s   "r   c                  C   sB   t d} t g d}tt }|| | t|||  d S )Nr   )r   bcd)r9   eyer:   r   r   r;   r%   r7   )r>   r?   r   r@   r@   rA   test_ovo_string_y  s
   

r   c                  C   sh   t d} t dgd }tt }d}tjt|d || | W d    d S 1 s-w   Y  d S )Nr   r   zwhen only one classr0   )	r9   r   r:   r   r   r5   r6   r8   r;   r>   r?   r   r=   r@   r@   rA   test_ovo_one_class  s   

"r   c                  C   f   t j} t jd d df }tt }d}tjt|d || | W d    d S 1 s,w   Y  d S Nr   zUnknown label typer0   )rG   rH   r   r   r5   r6   r8   r;   r   r@   r@   rA   test_ovo_float_y     
"r   c                  C   r   r   )r   r   r5   r6   r	   r7   ecocr@   r@   rA   test_ecoc_exceptions  r   r   c                  C   s   t tddddd} | tjtjtj t| jt	d ks!J t t
 ddd} | tjtjtj t| jt	d ks@J d S )Nr   r.   r3   )Z	code_sizer/   )r   r   r;   rG   rH   rI   r7   rJ   rK   rL   r   r   r@   r@   rA   test_ecoc_fit_predict  s   r   c                  C   sV   t tdddd} g d}t| d|i}|tjtj |jjd j	}||v s)J d S r   )
r   r   r   r;   rG   rH   rI   r   rK   r   )r   r   r   r   r@   r@   rA   test_ecoc_gridsearch  s   r   c                  C   r   r   )rG   rH   r   r   r5   r6   r8   r;   r   r@   r@   rA   test_ecoc_float_y  r   r   csc_containerc                 C   s   t jt j}}| |}ttdddd}t|dd}tjtdd |	|| W d    n1 s2w   Y  |	|| tjtdd |
| W d    n1 sTw   Y  ttdd}|	||
| t|jd	ksrJ d S )
NTF)Z	ensure_2dZaccept_sparse)Zcheck_XZcheck_X_paramsr   r.   zSparse data was passedr0   r   )rG   rH   rI   r#   r!   r   r5   r6   	TypeErrorr;   r7   r   rJ   rK   )r   r>   r?   ZX_spZbase_estimatorr   r@   r@   rA   (test_ecoc_delegate_sparse_base_estimator  s"   r  c                  C   s~   t jdd} tjtj}}t| }t||j}|	|| t
|j}|j}|D ]}|jd | |d  |jd ks<J q(d S )NprecomputedZkernelr   r2   )r   r   rG   rH   rI   r   r9   dotr   r;   rJ   rK   Zpairwise_indices_r   )clf_precomputedr>   r?   	ovr_falselinear_kernelZn_estimatorsZprecomputed_indicesidxr@   r@   rA   test_pairwise_indices
  s   
&r	  c            
      C   s  t jt j} }|d dksJ | dd } |dd }| jdks"J tjdd| |}|jdks3J t|| |}|jdksBJ |j	D ]	}|jdksNJ qEt
|| |}|jdks^J |jdkseJ t|j	dksnJ |j	D ]	}|jdkszJ qq| | j }|jd	ksJ tjd
d||}|jdksJ t|||}|jdksJ |jdksJ t|j	dksJ |j	D ]	}|jdksJ qt
|||}	|	jdksJ |jdksJ t|j	dksJ |	j	d jdksJ |	j	d jdksJ |	j	d jdksJ dS )a  Check the n_features_in_ attributes of the meta and base estimators

    When the training data is a regular design matrix, everything is intuitive.
    However, when the training data is a precomputed kernel matrix, the
    multiclass strategy can resample the kernel matrix of the underlying base
    estimator both row-wise and column-wise and this has a non-trivial impact
    on the expected value for the n_features_in_ of both the meta and the base
    estimators.
    ra   r   N)   r   linearr  r   r-   )r
  r
  r  r
  c   r2   r3   rR   )rG   rH   rI   r   r   r   r;   Zn_features_in_r   rK   r   Z
n_classes_rJ   r   )
r>   r?   clf_notprecomputedZovr_notprecomputedZestZovo_notprecomputedKr  Zovr_precomputedZovo_precomputedr@   r@   rA   test_pairwise_n_features_in  sD   




r  MultiClassClassifierc                 C   sH   t jdd}t  }| |}| jjrJ | |}| jjs"J d S )Nr  r  )r   r   Z__sklearn_tags__Z
input_tagspairwise)r  r  r  r  Zovr_truer@   r@   rA   test_pairwise_tag`  s   r  c           
      C   sr   t jdd}t jdd}tjtj}}| |}| |}t||j}t|||dd}t|||dd}	t	|	| d S )Nr  r  r  raise)Zerror_score)
r   r   rG   rH   rI   r9   r  r   r   r%   )
r  r  r  r>   r?   Zmulticlass_clf_notprecomputedZmulticlass_clf_precomputedr  Zscore_not_precomputedZscore_precomputedr@   r@   rA   test_pairwise_cross_val_scoren  s   r  c                 C   s|   t jd}tjtj}}t |}|jddg|jddgd	t
}t j||< tt t|d}| ||||| d S )N*   r2   r   r   rd   )pr.   )r9   r[   RandomStaterG   rH   rI   copychoicer   rw   boolnanr   r
   r   r;   r   )r  rngr>   r?   masklrr@   r@   rA   test_support_missing_values  s   	
 
r  make_yc                 C   sj   t d}| dt jd}tt }||| ||}t |jd df}d|dddf< t	|| dS )zUCheck that constant y target does not raise.

    Non-regression test for #21869
    r   )r   r2   )Zdtyper   r3   r2   N)
r9   r   Zint32r   r   r;   ru   r   r   r   )r   r>   r?   r<   r   expectedr@   r@   rA   test_constant_int_target  s   


r"  c                  C   sT   t dd\} }tddd}t|}|| | || | t|| ||  dS )z^Check that ovo is consistent with binary classifier.

    Non-regression test for #13617.
    T)Z
return_X_y   Zdistance)Zn_neighborsweightsN)r   r   r   r;   r%   r7   )r>   r?   rO   r   r@   r@   rA   )test_ovo_consistent_binary_classification  s   r%  c                  C   s   t  } ttddd}d}d}tjt|d}|| j| j	 W d   n1 s*w   Y  t
|jjts8J |t|jjv sBJ dS )a  Check that we raise the proper AttributeError when the final estimator
    does not implement the `partial_fit` method, which is decorated with
    `available_if`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28108
    r  r.   )Z	estimatorz9This 'OneVsRestClassifier' has no attribute 'partial_fit'z:'LogisticRegression' object has no attribute 'partial_fit'r0   N)r   r   r   r   r5   r6   AttributeErrorrX   rH   rI   
isinstancevalue	__cause__str)rG   rO   Z	outer_msgZ	inner_msgZ	exec_infor@   r@   rA   )test_multiclass_estimator_attribute_error  s   r+  )rer   numpyr9   r5   Zscipy.sparsesparsers   Znumpy.testingr   Zsklearnr   r   Zsklearn.baser   r   Zsklearn.datasetsr   Zsklearn.exceptionsr	   Zsklearn.imputer
   Zsklearn.linear_modelr   r   r   r   r   r   r   Zsklearn.metricsr   r   Zsklearn.model_selectionr   r   Zsklearn.multiclassr   r   r   Zsklearn.naive_bayesr   Zsklearn.neighborsr   Zsklearn.pipeliner   r   Zsklearn.svmr   r   Zsklearn.treer   r    Zsklearn.utilsr!   r"   Zsklearn.utils._mockingr#   Zsklearn.utils._testingr$   r%   Zsklearn.utils.fixesr&   r'   r(   r)   r*   Zsklearn.utils.multiclassr+   r,   r   rG   r[   r  r  ZpermutationrI   sizepermrH   rL   rB   rE   rQ   r_   rc   re   markZparametrizer   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@   rA   <module>   s    $	$
)$(-	5/	
	
E



