
     h8U                     "   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 d dlmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ 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" d dl#Z# G d de          Z$ G d de          Z% G d de          Z& G d de          Z' G d de          Z( G d de'          Z) G d de'e(          Z* G d d e*          Z+ G d! d"e          Z, G d# d$e          Z- G d% d&          Z. G d' d(e          Z/d) Z0d* Z1d+ Z2d, Z3d- Z4d. Z5d/ Z6d0 Z7d1 Z8d2 Z9d3 Z:d4 Z;d5 Z<d6 Z=d7 Z>ej?        @                    d8 ed9d :           ejA        d ;          f ed9d :           ejB        d ;          fg          d<             ZCd= ZDd> ZE G d? d@e          ZFdAZGdB ZH G dC dDe          ZIdE ZJdF ZK G dG dH          ZL G dI dJeLe          ZMdK ZNdL ZO G dM dNe          ZP eeQO          dP             ZRdQ ZSdR ZTdS ZUdT ZVdU ZWdV ZXdW ZYdX ZZ G dY dZ          Z[ G d[ d\e[e          Z\ej?        @                    d] e             e\            g          d^             Z]d_ Z^dS )`    N)assert_array_equal)assert_no_warnings)ignore_warnings)BaseEstimatorcloneis_classifier)SVC)StandardScaler)_get_output_config)Pipeline)GridSearchCV)DecisionTreeClassifier)DecisionTreeRegressor)datasets)TransformerMixin)MockDataFrame)config_contextc                       e Zd ZddZdS )MyEstimatorr   Nc                 "    || _         || _        d S N)l1empty)selfr   r   s      S/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/sklearn/tests/test_base.py__init__zMyEstimator.__init__#   s    


    )r   N__name__
__module____qualname__r    r   r   r   r   "   s(             r   r   c                       e Zd ZddZdS )KNc                 "    || _         || _        d S r   )cd)r   r&   r'   s      r   r   z
K.__init__)       r   NNr   r"   r   r   r$   r$   (   (             r   r$   c                       e Zd ZddZdS )TNc                 "    || _         || _        d S r   )ab)r   r.   r/   s      r   r   z
T.__init__/   r(   r   r)   r   r"   r   r   r,   r,   .   r*   r   r,   c                       e Zd Zd ZdS )NaNTagc                 
    ddiS )N	allow_nanTr"   r   s    r   
_more_tagszNaNTag._more_tags5   s    T""r   Nr   r    r!   r5   r"   r   r   r1   r1   4   s#        # # # # #r   r1   c                       e Zd Zd ZdS )NoNaNTagc                 
    ddiS Nr3   Fr"   r4   s    r   r5   zNoNaNTag._more_tags:       U##r   Nr6   r"   r   r   r8   r8   9   #        $ $ $ $ $r   r8   c                       e Zd Zd ZdS )OverrideTagc                 
    ddiS r:   r"   r4   s    r   r5   zOverrideTag._more_tags?   r;   r   Nr6   r"   r   r   r>   r>   >   r<   r   r>   c                       e Zd Zd ZdS )DiamondOverwriteTagc                     t                      S r   )dictr4   s    r   r5   zDiamondOverwriteTag._more_tagsD   s    vvr   Nr6   r"   r   r   rA   rA   C   s#            r   rA   c                       e Zd ZdS )InheritDiamondOverwriteTagNr   r    r!   r"   r   r   rE   rE   H           Dr   rE   c                   :    e Zd ZdZ ej        dg          fdZdS )ModifyInitParamsz_Deprecated behavior.
    Equal parameters but with a type cast.
    Doesn't fulfill a is a
    r   c                 8    |                                 | _        d S r   )copyr.   r   r.   s     r   r   zModifyInitParams.__init__R   s    r   N)r   r    r!   __doc__nparrayr   r"   r   r   rI   rI   L   sC         
 "1#      r   rI   c                       e Zd ZdZddZdS )Buggyz9A buggy estimator that does not set its parameters right.Nc                     d| _         d S N   r.   rL   s     r   r   zBuggy.__init__Y   s    r   r   r   r    r!   rM   r   r"   r   r   rQ   rQ   V   s.        ??     r   rQ   c                   $    e Zd Zd ZddZddZdS )NoEstimatorc                     d S r   r"   r4   s    r   r   zNoEstimator.__init__^       r   Nc                     | S r   r"   r   Xys      r   fitzNoEstimator.fita   s    r   c                     d S r   r"   r   r]   s     r   predictzNoEstimator.predictd   s    tr   r)   r   )r   r    r!   r   r_   rb   r"   r   r   rX   rX   ]   sK                  r   rX   c                       e Zd ZdZd ZdS )VargEstimatorz-scikit-learn estimators shouldn't have vargs.c                     d S r   r"   )r   vargss     r   r   zVargEstimator.__init__k   rZ   r   NrV   r"   r   r   rd   rd   h   s)        77    r   rd   c                     ddl m} m}  | |d          }t          |          }||usJ |                                |                                k    sJ  | |t          j        d                    }t          |          }||usJ d S )Nr   	SelectFpr	f_classif皙?alpha)
      )sklearn.feature_selectionri   rj   r   
get_paramsrN   zerosri   rj   selectornew_selectors       r   
test_clonerv   s   s     ?>>>>>>>y#...H??L<''''  L$;$;$=$=====y"(7*;*;<<<H??L<''''''r   c                      ddl m} m}  | |d          }d|_        t	          |          }t          |d          rJ d S )Nr   rh   rk   rl   testown_attribute)rp   ri   rj   ry   r   hasattrrs   s       r   test_clone_2r{      s_     ?>>>>>>>y#...H#H??L|_5555555r   c                     t                      } d| _        t          j        t                    5  t          |            d d d            n# 1 swxY w Y   t                      }t          j        t                    5  t          |           d d d            n# 1 swxY w Y   t                      }t          j        t                    5  t          |           d d d            n# 1 swxY w Y   t                      }t          j        t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nro   )
rQ   r.   pytestraisesRuntimeErrorr   rX   	TypeErrorrd   rI   )buggyno_estimatorvarg_estests       r   test_clone_buggyr      s   GGEEG	|	$	$  e               ==L	y	!	!  l               H	|	$	$  h               

C	|	$	$  c


                 sG   AAA=BB BC''C+.C+D66D:=D:c                  n   t          t          j        g                     } t          |           }t	          | j        |j                   t          t          j        t          j        dgg                              } t          |           }t	          | j        j        |j        j                   d S )Nr   r   )	r   rN   rO   r   r   r   sp
csr_matrixdataclfclf2s     r   test_clone_empty_arrayr      s    
BHRLL
)
)
)C::Dsy$*---
BM"(QC5//::
;
;
;C::Dsy~tz77777r   c                  x    t          t          j                  } t          |           }| j        |j        u sJ d S Nr   )r   rN   nanr   r   r   s     r   test_clone_nanr      s:    
BF
#
#
#C::D9
""""""r   c                  t   d t          t                    D             } | D ]} |t          j        d                    }t	          |          }t          |          }|j        j        |j        j        u sJ t          |j        	                                |j        	                                           d S )Nc                 b    g | ],}|                     d           t          t          |          -S )_matrix)endswithgetattrr   ).0names     r   
<listcomp>z.test_clone_sparse_matrices.<locals>.<listcomp>   sC       "y1I1ID  r      r   )
dirr   rN   eyer   r   r   	__class__r   toarray)sparse_matrix_classesclssparse_matrixr   
clf_cloneds        r   test_clone_sparse_matricesr      s     &)"gg   % L LBF1II...3ZZ
y"j&6&@@@@@39,,..
0@0H0H0J0JKKKKL Lr   c                  n    t          t                     } t          |           }| j        |j        u sJ d S r   )r   r   r   r   s     r   test_clone_estimator_typesr      s:     K
(
(
(C::D9
""""""r   c                      d} t          j        t          |           5  t          t                     d d d            d S # 1 swxY w Y   d S )Nz8You should provide an instance of scikit-learn estimatormatch)r}   r~   r   r   r   )msgs    r   %test_clone_class_rather_than_instancer      s     EC	y	,	,	,  k                 s   A  AAc                  &   t                      } t          |            t          t                      t                                }t          |          dk    sJ t          dgdz            }t	          t          |                    dk    sJ d S )NzT(a=K(), b=K())long_paramsi  rU   i  )r   reprr,   r$   len)my_estimatorrx   some_ests      r   	test_reprr      s    ==LQSS!##;;D::*****M?T)***HtH~~#%%%%%%r   c                  @    t                      } t          |            d S r   )r   str)r   s    r   test_strr      s    ==Lr   c                     t          t                      t                    } d|                     d          v sJ d|                     d          vsJ |                     d           | j        j        dk    sJ t          j        t                    5  |                     d           d d d            d S # 1 swxY w Y   d S )Na__dT)deepFro   )r   )a__a)	r,   r$   rq   
set_paramsr.   r'   r}   r~   
ValueError)rx   s    r   test_get_paramsr      s    QSS!99DT__$_//////e444444OOO68q====	z	"	"    Q                                   s   B;;B?B?c                  2   t                      } t          |           sJ t          t          | dddgi                    sJ t          t          d| fg                    sJ t          t          dt          | dddgi          fg                    sJ d S )NCrk   rT   svcsvc_cv)r	   r   r   r   )r   s    r   test_is_classifierr      s    
%%CcC#q?;;<<<<<E3<.1122222Hl3sAh.P.P#Q"RSSTTTTTTTr   c                  `   t          dt                      fg          } t          j        t                    5  |                     d           d d d            n# 1 swxY w Y   t          j        t                    5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr   T)svc__stupid_param)svm__stupid_param)r   r	   r}   r~   r   r   )r   s    r   test_set_paramsr      s   
UCEEN#
$
$C 
z	"	" / /.../ / / / / / / / / / / / / / / 
z	"	" / /.../ / / / / / / / / / / / / / / / / /s#   AA"A?B##B'*B'c                       G fddt                     } dddt          d |             fg          t           |             i           fD ]}|                    dd           d S )Nc                   "     e Zd Z fdZ xZS )?test_set_params_passes_all_parameters.<locals>.TestDecisionTreec                 J     t                      j        di | |k    sJ | S )Nr"   )superr   )r   kwargsr   expected_kwargss     r   r   zJtest_set_params_passes_all_parameters.<locals>.TestDecisionTree.set_params  s6    EGG(((((_,,,,Kr   )r   r    r!   r   __classcell__)r   r   s   @r   TestDecisionTreer     s>        	 	 	 	 	 	 	 	 	 	r   r   r   ro   )	max_depthmin_samples_leaf	estimator)estimator__max_depthestimator__min_samples_leaf)r   r   r   r   )r   r   r   s     @r   %test_set_params_passes_all_parametersr     s          1    %&1==O; 0 0 2 23455%%'',, N N 	A1MMMM	N Nr   c                      t          t                      i           } |                     t                      d           | j        j        dk    sJ d S )Ng      E@)r   estimator__C)r   r   r   r	   r   r   )gscvs    r   $test_set_params_updates_valid_paramsr   #  sP     .00"55DOOcee$O777>t######r   ztree,datasetro   )r   random_state)r   c                 D   t           j                            d          }|\  }}|                     ||           |                    ddt          |                    }|                     ||          }|                     |||          }d}||k    s
J |            d S )Nr   rT   rn   )size)sample_weightz5Unweighted and weighted scores are unexpectedly equal)rN   randomRandomStater_   randintr   score)	treedatasetrngr]   r^   r   score_unweightedscore_weightedr   s	            r   test_score_sample_weightr   +  s     )


"
"CDAqHHQNNNKK2CFFK33Mzz!Q''ZZ1MZBBN
AC~---s-----r   c                  ,    G d dt           t                    } t          j        d          }t	          |          } | |d          }t          |          }|j        |j        k    j                                        sJ |j	        |j	        k    sJ d S )Nc                   (    e Zd ZdZddZddZd ZdS )	3test_clone_pandas_dataframe.<locals>.DummyEstimatora,  This is a dummy class for generating numerical features

        This feature extractor extracts numerical features from pandas data
        frame.

        Parameters
        ----------

        df: pandas data frame
            The pandas data frame parameter.

        Notes
        -----
        NrT   c                 "    || _         || _        d S r   )dfscalar_param)r   r   r   s      r   r   z<test_clone_pandas_dataframe.<locals>.DummyEstimator.__init__W  s    DG ,Dr   c                     d S r   r"   r\   s      r   r_   z7test_clone_pandas_dataframe.<locals>.DummyEstimator.fit[      Dr   c                     d S r   r"   ra   s     r   	transformz=test_clone_pandas_dataframe.<locals>.DummyEstimator.transform^  r   r   rS   r   )r   r    r!   rM   r   r_   r   r"   r   r   DummyEstimatorr   G  sU        	 		- 	- 	- 	-	 	 	 		 	 	 	 	r   r   rn   rT   )r   )
r   r   rN   aranger   r   r   valuesallr   )r   r'   r   ecloned_es        r   test_clone_pandas_dataframer   F  s        )=   6 		"A	q		Br***AQxxH DHK'++----->X2222222r   c                  |   t          j                    } t                                          | j        | j                  }t          j        |          }d|v sJ t          t          j	        |          }|
                    | j        | j                  }|
                    | j        | j                  }||k    sJ d S )N   version)r   	load_irisr   r_   r   targetpickledumpsr   loadsr   )irisr   tree_pickletree_restoredscore_of_originalscore_of_restoreds         r   ?test_pickle_version_warning_is_not_raised_with_matching_versionr  l  s    D!##''	4;??D,t$$K$$$$&v|[AAM 

49dk::%++DIt{CC 1111111r   c                       e Zd Zd ZdS )TreeBadVersionc                 R    t          | j                                        d          S )N	something)_sklearn_version)rC   __dict__itemsr4   s    r   __getstate__zTreeBadVersion.__getstate__z  s#    DM''))KHHHHr   Nr   r    r!   r  r"   r   r   r  r  y  s(        I I I I Ir   r  zTrying to unpickle estimator {estimator} from version {old_version} when using version {current_version}. This might lead to breaking code or invalid results. Use at your own risk.c                     t          j                    } t                                          | j        | j                  }t          j        |          }t          	                    ddt          j                  }t          j        t          |          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nr  r  r   old_versioncurrent_versionr   )r   r   r  r_   r   r   r   r   pickle_error_messageformatsklearn__version__r}   warnsUserWarningr   )r   r   tree_pickle_othermessages       r   <test_pickle_version_warning_is_issued_upon_different_versionr    s    D	4;77DT**"))"+ *  G
 
k	1	1	1 ( (&'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   B88B<?B<c                       e Zd Zd ZdS )TreeNoVersionc                     | j         S r   )r
  r4   s    r   r  zTreeNoVersion.__getstate__  s
    }r   Nr  r"   r   r   r  r    s#            r   r  c                     t          j                    } t                                          | j        | j                  }t          j        |          }d|vsJ t          	                    ddt          j                  }t          j        t          |          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nr   r  zpre-0.18r  r   )r   r   r  r_   r   r   r   r   r  r  r  r  r}   r  r  r   )r   r   tree_pickle_noversionr  s       r   Dtest_pickle_version_warning_is_issued_when_no_version_info_in_pickler     s   D??ty$+66D"L..22222"))!+ *  G 
k	1	1	1 , ,*+++, , , , , , , , , , , , , , , , , ,s   B>>CCc                  L   t          j                    } t                                          | j        | j                  }t          j        |          }	 t          j        }dt          _        t          t          j
        |           |t          _        d S # |t          _        w xY w)N
notsklearn)r   r   r  r_   r   r   r   r   r    r   r   )r   r   r  module_backups       r   Ctest_pickle_version_no_warning_is_issued_with_non_sklearn_estimatorr$    s    D??ty$+66D"L..1%0#/ 6<)>???#0   = 0000s   2B B#c                       e Zd Zd Zd ZdS )DontPickleAttributeMixinc                 B    | j                                         }d |d<   |S N_attribute_not_pickledr
  rK   r   r   s     r   r  z%DontPickleAttributeMixin.__getstate__  %    }!!##)-%&r   c                 D    d|d<   | j                             |           d S )NT	_restored)r
  update)r   states     r   __setstate__z%DontPickleAttributeMixin.__setstate__  s(    !kU#####r   N)r   r    r!   r  r1  r"   r   r   r&  r&    s2          
$ $ $ $ $r   r&  c                       e Zd ZddZdS )MultiInheritanceEstimatorr   c                 "    || _         d | _        d S r   attribute_pickledr)  r   r6  s     r   r   z"MultiInheritanceEstimator.__init__      !2&*###r   Nr   r   r"   r   r   r3  r3    s(        + + + + + +r   r3  c                      t                      } d| _        t          j        |           }t          j        |          }|j        dk    sJ |j        J |j        sJ d S N$this attribute should not be pickledr   )r3  r)  r   r   r   r6  r.  r   
serializedestimator_restoreds      r   3test_pickling_when_getstate_is_overwritten_by_mixinr@    sl    )++I'MI$i((Jj11/144444<<<''''''r   c                     	 t                      } d}|| _        t          |           j        }dt          |           _        |                                 }|d ddk    sJ d|d<   |                     |           | j        dk    sJ | j        sJ 	 |t          |           _        d S # |t          |           _        w xY w)Nr<  r"  r   )r)  r6     r6  )r3  r)  typer    r  r1  r6  r.  )r   textold_modr>  s       r   Ftest_pickling_when_getstate_is_overwritten_by_mixin_outside_of_sklearnrF    s    --//	5+/	(y//,%1Y"++--
STUUUUUU*+
&'z****a////"""""%,Y"""WY",,,,s   BB' 'B=c                       e Zd ZddZd ZdS )SingleInheritanceEstimatorr   c                 "    || _         d | _        d S r   r5  r7  s     r   r   z#SingleInheritanceEstimator.__init__  r8  r   c                 B    | j                                         }d |d<   |S r(  r*  r+  s     r   r  z'SingleInheritanceEstimator.__getstate__  r,  r   Nr9  )r   r    r!   r   r  r"   r   r   rH  rH    s7        + + + +    r   rH  )categoryc                      t                      } d| _        t          j        |           }t          j        |          }|j        dk    sJ |j        J d S r;  )rH  r)  r   r   r   r6  r=  s      r   Ctest_pickling_works_when_getstate_is_overwritten_in_the_child_classrM    s]    *,,I'MI$i((Jj11/144444<<<<<r   c                     t                      } t                      }|                                 d         sJ |                                d         rJ t                      }|                                d         rJ t	                      }|                                d         sJ t                      }|                                d         sJ d S )Nr3   )r1   r8   	_get_tagsr>   rA   rE   )nan_tag_estno_nan_tag_estredefine_tags_estdiamond_tag_estinherit_diamond_tag_ests        r   test_tag_inheritancerU    s     ((KZZN  "";////''))+6666# **,,[9999)++O$$&&{33338::",,..{;;;;;;r   c                       G d dt                     }  |             }d}t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nc                       e Zd ZddZddZdS )<test_raises_on_get_params_non_attribute.<locals>.MyEstimatorr   c                     d S r   r"   )r   params     r   r   zEtest_raises_on_get_params_non_attribute.<locals>.MyEstimator.__init__  r   r   Nc                     | S r   r"   r\   s      r   r_   z@test_raises_on_get_params_non_attribute.<locals>.MyEstimator.fit  s    Kr   r9  r   )r   r    r!   r   r_   r"   r   r   r   rX    s<        	 	 	 		 	 	 	 	 	r   r   z-'MyEstimator' object has no attribute 'param'r   )r   r}   r~   AttributeErrorrq   )r   r   r   s      r   'test_raises_on_get_params_non_attributer]    s        m    +--C
9C	~S	1	1	1                   s   AA!$A!c                      t                      } |                                 }d|v sJ d|v sJ t          d          5  |                                 }d|v sJ d|vsJ 	 d d d            d S # 1 swxY w Y   d S )Nz
text/plainz	text/htmlrD  display)r   _repr_mimebundle_r   )r   outputs     r   test_repr_mimebundle_rc    s    !##D##%%F6!!!!&    		'	'	' ) )''))v%%%%&((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   !A..A25A2c                  :   t                      } |                                 }d|v sJ t          d          5  d}t          j        t
          |          5  |                                 }d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz<style>rD  r_  z _repr_html_ is only defined whenr   )r   _repr_html_r   r}   r~   r\  )r   rb  r   s      r   test_repr_html_wrapsrf  )  s$   !##DF		'	'	' ( (0]>555 	( 	(%%''F	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s5   BA8,B8A<	<B?A<	 BBBc                     t                      } g dg dg}|                     |d           | j        dk    sJ d}t          j        t
          |          5  |                     dd	           d
d
d
           d
S # 1 swxY w Y   d
S )z>Check that `_check_n_features` validates data when reset=False)rT   ro      )rB  r      Tresetrh  zHX does not contain any features, but MyEstimator is expecting 3 featuresr   	invalid XFN)r   _check_n_featuresn_features_in_r}   r~   r   )r   X_trainr   s      r   test_n_features_in_validationrp  6  s    
--Cyy)))$G'...""""
TC	z	-	-	- 8 8k7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   A==BBc                      t                      } |                     dd           t          | d          rJ |                     dd           dS )z]Check that `_check_n_features` does not validate data when
    n_features_in_ is not defined.rl  Trj  rn  FN)r   rm  rz   )r   s    r    test_n_features_in_no_validationrr  C  s^     --C+T222s,----- +U33333r   c                  :   t          j        d          } t          j                    }|j        }|                     ||j                  } G d dt          t                    } |            	                    |          }t          |j        |j                   |	                    |           t          |d          rJ |	                    |           d}|                     ||j        ddd                   }t          j        t          |	          5  |                    |           ddd           n# 1 swxY w Y   d
}t          j        t$          |	          5  |                    |           ddd           n# 1 swxY w Y   d} |            	                    |          }t          j        t$          |	          5  |                    |           ddd           n# 1 swxY w Y   |                     |          } |            }t'          j                    5  t'          j        dt$                     |	                    |           ddd           n# 1 swxY w Y   ||g}	|	D ]\}
t'          j                    5  t'          j        dt$                     |                    |
           ddd           n# 1 swxY w Y   ]|                     |g d          } |            }t-          j        d          }t          j        t0          |	          5  |	                    |           ddd           n# 1 swxY w Y   t          j        t0          |	          5  |                    |           ddd           dS # 1 swxY w Y   dS )z;Check that feature_name_in are recorded by `_validate_data`pandas)columnsc                       e Zd ZddZd ZdS ).test_feature_names_in.<locals>.NoOpTransformerNc                 0    |                      |           | S r   _validate_datar\   s      r   r_   z2test_feature_names_in.<locals>.NoOpTransformer.fitW  s    """Kr   c                 4    |                      |d           |S )NFrj  ry  ra   s     r   r   z8test_feature_names_in.<locals>.NoOpTransformer.transform[  s     ///Hr   r   )r   r    r!   r_   r   r"   r   r   NoOpTransformerrw  V  s7        	 	 	 		 	 	 	 	r   r|  feature_names_in_z5The feature names should match those that were passedNr   zVX does not have valid feature names, but NoOpTransformer was fitted with feature nameszIX has feature names, but NoOpTransformer was fitted without feature nameserror)r.   r/   rT   ro   a  Feature names are only supported if all input features have string names, but your input has ['int', 'str'] as feature name / column name types. If you want feature names to be stored and validated, you must convert them all to strings, by using X.columns = X.columns.astype(str) for example. Otherwise you can remove feature / column names from your input data, or convert them all to a non-string data type.)r}   importorskipr   r   r   	DataFramefeature_namesr   r   r_   r   r}  ru  rz   r~   r   r   r  r  warningscatch_warningssimplefilterreescaper   )pdr   X_npr   r|  transr   df_baddf_int_namesXsr]   df_mixeds               r   test_feature_names_inr  O  s:   		X	&	&BD9D	dD$6	7	7B    *M    O!!"%%Eu.
;;; 
IIdOOOu122222	IIbMMM
AC\\$(:44R4(@\AAF	z	-	-	-                                 
	$  
k	-	-	-                 VCO!!$''E	k	-	-	-                 <<%%LOE		 	"	"    g{333		,                              	B  $&& 	 	!';777OOA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ||D*:*:*:|;;HOE
)	? C 
y	,	,	,  		(               
y	,	,	, " "!!!" " " " " " " " " " " " " " " " " "s~   D;;D?D?#FF	F	
G,,G03G0)0I%%I),I)0KK	K	%MMM-NNNc                      t                                          d          } t          d|           }t          |           }t          d|          }||k    sJ dS )z-Check that clone keeps the set_output config.rt  )r   r   N)r
   
set_outputr   r   )ssconfigss_cloneconfig_clones       r   test_clone_keeps_output_configr    s`     
			$	$x	$	8	8BR00FRyyH%k8<<L\!!!!!!r   c                       e Zd ZdS )_EmptyNrF   r"   r   r   r  r    rG   r   r  c                       e Zd ZdS )EmptyEstimatorNrF   r"   r   r   r  r    rG   r   r  r   c                     |                                  }dt          j        i}||k    sJ t          j        t          j        t                                           dS )zCheck that ``__getstate__`` returns an empty ``dict`` with an empty
    instance.

    Python 3.11+ changed behaviour by returning ``None`` instead of raising an
    ``AttributeError``. Non-regression test for gh-25188.
    r	  N)r  r  r  r   r   r   r   )r   r0  expecteds      r   "test_estimator_empty_instance_dictr    sY     ""$$E"G$78HH Lmoo../////r   c                      G d d          }  G d dt           |           }d}t          j        t          |          5   |                                             ddd           n# 1 swxY w Y   t          j        t          |          5  t          j         |                       ddd           dS # 1 swxY w Y   dS )z:Using a `BaseEstimator` with `__slots__` is not supported.c                       e Zd ZdZdS )Dtest_estimator_getstate_using_slots_error_message.<locals>.WithSlots)xN)r   r    r!   	__slots__r"   r   r   	WithSlotsr    s        			r   r  c                       e Zd ZdS )Dtest_estimator_getstate_using_slots_error_message.<locals>.EstimatorNrF   r"   r   r   	Estimatorr    s        r   r  zRYou cannot use `__slots__` in objects inheriting from `sklearn.base.BaseEstimator`r   N)r   r}   r~   r   r  r   r   )r  r  r   s      r   1test_estimator_getstate_using_slots_error_messager    su              M9   	' 
 
y	,	,	, # #	  """# # # # # # # # # # # # # # # 
y	,	,	, " "YY[[!!!" " " " " " " " " " " " " " " " " "s#   A((A,/A,B88B<?B<)_r  numpyrN   scipy.sparsesparser   r}   r  r  sklearn.utils._testingr   r   r   sklearn.baser   r   r   sklearn.svmr	   sklearn.preprocessingr
   sklearn.utils._set_outputr   sklearn.pipeliner   sklearn.model_selectionr   sklearn.treer   r   r   r   sklearn.utils._mockingr   r   r   r   r$   r,   r1   r8   r>   rA   rE   rI   rQ   rX   rd   rv   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   markparametrizemake_classificationmake_regressionr   r   r  r  r  r  r  r   r$  r&  r3  r@  rF  rH  r  rM  rU  r]  rc  rf  rp  rr  r  r  r  r  r  r  r"   r   r   <module>r     s   
			              5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 2 2 2 < < < < < < < < < <       0 0 0 0 0 0 8 8 8 8 8 8 % % % % % % 0 0 0 0 0 0 / / / / / / . . . . . .       ) ) ) ) ) ) 0 0 0 0 0 0 " " " " " " 
    -                 # # # # #] # # #
$ $ $ $ $} $ $ $
$ $ $ $ $& $ $ $
    &(   
	 	 	 	 	!4 	 	 	    }       M              M   ( ( ($6 6 6  (8 8 8# # #
L 
L 
L# # #  & & &  
  
  
 U U U
/ 
/ 
/$N N N&$ $ $  #"QQ???(H(a888	

 "!AA>>>$H$!444	
	 3 3 3#3 #3 #3L
2 
2 
2I I I I I+ I I I 
( 
( 
(    *   
, , ,"	1 	1 	1$ $ $ $ $ $ $ $+ + + + + 8- + + +( ( (- - -&        ;(((= = )(=< < <$  
) 
) 
)
( 
( 
(
8 
8 
8	4 	4 	4K" K" K"\" " "	 	 	 	 	 	 	 		 	 	 	 	V] 	 	 	 }}8H8H&IJJ0 0 KJ0" " " " "r   