
    rik                        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mZ d dlmZ d dlmZ d dlm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e	      Z G d de	      Z G d de	      Z G d de	      Z G d de	      Z ed      d        Zd  Z ed      d!        Z  ed      d"        Z!ejD                  jG                  d#d$d%g      d&        Z$ ed      d'        Z% ed      d(        Z& ed      d)        Z' ed      d*        Z(d+ Z)d, Z*d- Z+y).    N)PrettyPrinter)config_context)BaseEstimatorTransformerMixin)SelectKBestchi2)LogisticRegressionCV)make_pipeline)_EstimatorPrettyPrinterc                   6    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZd Zy)LogisticRegressionNc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        y N)Cl1_ratiodualtolfit_interceptintercept_scalingclass_weightrandom_statesolvermax_itermulti_classverbose
warm_startn_jobs)selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   s                  ]/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/sklearn/utils/tests/test_pprint.py__init__zLogisticRegression.__init__   sk    "  	*!2(( &$    c                     | S r    )r   Xys      r   fitzLogisticRegression.fit1       r!   )      ?r   F-C6?T   NNwarnd   r+   r   FN)__name__
__module____qualname__r    r&   r#   r!   r   r   r      s9     @r!   r   c                       e Zd ZddZddZy)StandardScalerc                 .    || _         || _        || _        y r   )	with_meanwith_stdcopy)r   r5   r3   r4   s       r   r    zStandardScaler.__init__6   s    " 	r!   Nc                     | S r   r#   r   r$   r5   s      r   	transformzStandardScaler.transform;   r'   r!   )TTTr   )r-   r.   r/   r    r8   r#   r!   r   r1   r1   5   s    
r!   r1   c                       e Zd ZddZy)RFENc                 <    || _         || _        || _        || _        y r   )	estimatorn_features_to_selectstepr   )r   r<   r=   r>   r   s        r   r    zRFE.__init__@   s    "$8!	r!   )Nr*   r   r-   r.   r/   r    r#   r!   r   r:   r:   ?   s    r!   r:   c                   &    e Zd Z	 	 	 	 	 	 	 	 	 ddZy)GridSearchCVNc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        y r   )r<   
param_gridscoringr   iidrefitcvr   pre_dispatcherror_scorereturn_train_score)r   r<   rC   rD   r   rE   rF   rG   r   rH   rI   rJ   s               r   r    zGridSearchCV.__init__H   sT     #$
(&"4r!   )	NNr+   Tr+   r   z2*n_jobszraise-deprecatingFr?   r#   r!   r   rA   rA   G   s$    
 ' 5r!   rA   c                   J    e Zd Zdddddddddddd	d
dddej                  fdZy)CountVectorizercontentzutf-8strictNTz(?u)\b\w\w+\b)r*   r*   wordr(   r*   Fc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        || _	        || _
        || _        || _        |
| _        || _        || _        || _        y r   )inputencodingdecode_errorstrip_accentspreprocessor	tokenizeranalyzer	lowercasetoken_pattern
stop_wordsmax_dfmin_dfmax_featuresngram_range
vocabularybinarydtype)r   rQ   rR   rS   rT   rX   rU   rV   rZ   rY   r^   rW   r[   r\   r]   r_   r`   ra   s                     r   r    zCountVectorizer.__init__d   s    ( 
 (*(" "*$(&$
r!   )r-   r.   r/   npint64r    r#   r!   r   rL   rL   c   s@     &hh%$r!   rL   c                       e Zd ZddZy)PipelineNc                      || _         || _        y r   )stepsmemory)r   rg   rh   s      r   r    zPipeline.__init__   s    
r!   r   r?   r#   r!   r   re   re      s    r!   re   c                   0    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)SVCNc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        y r   )kerneldegreegammacoef0r   r   	shrinkingprobability
cache_sizer   r   r   decision_function_shaper   )r   r   rl   rm   rn   ro   rp   rq   r   rr   r   r   r   rs   r   s                  r   r    zSVC.__init__   sj    " 

"&$( '>$(r!   )r(   rbf   auto_deprecated        TFMbP?   NFovrNr?   r#   r!   r   rj   rj      s3      %)r!   rj   c                   "    e Zd Z	 	 	 	 	 	 	 ddZy)PCANc                 f    || _         || _        || _        || _        || _        || _        || _        y r   )n_componentsr5   whiten
svd_solverr   iterated_powerr   )r   r   r5   r   r   r   r   r   s           r   r    zPCA.__init__   s8     )	$,(r!   )NTFautorw   r   Nr?   r#   r!   r   r}   r}      s     )r!   r}   c                   *    e Zd Z	 	 	 	 	 	 	 	 	 	 	 ddZy)NMFNc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        y r   )r   initr   	beta_lossr   r   r   alphar   r   shuffle)r   r   r   r   r   r   r   r   r   r   r   r   s               r   r    zNMF.__init__   sS     )	" (
 r!   )NNcd	frobeniusr)   ry   Nrw   rw   r   Fr?   r#   r!   r   r   r      s*     r!   r   c                   2    e Zd Zej                  ddddfdZy)SimpleImputermeanNr   Tc                 J    || _         || _        || _        || _        || _        y r   )missing_valuesstrategy
fill_valuer   r5   )r   r   r   r   r   r5   s         r   r    zSimpleImputer.__init__   s(     - $	r!   )r-   r.   r/   rb   nanr    r#   r!   r   r   r      s     vvr!   r   Fprint_changed_onlyc                  P    t               } d}|dd  }| j                         |k(  sJ y )N!  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=0, max_iter=100,
                   multi_class='warn', n_jobs=None, random_state=None,
                   solver='warn', tol=0.0001, verbose=0, warm_start=False)r*   )r   __repr__)lrexpecteds     r   
test_basicr      s5     
	BNH |H;;=H$$$r!   c                     t        d      } d}| j                         |k(  sJ t        ddddd      } d	}|d
d  }| j                         |k(  sJ t        d      }d}|j                         |k(  sJ t        t        d            }d}|j                         |k(  sJ t	        t        t        j                  dd
g      d             y )Nc   r   zLogisticRegression(C=99)g?Fi  T)r   r   r   r   r   zk
LogisticRegression(C=99, class_weight=0.4, fit_intercept=False, tol=1234,
                   verbose=True)r*   r   )r   zSimpleImputer(missing_values=0)NaNzSimpleImputer()g?)Csuse_legacy_attributes)r   r   r   floatreprr	   rb   array)r   r   imputers      r   test_changed_onlyr     s    	b	!B-H;;=H$$$ 

3et
B$H |H;;=H$$$1-G4H))) 5<8G$H))) 		3(!35	QRr!   c                  x    t        t               t        d            } d}|dd  }| j                         |k(  sJ y )Ni  r   a  
Pipeline(memory=None,
         steps=[('standardscaler',
                 StandardScaler(copy=True, with_mean=True, with_std=True)),
                ('logisticregression',
                 LogisticRegression(C=999, class_weight=None, dual=False,
                                    fit_intercept=True, intercept_scaling=1,
                                    l1_ratio=0, max_iter=100,
                                    multi_class='warn', n_jobs=None,
                                    random_state=None, solver='warn',
                                    tol=0.0001, verbose=0, warm_start=False))],
         transform_input=None, verbose=False)r*   )r
   r1   r   r   )pipeliner   s     r   test_pipeliner     sD     ^-/AC/HIH1H |H(***r!   c                      t        t        t        t        t        t        t        t                                                         } d}|dd  }| j                         |k(  sJ y )Nat  
RFE(estimator=RFE(estimator=RFE(estimator=RFE(estimator=RFE(estimator=RFE(estimator=RFE(estimator=LogisticRegression(C=1.0,
                                                                                                                     class_weight=None,
                                                                                                                     dual=False,
                                                                                                                     fit_intercept=True,
                                                                                                                     intercept_scaling=1,
                                                                                                                     l1_ratio=0,
                                                                                                                     max_iter=100,
                                                                                                                     multi_class='warn',
                                                                                                                     n_jobs=None,
                                                                                                                     random_state=None,
                                                                                                                     solver='warn',
                                                                                                                     tol=0.0001,
                                                                                                                     verbose=0,
                                                                                                                     warm_start=False),
                                                                                        n_features_to_select=None,
                                                                                        step=1,
                                                                                        verbose=0),
                                                                          n_features_to_select=None,
                                                                          step=1,
                                                                          verbose=0),
                                                            n_features_to_select=None,
                                                            step=1, verbose=0),
                                              n_features_to_select=None, step=1,
                                              verbose=0),
                                n_features_to_select=None, step=1, verbose=0),
                  n_features_to_select=None, step=1, verbose=0),
    n_features_to_select=None, step=1, verbose=0)r*   )r:   r   r   )rfer   s     r   test_deeply_nestedr   3  sX     c#c#c#&8&:";<=>?@
AC5H: |H<<>X%%%r!   )r   r   )TzRFE(estimator=RFE(...)))FzERFE(estimator=RFE(...), n_features_to_select=None, step=1, verbose=0)c                     t        |       5  t        d      }t        t        t        t        t        t                                             }|j	                  |      |k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr   r*   )depth)r   r   r:   r   pformat)r   r   ppr   s       r   test_print_estimator_max_depthr   X  sd     
+=	> +$1-#c#c"4"6789:;zz#(***	+ + +s   AA11A:c                      dgddgg dddgg ddg} t        t               | d	      }d
}|dd  }|j                         |k(  sJ y )Nrt   rx   r)   r*   
   r,   i  )rl   rn   r   linear)rl   r      )rG   a  
GridSearchCV(cv=5, error_score='raise-deprecating',
             estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
                           decision_function_shape='ovr', degree=3,
                           gamma='auto_deprecated', kernel='rbf', max_iter=-1,
                           probability=False, random_state=None, shrinking=True,
                           tol=0.001, verbose=False),
             iid='warn', n_jobs=None,
             param_grid=[{'C': [1, 10, 100, 1000], 'gamma': [0.001, 0.0001],
                          'kernel': ['rbf']},
                         {'C': [1, 10, 100, 1000], 'kernel': ['linear']}],
             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,
             scoring=None, verbose=0)r*   )rA   rj   r   )rC   gsr   s      r   test_gridsearchr   j  sa     7dD\8JK:$67J 
ceZA	.B)H |H;;=H$$$r!   c                  X   t        ddd      } t        dt               fdt               fg      }g d}g d}t        d	      t	               g||d
t        t              g||dg}t        |dd|      }d}|dd  }| j                  |      }t        j                  dd|      }||k(  sJ y )NTr*   )compactindentindent_at_name
reduce_dimclassify)         r      )r   )r   reduce_dim__n_componentsclassify__C)r   reduce_dim__kr   ru   )rG   r   rC   a	  
GridSearchCV(cv=3, error_score='raise-deprecating',
             estimator=Pipeline(memory=None,
                                steps=[('reduce_dim',
                                        PCA(copy=True, iterated_power='auto',
                                            n_components=None,
                                            random_state=None,
                                            svd_solver='auto', tol=0.0,
                                            whiten=False)),
                                       ('classify',
                                        SVC(C=1.0, cache_size=200,
                                            class_weight=None, coef0=0.0,
                                            decision_function_shape='ovr',
                                            degree=3, gamma='auto_deprecated',
                                            kernel='rbf', max_iter=-1,
                                            probability=False,
                                            random_state=None, shrinking=True,
                                            tol=0.001, verbose=False))]),
             iid='warn', n_jobs=1,
             param_grid=[{'classify__C': [1, 10, 100, 1000],
                          'reduce_dim': [PCA(copy=True, iterated_power=7,
                                             n_components=None,
                                             random_state=None,
                                             svd_solver='auto', tol=0.0,
                                             whiten=False),
                                         NMF(alpha=0.0, beta_loss='frobenius',
                                             init=None, l1_ratio=0.0,
                                             max_iter=200, n_components=None,
                                             random_state=None, shuffle=False,
                                             solver='cd', tol=0.0001,
                                             verbose=0)],
                          'reduce_dim__n_components': [2, 4, 8]},
                         {'classify__C': [1, 10, 100, 1000],
                          'reduce_dim': [SelectKBest(k=10,
                                                     score_func=<function chi2 at some_address>)],
                          'reduce_dim__k': [2, 4, 8]}],
             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,
             scoring=None, verbose=0)zfunction chi2 at 0x.*>zfunction chi2 at some_address>)r   re   r}   rj   r   r   r   rA   r   resub)r   r   N_FEATURES_OPTIONS	C_OPTIONSrC   
gspipeliner   repr_s           r   test_gridsearch_pipeliner     s     
!a	MB,.SU0CDEH""I a0#%8(:$	
 't,-/$	
J h1Q:NJ%)HN |HJJz"EFF+-MuUEHr!   c                  j   d} t        ddd|       }t        |       D ci c]  }|| }}t        |      }d}|dd  }|j                  |      |k(  sJ t        | dz         D ci c]  }|| }}t        |      }d}|dd  }|j                  |      |k(  sJ dt	        t        |             i}t        t               |      }d	}|dd  }|j                  |      |k(  sJ dt	        t        | dz               i}t        t               |      }d
}|dd  }|j                  |      |k(  sJ y c c}w c c}w )N   Tr*   )r   r   r   n_max_elements_to_show)r_   a  
CountVectorizer(analyzer='word', binary=False, decode_error='strict',
                dtype=<class 'numpy.int64'>, encoding='utf-8', input='content',
                lowercase=True, max_df=1.0, max_features=None, min_df=1,
                ngram_range=(1, 1), preprocessor=None, stop_words=None,
                strip_accents=None, token_pattern='(?u)\\b\\w\\w+\\b',
                tokenizer=None,
                vocabulary={0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7,
                            8: 8, 9: 9, 10: 10, 11: 11, 12: 12, 13: 13, 14: 14,
                            15: 15, 16: 16, 17: 17, 18: 18, 19: 19, 20: 20,
                            21: 21, 22: 22, 23: 23, 24: 24, 25: 25, 26: 26,
                            27: 27, 28: 28, 29: 29})a  
CountVectorizer(analyzer='word', binary=False, decode_error='strict',
                dtype=<class 'numpy.int64'>, encoding='utf-8', input='content',
                lowercase=True, max_df=1.0, max_features=None, min_df=1,
                ngram_range=(1, 1), preprocessor=None, stop_words=None,
                strip_accents=None, token_pattern='(?u)\\b\\w\\w+\\b',
                tokenizer=None,
                vocabulary={0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7,
                            8: 8, 9: 9, 10: 10, 11: 11, 12: 12, 13: 13, 14: 14,
                            15: 15, 16: 16, 17: 17, 18: 18, 19: 19, 20: 20,
                            21: 21, 22: 22, 23: 23, 24: 24, 25: 25, 26: 26,
                            27: 27, 28: 28, 29: 29, ...})r   a  
GridSearchCV(cv='warn', error_score='raise-deprecating',
             estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
                           decision_function_shape='ovr', degree=3,
                           gamma='auto_deprecated', kernel='rbf', max_iter=-1,
                           probability=False, random_state=None, shrinking=True,
                           tol=0.001, verbose=False),
             iid='warn', n_jobs=None,
             param_grid={'C': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
                               15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
                               27, 28, 29]},
             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,
             scoring=None, verbose=0)a  
GridSearchCV(cv='warn', error_score='raise-deprecating',
             estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
                           decision_function_shape='ovr', degree=3,
                           gamma='auto_deprecated', kernel='rbf', max_iter=-1,
                           probability=False, random_state=None, shrinking=True,
                           tol=0.001, verbose=False),
             iid='warn', n_jobs=None,
             param_grid={'C': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
                               15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
                               27, 28, 29, ...]},
             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,
             scoring=None, verbose=0))r   rangerL   r   listrA   rj   )r   r   ir_   
vectorizerr   rC   r   s           r   test_n_max_elements_to_showr     sz   	 5	
B !&&< =>1!Q$>J> J7J8H |H::j!X--- !&&<q&@ AB1!Q$BJB J7J=H |H::j!X--- tE"89:;J	ceZ	(B)H |H::b>X%%% tE"81"<=>?J	ceZ	(B)H |H::b>X%%%[ ?( Cs   
D+$
D0c                     t               } d}|dd  }| j                  d      |k(  sJ d}|dd  }| j                  d      |k(  sJ | j                  t        d            }t        dj	                  |j                                     }| j                  |      |k(  sJ d	|vsJ d
}|dd  }| j                  |dz
        |k(  sJ d}|dd  }| j                  |dz
        |k(  sJ d}|dd  }| j                  |dz
        |k(  sJ y )Nz
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   in...
                   multi_class='warn', n_jobs=None, random_state=None,
                   solver='warn', tol=0.0001, verbose=0, warm_start=False)r*      )
N_CHAR_MAXzQ
Lo...
                   solver='warn', tol=0.0001, verbose=0, warm_start=False)r   inf z...a  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=0,...00,
                   multi_class='warn', n_jobs=None, random_state=None,
                   solver='warn', tol=0.0001, verbose=0, warm_start=False)r   a   
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=0, max...r=100,
                   multi_class='warn', n_jobs=None, random_state=None,
                   solver='warn', tol=0.0001, verbose=0, warm_start=False)r   r   )r   r   r   lenjoinsplit)r   r   	full_repr
n_nonblanks       r   test_bruteforce_ellipsisr   #  sU   
 
	BNH |H;;#;&(222NH |H;;!;$000 uU|4IRWWY__./0J;;*;-:::	!!!
NH
 |H;;*r/;2h>>>NH
 |H;;*q.;1X===
NH
 |H;;*q.;1X===r!   c                  F    t               j                  t                      y r   )r   pprintr   r#   r!   r   test_builtin_prettyprinterr   j  s    
 O-/0r!   c                       G d dt               }  | ddd       }d}|j                         |k(  sJ t        d      5  d	}|j                         |k(  sJ 	 d d d        y # 1 sw Y   y xY w)
Nc                   .     e Zd ZddZd fd	Zd Z xZS )'test_kwargs_in_init.<locals>.WithKWargsc                 R    || _         || _        i | _         | j                  di | y )Nr#   )ab_other_params
set_params)r   r   r   kwargss       r   r    z0test_kwargs_in_init.<locals>.WithKWargs.__init__{  s)    DFDF!#DDOO%f%r!   c                 ^    t         |   |      }|j                  | j                         |S )N)deep)super
get_paramsupdater   )r   r   params	__class__s      r   r   z2test_kwargs_in_init.<locals>.WithKWargs.get_params  s,    W'T'2FMM$,,-Mr!   c                 n    |j                         D ]!  \  }}t        | ||       || j                  |<   # | S r   )itemssetattrr   )r   r   keyvalues       r   r   z2test_kwargs_in_init.<locals>.WithKWargs.set_params  s>    $lln 0
Uc5)*/""3'0 Kr!   )
willchange	unchanged)T)r-   r.   r/   r    r   r   __classcell__)r   s   @r   
WithKWargsr   x  s    	&	
	r!   r   	somethingabcd)r   cdz+WithKWargs(a='something', c='abcd', d=None)Fr   z:WithKWargs(a='something', b='unchanged', c='abcd', d=None))r   r   r   )r   estr   s      r   test_kwargs_in_initr  r  sm    ] ( {f
5C<H<<>X%%%	5	1 *O||~)))* * *s   A  A)c                  t    G fddt         t               t                               d            } t        d      5  t	        |        j
                  }d d d        d_        t        d      5  t	        |        j
                  }d d d        k(  sJ y # 1 sw Y   DxY w# 1 sw Y   xY w)Nc                   6     e Zd ZdZddZ fdZddZ xZS ):test_complexity_print_changed_only.<locals>.DummyEstimatorr   c                     || _         y r   )r<   )r   r<   s     r   r    zCtest_complexity_print_changed_only.<locals>.DummyEstimator.__init__  s	    &DNr!   c                 J    xj                   dz  c_         t        | 	         S )Nr*   )nb_times_repr_calledr   r   )r   DummyEstimatorr   s    r   r   zCtest_complexity_print_changed_only.<locals>.DummyEstimator.__repr__  s"    //14/7#%%r!   c                     |S r   r#   r7   s      r   r8   zDtest_complexity_print_changed_only.<locals>.DummyEstimator.transform  s    Hr!   r   )r-   r.   r/   r  r    r   r8   r   )r   r	  s   @r   r	  r    s     	'	&	r!   r	  passthroughFr   r   T)r   r   r
   r   r   r  )r<    nb_repr_print_changed_only_falsenb_repr_print_changed_only_truer	  s      @r   "test_complexity_print_changed_onlyr    s    )=  n^%568H-XI 
5	1 OY+9+N+N(O +,N'	4	0 NY*8*M*M'N ,/NNNNO O
N Ns   B":B."B+.B7),r   r   r   numpyrb   pytestsklearnr   sklearn.baser   r   sklearn.feature_selectionr   r   sklearn.linear_modelr	   sklearn.pipeliner
   sklearn.utils._pprintr   r   r1   r:   rA   rL   re   rj   r}   r   r   r   r   r   r   markparametrizer   r   r   r   r   r   r  r  r#   r!   r   <module>r     s   	     " 8 7 5 * 9" "J%} - 5= 58%m %P} )- )D)- )(- 8M   5)
% *
%S: 5)+ *+( 5)!& *!&H &)	
	+	+ 5)% *%4 5)? *?D 5)W& *W&t 5)C> *C>L1!*HOr!   