
    0Ph0
                        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 d dlmZ  e            Z ed          Z ej        ej        j        d                    Ze                    e           ej        e         Zej        e         Z G d d	          Zej                            d
eej        gz             d             Zd Zd Zd ZdS )    N)	load_iris)
Perceptron)check_random_state)assert_allcloseassert_array_almost_equal)CSR_CONTAINERS   c                   (    e Zd ZddZd Zd Zd ZdS )MyPerceptron   c                     || _         d S Nn_iter)selfr   s     j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sklearn/linear_model/tests/test_perceptron.py__init__zMyPerceptron.__init__   s        c                    |j         \  }}t          j        |t          j                  | _        d| _        t          | j                  D ]t}t          |          D ]b}|                     ||                   d         ||         k    r5| xj        ||         ||         z  z  c_        | xj        ||         z  c_        cud S )N)dtypeg        r   )	shapenpzerosfloat64wbranger   predict)r   Xy	n_samples
n_featurestis          r   fitzMyPerceptron.fit   s     !	:*BJ777t{## 	# 	#A9%% # #<<!%%a(AaD00FFadQqTk)FFFFadNFF#	# 	#r   c                 F    t          j        || j                  | j        z   S r   )r   dotr   r   r   r   s     r   projectzMyPerceptron.project!   s    va  46))r   c                 x    t          j        |          }t          j        |                     |                    S r   )r   
atleast_2dsignr)   r(   s     r   r   zMyPerceptron.predict$   s+    M!wt||A'''r   N)r   )__name__
__module____qualname__r   r%   r)   r    r   r   r   r      sU           	# 	# 	#* * *( ( ( ( (r   r   	containerc                      | t                     }t          dd d          }|                    |t                     |                    |t                    }|dk    sJ d S )Nd   F)max_itertolshufflegffffff?)r   r   r%   r    score)r1   dataclfr7   s       r   test_perceptron_accuracyr:   )   s[    9Q<<D
ctU
;
;
;CGGD!IIdAE3;;;;;;r   c                  \   t                                           } d| t           dk    <   t          d          }|                    t          |            t          ddd           }|                    t          |            t          |j        |j        	                                           d S )Nr      r   F)r4   r6   r5   )
r    copyr   r%   r   r   r   r   coef_ravel)y_binclf1clf2s      r   test_perceptron_correctnessrD   2   s    FFHHEE!q&Mq!!!DHHQq%T:::DHHQdfdj&6&6&8&899999r   c                      t          d          } dD ]C}t          j        t                    5  t	          | |           d d d            n# 1 swxY w Y   Dd S )Nr3   )r4   )predict_probapredict_log_proba)r   pytestraisesAttributeErrorgetattr)r9   meths     r   test_undefined_methodsrM   ?   s    
c
"
"
"C6  ]>** 	 	C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   AA	A	c                  .   t          dd          } |                     t          t                     t          dd          }|                    t          t                     |                     t          t                    |                    t          t                    k    sJ t          d                              t          t                    }t          dd                              t          t                    }t          |j        |j                   t          d                              t          t                    }t          dd                              t          t                    }t          |j        |j                   d	S )
z?Check that `l1_ratio` has an impact when `penalty='elasticnet'`r   
elasticnet)l1_ratiopenaltyg333333?l1)rQ   r   l2N)r   r%   r   r    r7   r   r?   )rB   rC   clf_l1clf_elasticnetclf_l2s        r   test_perceptron_l1_ratiorW   F   s+   q,777DHHQNNNt\:::DHHQNNN::atzz!Q////// %%%))!Q//FLAAAEEaKKNFL."6777%%%))!Q//FLAAAEEaKKNFL."677777r   ) numpyr   rH   sklearn.datasetsr   sklearn.linear_modelr   sklearn.utilsr   sklearn.utils._testingr   r   sklearn.utils.fixesr   irisrandom_statearanger8   r   indicesr6   r   targetr    r   markparametrizearrayr:   rD   rM   rW   r0   r   r   <module>rf      sr        & & & & & & + + + + + + , , , , , , M M M M M M M M . . . . . .y{{!!"%%
")DIOA&
'
'   W   IgK( ( ( ( ( ( ( (. nz&ABB  CB
: 
: 
:  8 8 8 8 8r   