
    {Kgj                        d dl 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mZ d dlmZ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d Zd Zd Zd  Z d! Z!d" Z"d# Z#d$ Z$d% Z%d& Z&d' Z'y)(    N)PrettyPrinter)_EstimatorPrettyPrinter)LogisticRegressionCV)make_pipeline)BaseEstimatorTransformerMixin)SelectKBestchi2)config_contextc                   8    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZd Zy)LogisticRegressionNc                     || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        || _        y N)penaltydualtolCfit_interceptintercept_scalingclass_weightrandom_statesolvermax_itermulti_classverbose
warm_startn_jobsl1_ratio)selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                   c/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/sklearn/utils/tests/test_pprint.py__init__zLogisticRegression.__init__   sr    $ 	*!2(( &$     c                     | S r    )r   Xys      r    fitzLogisticRegression.fit6       r"   )l2F-C6?      ?T   NNwarnd   r-   r   FNN)__name__
__module____qualname__r!   r'   r$   r"   r    r   r      s<     
! !Dr"   r   c                       e Zd ZddZddZy)StandardScalerc                 .    || _         || _        || _        y r   )	with_meanwith_stdcopy)r   r7   r5   r6   s       r    r!   zStandardScaler.__init__;   s    " 	r"   Nc                     | S r   r$   r   r%   r7   s      r    	transformzStandardScaler.transform@   r(   r"   )TTTr   )r/   r0   r1   r!   r:   r$   r"   r    r3   r3   :   s    
r"   r3   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__E   s    "$8!	r"   )Nr,   r   r/   r0   r1   r!   r$   r"   r    r<   r<   D   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>   rE   rF   r   rG   rH   rI   r   rJ   rK   rL   s               r    r!   zGridSearchCV.__init__M   sT     #$
(&"4r"   )	NNr-   Tr-   r   z2*n_jobszraise-deprecatingFrA   r$   r"   r    rC   rC   L   s$    
 ' 5r"   rC   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   rS   rT   rU   rV   rZ   rW   rX   r\   r[   r`   rY   r]   r^   r_   ra   rb   rc   s                     r    r!   zCountVectorizer.__init__i   s    ( 
 (*(" "*$(&$
r"   )r/   r0   r1   npint64r!   r$   r"   r    rN   rN   h   s@     &hh%$r"   rN   c                       e Zd ZddZy)PipelineNc                      || _         || _        y r   )stepsmemory)r   ri   rj   s      r    r!   zPipeline.__init__   s    
r"   r   rA   r$   r"   r    rg   rg      s    r"   rg   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   rn   ro   rp   rq   rr   rs   r   rt   r   r   r   ru   r   s                  r    r!   zSVC.__init__   sj    " 

"&$( '>$(r"   )r+   rbf   auto_deprecated        TFMbP?   NFovrNrA   r$   r"   r    rl   rl      s3      %)r"   rl   c                   "    e Zd Z	 	 	 	 	 	 	 ddZy)PCANc                 f    || _         || _        || _        || _        || _        || _        || _        y r   )n_componentsr7   whiten
svd_solverr   iterated_powerr   )r   r   r7   r   r   r   r   r   s           r    r!   zPCA.__init__   s8     )	$,(r"   )NTFautory   r   NrA   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*   r{   Nry   ry   r   FrA   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   r7   )r   r   r   r   r   r7   s         r    r!   zSimpleImputer.__init__   s(     - $	r"   )r/   r0   r1   rd   nanr!   r$   r"   r    r   r      s     vvr"   r   c                 P    t               }d}|dd  }|j                         |k(  sJ y )NE  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=None, max_iter=100,
                   multi_class='warn', n_jobs=None, penalty='l2',
                   random_state=None, solver='warn', tol=0.0001, verbose=0,
                   warm_start=False)r,   )r   __repr__)print_changed_only_falselrexpecteds      r    
test_basicr      s2    		B(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                   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)r   r   r   floatreprr   rd   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(!3	45r"   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=None, max_iter=100,
                                    multi_class='warn', n_jobs=None,
                                    penalty='l2', random_state=None,
                                    solver='warn', tol=0.0001, verbose=0,
                                    warm_start=False))],
         verbose=False)r,   )r   r3   r   r   )r   pipeliner   s      r    test_pipeliner   #  sB    ^-/AC/HIHH |H(***r"   c                     t        t        t        t        t        t        t        t                                                         }d}|dd  }|j                         |k(  sJ y )Na  
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=None,
                                                                                                                     max_iter=100,
                                                                                                                     multi_class='warn',
                                                                                                                     n_jobs=None,
                                                                                                                     penalty='l2',
                                                                                                                     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   )r   rfer   s      r    test_deeply_nestedr   8  sV    
c#c#c#&8&:";<=>?@
AC5H< |H<<>X%%%r"   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 )Nrv   rz   r*   r,   
   r.   i  )rn   rp   r   linear)rn   r      )rI   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,   )rC   rl   r   )r   rE   gsr   s       r    test_gridsearchr   ]  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   rw   )rI   r   rE   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   rg   r   rl   r   r	   r
   rC   pformatresub)	r   ppr   N_FEATURES_OPTIONS	C_OPTIONSrE   	gspipliner   repr_s	            r    test_gridsearch_pipeliner   w  s    	 a	MB,.SU0CDEH""I a0#%8(:$	
 't,-/$	
J X!A*MI%)HN |HJJy!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)ra   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   rangerN   r   listrC   rl   )	r   r   r   ira   
vectorizerr   rE   r   s	            r    test_n_max_elements_to_showr     s   	 5	
B !&&< => =1!Q$ =J> J7J8H |H::j!X--- !&&<q&@ AB A1!Q$ AJ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 )Na  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   in...
                   multi_class='warn', n_jobs=None, penalty='l2',
                   random_state=None, solver='warn', tol=0.0001, verbose=0,
                   warm_start=False)r,      )
N_CHAR_MAXz+
Lo...
                   warm_start=False)r   inf z...a@  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=None, max_i...
                   multi_class='warn', n_jobs=None, penalty='l2',
                   random_state=None, solver='warn', tol=0.0001, verbose=0,
                   warm_start=False)r   aD  
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
                   intercept_scaling=1, l1_ratio=None, max_iter...,
                   multi_class='warn', n_jobs=None, penalty='l2',
                   random_state=None, solver='warn', tol=0.0001, verbose=0,
                   warm_start=False)r   r   )r   r   r   lenjoinsplit)r   r   r   	full_repr
n_nonblanks        r    test_bruteforce_ellipsisr     sP    
	B(H |Hr{{c{2222(H |Hr{{a{0000 uU|4IRWWY__./0J;;*;-:::	!!!
(H |Hr{{j2o{>>>>(H |Hr{{j1n{====
(H |Hr{{j1n{====r"   c                  F    t               j                  t                      y r   )r   pprintr   r$   r"   r    test_builtin_prettyprinterr   ]  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__n  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_paramst  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_paramsy  s9    $lln
Uc5)*/""3' - Kr"   )
willchange	unchanged)T)r/   r0   r1   r!   r   r   __classcell__)r   s   @r    
WithKWargsr   k  s    	&	
	r"   r   	somethingabcd)r   cdz+WithKWargs(a='something', c='abcd', d=None)Fprint_changed_onlyz:WithKWargs(a='something', b='unchanged', c='abcd', d=None))r   r   r   )r   estr   s      r    test_kwargs_in_initr  e  sd    ] ( {f
5C<Hs||~%%%	5	1O3<<>))) 
2	1	1s   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$   r9   s      r    r:   zDtest_complexity_print_changed_only.<locals>.DummyEstimator.transform  s    Hr"   r   )r/   r0   r1   r  r!   r   r:   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Y+9+N+N( 
2 +,N'	4	0Y*8*M*M' 
1 ,/NNNN 
2	1
 
1	0s   B":B."B+.B7)(r   r   r   numpyrd   sklearn.utils._pprintr   sklearn.linear_modelr   sklearn.pipeliner   sklearn.baser   r   sklearn.feature_selectionr	   r
   sklearnr   r   r3   r<   rC   rN   rg   rl   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r$   r"   r    <module>r     s    	    9 5 * 8 7 "$ $N%} - 5= 58%m %P} )- )D)- )(- 8M  %6:+*"&J%4?DW&tG>T1!*HOr"   