55 lines (55 with data), 3.9 kB
a
i6Âa] ã @ s d Z ddlZddlZddlZddlZddlZddlmZ ddl
mZ ddlm
Z
mZ ddlmZ ddlmZ dd Zd d
Zdd Zd
d Zdd Zdd ZdS )zN
Author: Ritambhara Singh, Pinar Demetci, Rebecca Santorella
19 February 2020
é N)Ú normalize)Ú
roc_auc_scoreÚsilhouette_samples)ÚPCA)ÚKNeighborsClassifierc C s g }g }| j d }d}t|D ]t}t tjt t | |dd
f |¡¡dd¡}|| }t|} | |¡}t ||d }
|
|
¡ |
|d ¡ q||fS )zI
Returns fraction closer than true match for each sample (as an array)
r Né ©Úaxis)ÚshapeÚrangeÚnpÚsqrtÚsumÚsquareÚsubtractÚsortedÚindexÚfloatÚappend)Úx1_matÚx2_matÚfracsÚxÚnsampÚrankÚrow_idxÚeuc_distZtrue_nbrZ
sort_euc_distÚfrac© r ú7/Users/pinardemetci/Documents/newSCOT/SCOT/src/evals.pyÚ
calc_frac_idx
s
.
r c C sP t | |\}}t || \}}g }tt|D ]}| || || d ¡ q,|S )zÀ
Outputs average FOSCTTM measure (averaged over both domains)
Get the fraction matched for all data points in both directions
Averages the fractions in both directions for each data point
é )r r Úlenr )r r Zfracs1ÚxsZfracs2r Úir r r Úcalc_domainAveraged_FOSCTTM! s r% c C sJ g }g }g }g }g }g } t | |f¡}
t ||f¡}t|
|}|
jd }
t|
D ]}|| dkrp| || ¡ qP|| dkr| || ¡ qP|| dkr¨| || ¡ qP|| dkrÄ| || ¡ qP|| dkrP| || ¡ qPt |¡}t|t| }t|t| }t|t| }t|t| }t| t| }||||||fS )z<
Returns silhouette score for datasets with cell clusters
r r r! é é é ) r Úconcatenater r
r r Úmeanr r"