
    -i0
                        S SK rS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
Jr  S SKJr  \" 5       r\" S5      r\R                   " \R"                  R$                  S    5      r\R)                  \5        \R"                  \   r\R,                  \   r " S S	5      r\R2                  R5                  S
\\R6                  /-   5      S 5       rS rS rS rg)    N)	load_iris)
Perceptron)check_random_state)assert_allcloseassert_array_almost_equal)CSR_CONTAINERS   c                   0    \ rS rSrSS jrS rS rS rSrg)	MyPerceptron   c                     Xl         g Nn_iter)selfr   s     ]/var/www/html/venv/lib/python3.13/site-packages/sklearn/linear_model/tests/test_perceptron.py__init__MyPerceptron.__init__   s        c                 |   UR                   u  p4[        R                  " U[        R                  S9U l        SU l        [        U R                  5       Hf  n[        U5       HT  nU R                  X   5      S   X&   :w  d  M!  U =R                  X&   X   -  -  sl        U =R
                  X&   -  sl        MV     Mh     g )N)dtypeg        r   )	shapenpzerosfloat64wbranger   predict)r   Xy	n_samples
n_featurestis          r   fitMyPerceptron.fit   s     !	*BJJ7t{{#A9%<<%a(AD0FFadQTk)FFFadNF & $r   c                 \    [         R                  " XR                  5      U R                  -   $ r   )r   dotr   r   r   r    s     r   projectMyPerceptron.project!   s    vva 466))r   c                 x    [         R                  " U5      n[         R                  " U R                  U5      5      $ r   )r   
atleast_2dsignr+   r*   s     r   r   MyPerceptron.predict$   s'    MM!wwt||A''r   )r   r   r   N)   )	__name__
__module____qualname____firstlineno__r   r&   r+   r   __static_attributes__ r   r   r   r      s    	#*(r   r   	containerc                     U " [         5      n[        SS SS9nUR                  U[        5        UR	                  U[        5      nUS:  d   eg )Nd   F)max_itertolshufflegffffff?)r    r   r&   r!   score)r8   dataclfr>   s       r   test_perceptron_accuracyrA   )   sC    Q<D
ctU
;CGGD!IIdAE3;;r   c                      [         R                  5       n SU [         S:g  '   [        SS9nUR                  [        U 5        [        SSS S9nUR                  [        U 5        [        UR                  UR                  R                  5       5        g )Nr1      r   F)r;   r=   r<   )
r!   copyr   r&   r    r   r   r   coef_ravel)y_binclf1clf2s      r   test_perceptron_correctnessrK   2   si    FFHEE!q&Mq!DHHQq%T:DHHQdffdjj&6&6&89r   c                      [        SS9n S H1  n[        R                  " [        5         [	        X5        S S S 5        M3     g ! , (       d  f       ME  = f)Nr:   )r;   )predict_probapredict_log_proba)r   pytestraisesAttributeErrorgetattr)r@   meths     r   test_undefined_methodsrT   ?   s9    
c
"C6]]>*C +* 7**s   A
A	c                     [        SSS9n U R                  [        [        5        [        SSS9nUR                  [        [        5        U R	                  [        [        5      UR	                  [        [        5      :w  d   e[        SS9R                  [        [        5      n[        SSS9R                  [        [        5      n[        UR                  UR                  5        [        SS9R                  [        [        5      n[        SSS9R                  [        [        5      n[        UR                  UR                  5        g	)
z?Check that `l1_ratio` has an impact when `penalty='elasticnet'`r   
elasticnet)l1_ratiopenaltyg333333?l1)rX   r1   l2N)r   r&   r    r!   r>   r   rF   )rI   rJ   clf_l1clf_elasticnetclf_l2s        r   test_perceptron_l1_ratior^   F   s    q,7DHHQNt\:DHHQN::atzz!Q//// %))!Q/FLAEEaKNFLL."6"67%))!Q/FLAEEaKNFLL."6"67r   ) numpyr   rO   sklearn.datasetsr   sklearn.linear_modelr   sklearn.utilsr   sklearn.utils._testingr   r   sklearn.utils.fixesr   irisrandom_statearanger?   r   indicesr=   r    targetr!   r   markparametrizearrayrA   rK   rT   r^   r7   r   r   <module>rm      s      & + , M .{!"%
))DIIOOA&
'   W IIgKK( (. nz&AB C
:8r   