Skip to content

Instantly share code, notes, and snippets.

@alfard
Created November 18, 2013 22:45
Show Gist options
  • Save alfard/7536739 to your computer and use it in GitHub Desktop.
Save alfard/7536739 to your computer and use it in GitHub Desktop.
Calcul evaluation NDCG Expedia
dZ<-c("srch_id","reli")
d<-ST2[dZ]
d$reli<-as.numeric(d$reli)
dW<-c("srch_id","reli")
dr<-sample_train[dW]
###################################################################
d$V3<-NULL
d$V4<-NULL
d$ideal_x<-NULL
d$log <- NULL
d$V3<-0
d$V4<-0
d$V4 <- with(d, ave(srch_id, srch_id, FUN = seq))
d<-d[!(d$V4 > 38),]
d$log <- (2^d$reli - 1)/log(d$V4+1,base=2)
D <- aggregate(log ~ srch_id, data=d, FUN=sum)
########################################################################
dr<-d[order(d$srch_id,-d$reli),]
dr$V3<-NULL
dr$V4<-NULL
dr$ideal_x<-NULL
dr$log <- NULL
dr$V3<-0
dr$V4<-0
dr$V4 <- with(dr, ave(srch_id, srch_id, FUN = seq))
dr<-dr[!(dr$V4 > 38),]
dr$logR <- (2^dr$reli - 1)/log(dr$V4+1,base=2)
DR <- aggregate(logR ~ srch_id, data=dr, FUN=sum)
#####################################################################
#Merge table
#####################################################################
DD <- merge(D, DR, by="srch_id")
#Effacer ligne
DD <- DD[!is.infinite(DD$log),]
DD <- DD[!is.infinite(DD$logR),]
(mean(DD$log/DD$logR))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment