
    sg0                     l    d dl Z ddlmZmZ  e       rd dlmZmZ d dlmZm	Z	 dZ
d Zd Zd	 Zd
 Zd Zy)    N   )is_sklearn_availablerequires_backends)pearsonr	spearmanr)f1_scorematthews_corrcoefu  This metric will be removed from the library soon, metrics should be handled with the 🤗 Evaluate library. You can have a look at this example script for pointers: https://github.com/huggingface/transformers/blob/main/examples/pytorch/text-classification/run_glue.pyc                     t        j                  t        t               t	        t
        d       | |k(  j                         S )Nsklearn)warningswarnDEPRECATION_WARNINGFutureWarningr   simple_accuracymean)predslabelss     U/var/www/html/venv/lib/python3.12/site-packages/transformers/data/metrics/__init__.pyr   r      s.    MM%}5oy1VO!!##    c                     t        j                  t        t               t	        t
        d       t        | |      }t        ||       }||||z   dz  dS )Nr   )y_truey_pred   )accf1
acc_and_f1)r   r   r   r   r   r   r   r   )r   r   r   r   s       r   r   r   $   sN    MM%}5j),
%
(C		.BRx1n r   c                     t        j                  t        t               t	        t
        d       t        | |      d   }t        | |      d   }||||z   dz  dS )Nr   r   r   )pearsonr   corr)r   r   r   r   r   pearson_and_spearmanr   r   )r   r   pearson_corrspearman_corrs       r   r    r    0   s[    MM%}5*I6E6*1-LeV,Q/M"-2 r   c                 v   t        j                  t        t               t	        t
        d       t        |      t        |      k(  sJ dt        |       dt        |              | dk(  rdt        ||      iS | dk(  rdt        ||      iS | dk(  rt        ||      S | d	k(  rt        ||      S | d
k(  rt        ||      S | dk(  rdt        ||      iS | dk(  rdt        ||      iS | dk(  rdt        ||      iS | dk(  rdt        ||      iS | dk(  rdt        ||      iS | dk(  rdt        ||      iS t        |       )Nr   /Predictions and labels have mismatched lengths  and colamcczsst-2r   mrpczsts-bqqpmnlizmnli/acczmnli-mmzmnli-mm/accqnlirtewnlihans)r   r   r   r   r   glue_compute_metricslenr	   r   r   r    KeyError	task_namer   r   s      r   r/   r/   <   sq   MM%}5*I6u:V$v(WX[\aXbWcchilmsithu&vv$F(788	g	uf566	f	%((	g	#E622	e	%((	f	OE6:;;	i	uf=>>	f	uf566	e	uf566	f	uf566	f	uf566y!!r   c                    t        j                  t        t               t	        t
        d       t        |      t        |      k7  r#t        dt        |       dt        |             | dk(  rdt        ||      iS t        |       )Nr   r$   r%   xnlir   )
r   r   r   r   r   xnli_compute_metricsr0   
ValueErrorr   r1   r2   s      r   r6   r6   Z   sw    MM%}5*I6
5zS[ J3u:,V[\_`f\g[hijjFuf566y!!r   )r   utilsr   r   scipy.statsr   r   sklearn.metricsr   r	   r   r   r   r    r/   r6    r   r   <module>r<      s?     < /;m $		"<"r   