diff --git a/pipe.R b/pipe.R new file mode 100644 index 0000000000000000000000000000000000000000..6bf26635d267b00f2d2c4ce8dabb1653a272c731 --- /dev/null +++ b/pipe.R @@ -0,0 +1,72 @@ +colnames(i_r_v_c_cat) <-c("base", "reco", "view", "click", "base_cat", "reco_cat") + +Filter columns of interest +i_r_v_c_cat <- i_r_v_c_cat[i_r_v_c_cat$base_cat %in% fil,] +i_r_v_c_cat <- i_r_v_c_cat[i_r_v_c_cat$reco_cat %in% fil,] + + +#Add a ctr columns +i_r_v_c_cat$ctr <- round(i_r_v_c_cat$click*100/i_r_v_c_cat$view, 2) + +#filter out items whose ctr score is greater than 1 +i_r_v_c_cat<- i_r_v_c_cat[i_r_v_c_cat$ctr<100.0, ] + +#Compute the base category, recommendation category ctr heat map +cat_base_reco <-i_r_v_c_cat[, c("base_cat","reco_cat","view","click")] + +cat_base_reco<-aggregate(. ~base_cat+reco_cat, data=cat_base_reco, FUN=sum) +cat_base_reco$ctr <- round(cat_base_reco$click*100/cat_base_reco$view,2) + +resultsMatrix <- matrix(0, length(fil), length(fil)) +fil ->colnames(resultsMatrix) ->rownames(resultsMatrix) +for (i in 1:100){ +resultsMatrix[as.vector(cat_base_reco[["base_cat"]][i]), as.vector(cat_base_reco[["reco_cat"]][i])] <-as.vector(cat_base_reco[["ctr"]][i]) +} + +write.table(resultsMatrix, file="../data/sigir2016short/output/category_heat_map.txt", sep="&") + +#Compute Base category ctr + +cat_base<-aggregate(. ~base_cat, data=cat_base_reco, FUN=sum) +cat_base$ctr <- round(cat_base$click*100/cat_base$view,2) + + +write.table(cat_base, file="../data/sigir2016short/output/category_ctr.txt", sep="&") + + + + + + +#Compute base item recommendation item ctr + +i=250 + +top_base_reco <- merge(i_r_v_c_cat[order(-i_r_v_c_cat$view),][1:i,], i_r_v_c_cat[order(-i_r_v_c_cat$click),][1:i,], by =c("base","reco"), all=F) +top_base_reco <- top_base_reco[, c("base","reco","view.x","click.x","base_cat.x","reco_cat.x","ctr.x")] +write.table(top_base_reco, file="../data/sigir2016short/output/top_base_reco.txt", sep="&") + +i=4800 +bot_base_reco <- merge(i_r_v_c_cat[order(-i_r_v_c_cat$view),][1:i,], i_r_v_c_cat[order(i_r_v_c_cat$click),][1:i,], by =c("base","reco"), all=F) +bot_base_reco <- bot_base_reco[, c("base","reco","view.x","click.x","base_cat.x","reco_cat.x","ctr.x")] +write.table(bot_base_reco, file="../data/sigir2016short/output/bot_base_reco.txt", sep="&") + +#Compute Base item ctr +i=72 +i_v_c_cat<-i_r_v_c_cat[, c("base", "base_cat","view","click"),] +i_v_c_cat <-aggregate(. ~base+base_cat, data=i_v_c_cat, FUN=sum) +i_v_c_cat$ctr<-round(i_v_c_cat$click*100/i_v_c_cat$view, 2) + +top_base <- merge(i_v_c_cat[order(-i_v_c_cat$view),][1:i,], i_v_c_cat[order(-i_v_c_cat$click),][1:i,], by =c("base","base_cat"), all=F) +top_base <-top_base[, c("base","base_cat","view.x","click.x", "ctr.x")] + +write.table(top_base, file="../data/sigir2016short/output/top_base.txt", sep="&") + +#Bottom scoring political items +i=600 +i_v_c_cat <- i_v_c_cat[i_v_c_cat$base_cat=="politik", ] +bot_base <- merge(i_v_c_cat[order(-i_v_c_cat$view),][1:i,], i_v_c_cat[order(i_v_c_cat$click),][1:i,], by =c("base","base_cat"), all=F) +bot_base <-bot_base[, c("base","base_cat","view.x","click.x", "ctr.x")] + +write.table(bot_base, file="../data/sigir2016short/output/bot_base.txt", sep="&") +