[090c8c]: / src / __pycache__ / evals.cpython-39.pyc

Download this file

55 lines (55 with data), 3.9 kB

a

i6Âa]ã@s dZddlZddlZddlZddlZddlZddlmZ	ddl
mZddlm
Z
mZddlmZddlmZdd„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Csœg}g}|jd}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)
	rNé©Ú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 cCsPt||ƒ\}}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)rrZfracs1ÚxsZfracs2rÚirrrÚcalc_domainAveraged_FOSCTTM!sr%cCsJg}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
	rrr!ééé)	rÚconcatenaterr
rrÚmeanrr")rrÚx1_labÚx2_labZsilZsil_d0Zsil_d3Zsil_d7Zsil_d11Zsil_npcrÚlabZ	sil_scorerr$ÚavgÚd0Úd3Úd7Úd11ÚnpcrrrÚcalc_sil.s8


r4cCs.t dgt|ƒ¡}t ||k¡}d||<|S)z 
	Helper function for calc_auc
	rr)rÚarrayr"Úwhere)ÚlabelrZbin_labÚidxrrrÚbinarize_labelsTsr9cCsj|jd}g}g}g}g}g}	g}
t|ƒD]Î}t tjt t ||dd…f|¡¡dd¡}|}
t|||ƒ}t||
ƒ}| 	|¡||dkrš| 	|¡q*||dkr²| 	|¡q*||dkrÊ| 	|¡q*||dkrâ|	 	|¡q*||dkr*|
 	|¡q*t|ƒt
|ƒ}t|ƒt
|ƒ}t|ƒt
|ƒ}t|ƒt
|ƒ}t|	ƒt
|	ƒ}t|
ƒt
|
ƒ}||||||fS)z]
	calculate avg. ROC AUC scores for transformed data when there are >=2 number of clusters.
	rNrrr!r&r')r
rrr
rrrr9rrr")rrr+r,rÚaucZauc_d0Zauc_d3Zauc_d7Zauc_d11Zauc_npcrrZy_scoresÚy_trueZ	auc_scorer.r/r0r1r2r3rrrÚcalc_auc^s<
.

r<c
Cs`t|d}| ||¡| |¡}t d|¡d}t||ƒD]\}}	||	kr:|d7}q:|t|ƒS)z3
	Metric from UnionCom: "Label Transfer Accuracy"
	)Ún_neighborsztype1_predict.txtrr)rÚfitÚpredictrÚsavetxtÚzipr")
Údomain1Údomain2Ztype1Ztype2ÚnÚknnZ
type1_predictÚcountZlabel1Zlabel2rrrÚtransfer_accuracy‡s


rG)Ú__doc__ÚnumpyrÚrandomÚmathÚosÚsysÚmatplotlib.pyplotÚpyplotÚpltÚsklearn.preprocessingrZsklearn.metricsrrZsklearn.decompositionrÚsklearn.neighborsrr r%r4r9r<rGrrrrÚ<module>s 
&
)