summaryrefslogtreecommitdiff
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to 'model')
-rw-r--r--model/rankaccu.cpp3
-rw-r--r--model/ranksvm.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/model/rankaccu.cpp b/model/rankaccu.cpp
index 0f55e26..caa3c5a 100644
--- a/model/rankaccu.cpp
+++ b/model/rankaccu.cpp
@@ -102,6 +102,7 @@ void rank_accu(RidList &D,const vector<double> pred)
AP += ((double)C[k])/(k-j);
AP=AP*2/(i-j)-1;
accu_AP+=AP;
+ LOG(INFO)<<"qid:"<<D.getQid(j)<<"; nDCG:"<<Y/Z<<"; AP:"<< AP;
}
LOG(INFO)<<"over "<< D.getuSize()<< " queries. "<<"Average nDGC: "<< accu_nDCG/D.getuSize()<< " Average AP: "<<accu_AP/D.getuSize();
}
@@ -127,6 +128,8 @@ void rank_CMC(RidList &D,const std::vector<double> pred,CMC & cmc) {
cmc.addEntry(k-j);
break; // account only for the first match;
}
+ LOG(INFO)<<"top: "<< D.getO(pred_rank[j]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+1]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+2]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+3]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+4]%D.getqSize())->qid
+ <<" "<< D.getO(pred_rank[j+5]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+6]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+7]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+8]%D.getqSize())->qid <<" "<<D.getO(pred_rank[j+9]%D.getqSize())->qid;
}
}
diff --git a/model/ranksvm.h b/model/ranksvm.h
index a17e3c9..a19ad63 100644
--- a/model/ranksvm.h
+++ b/model/ranksvm.h
@@ -27,8 +27,6 @@ protected:
public:
virtual int train(RidList &D)=0;
virtual int predict(RidList &D,std::vector<double> &res)=0;
- // TODO Not sure how to construct this
- // Possible solution: generate a nxn matrix each row contains the sorted list of ranker result.
int saveModel(const std::string fname);
static RSVM* loadModel(const std::string fname);
virtual std::string getName()=0;