Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

GARI

Graph Adjusted Rand Index


Description

Computes the graph adjusted Rand index measuring a recovery rate of ordinal information in an unweighted graph.

Usage

GARI(ADM, EADM)

Arguments

ADM

The given unweighted adjacency matrix

EADM

An recovered unweighted adjacency matrix from an embedding. The size of EADM should be same as that of ADM.

Details

GARI is bounded from above by 1, and GARI(A_n,\hat{A}_n) iff A_n=\hat{A}_{n}. A high GARI score implies that many of the ordinal constraints have been satisfied by the solution.

Value

The graph adjusted rand index measuring a recovery rate of ordinal information (a scalar).

Author(s)

Yoshikazu Terada

Examples

library(igraph)
###########
#Based on the distance matrix of an embedding, 
#this function provides the recovered adjacency matrix for given number of nearest neighbors.
###########
rec.graph <- function(DM, k, symm =FALSE, weight=FALSE ) {
N <- nrow(DM)
ADM <- matrix(0, N, N)
#Search kNN point
if(weight==TRUE){
 for (i in 1:N) {
  nid <- order(DM[i,])
  ADM[ i, nid[2:(k[i]+1)] ] <- DM[ i, nid[2:(k[i]+1)] ]
 }
}else{
 for (i in 1:N) {
  nid <- order(DM[i,])
  ADM[i,nid[2:(k[i]+1)] ] <- 1
 }
}
if(symm==TRUE){
 SADM <- ADM+t(ADM)
 SADM[SADM==2*ADM] <- ADM[SADM==2*ADM]
 ADM <- SADM
}
return(ADM)
}
						

ADM <- as.matrix( get.adjacency(graph.famous("Thomassen")) )
#Apply LOE
result.LOE <- LOE(ADM=ADM,p=2,c=0.1,method="BFGS",report=1000)

#Compute the vector of numbers of nearest neighbors with each verteces
true.nn <- apply(X=ADM,1,sum)

#Reconstracte the adjacency matrix based on the result embedding
EDM <- as.matrix( dist(result.LOE$X) )
EADM <- rec.graph(EDM,k=true.nn )

#Compute GARI between ADM and EADM
GARI(ADM,EADM)

loe

Local Ordinal Embedding

v1.1
GPL (>= 2)
Authors
Yoshikazu Terada, Ulrike von Luxburg
Initial release
2016-02-09

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.