
    t\hs                     (    d dl Z G d d          ZdS )    Nc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TW_2D_Linear_regressionc                 Z    || _         || _        || _        || _        d | _        d | _        d S N)x1x2y1y2ab)selfr   r	   r   r
   s        UC:\Users\Fabien\Documents\Programmation\testPython\classes\TW_2D_Linear_regression.py__init__z TW_2D_Linear_regression.__init__   s0        c                      dS )Nza(x) +b r   r   r   	_equationz!TW_2D_Linear_regression._equation   s    yr   c                      d S r   r   r   r   r   predictzTW_2D_Linear_regression.predict   s    r   c                     | j         | j        k    rt          d          | j        | j        z
  | j         | j        z
  z  | _        | j        | j        | j        z  z
  | _        | j        | j        fS )Nu9   Les abscisses des deux points doivent être différentes.)r   r   
ValueErrorr
   r	   r   r   )r   s    r   processzTW_2D_Linear_regression.process   sf    7dg 	ZXYYY'DG#$'(9:DFTW,-vtv~r   c                 B    d}|D ]}||z   }|t          |          z  }|S )Nr   )len)r   valuesmeanvals       r   r   zTW_2D_Linear_regression.mean    s6     	 	C#:DDc&kk!r   c                 8   t          j        |          }|                     |d d df                   }d}|D ]}|t          ||d         z
  d          z   }d}|D ]6}t          | j        |d         z  | j        z   |d         z
  d          }||z   }7||z
  |z  }|S )N   r      )nparrayr   powr   r   )r   r   r   sumOfSquaresMeanr   sumOfSquaredResidualresidualrSquareds           r   lossFunctionz$TW_2D_Linear_regression.lossFunction)   s    &!!yy1&& 	H 	HC/#dSVmQ2G2GG  	C 	CCtvA$&8CFBQGGH#7(#B  $';;?OOr   N)	__name__
__module____qualname__r   r   r   r   r   r(   r   r   r   r   r      sn                      r   r   )numpyr!   r   r   r   r   <module>r-      sC       
1 1 1 1 1 1 1 1 1 1r   