o
    ?HhS                     @   s   d Z ddlm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 ddlmZ dd	lmZ dd
lmZ dd Zdd ZdS )z6
Testing for the base module (sklearn.ensemble.base).
    )OrderedDictN)	load_iris)LinearDiscriminantAnalysis)BaggingClassifier)_set_random_states)SelectFromModel)
Perceptron)Pipelinec                  C   s  t td ddd} t }| |j|j g | _|   tj	
d}| j|d | j|d | jdd dt| ks;J dt| jksDJ t| d tsMJ | d jd u sVJ t| d jts`J t| d jtsjJ | d j| d jksvJ t t tdd}||j|j d S )	Nrandom_state   )	estimatorn_estimatorsF)appendr         )r   r   r   fitdatatargetestimators__make_estimatornprandomRandomStatelen
isinstancer   intint32)ensembleirisr   np_int_ensemble r!   `/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sklearn/ensemble/tests/test_base.py	test_base   s,   
r#   c                  C   sj  t t dd td d} | jd u sJ t | d  t| jts J t | d t| jts-J td d}t |d | j|jks?J dd }t| }t |d t|jd d jjts[J t|jd d jtshJ |	 d |	 d	 ksvJ G d
d dt}G dd dt}||fD ](}|| }t |d |	 d |	 d ksJ |	 d	 |	 d	 ksJ qd S )N   r
   r   c                   S   s    dt td dfdtd dfgS )Nselr
   clf)r   r   r!   r!   r!   r"   
make_stepsG   s   z*test_set_random_states.<locals>.make_stepsr   r   sel__estimator__random_stateclf__random_statec                   @      e Zd Zdd ZdS )z2test_set_random_states.<locals>.AlphaParamPipelinec                 _   s(   t j| g|R i | }tt|S )Nr	   
get_paramsitemsr   sortedselfargskwargsparamsr!   r!   r"   r,   Z   s   z=test_set_random_states.<locals>.AlphaParamPipeline.get_paramsN__name__
__module____qualname__r,   r!   r!   r!   r"   AlphaParamPipelineY       r8   c                   @   r*   )z0test_set_random_states.<locals>.RevParamPipelinec                 _   s,   t j| g|R i | }tt|ddS )NT)reverser+   r/   r!   r!   r"   r,   _   s   z;test_set_random_states.<locals>.RevParamPipeline.get_paramsNr4   r!   r!   r!   r"   RevParamPipeline^   r9   r;   )
r   r   r   r   r   r   r	   stepsr   r,   )clf1clf2r'   est1r8   r;   clsest2r!   r!   r"   test_set_random_states4   s<   















rB   )__doc__collectionsr   numpyr   sklearn.datasetsr   sklearn.discriminant_analysisr   sklearn.ensembler   sklearn.ensemble._baser   sklearn.feature_selectionr   sklearn.linear_modelr   sklearn.pipeliner	   r#   rB   r!   r!   r!   r"   <module>   s    