<div dir="ltr">Hi Parth,<div><br></div><div>I've implemented SVMRanker class <a href="https://github.com/mayank193/xapian/tree/xapian-letor" target="_blank">here</a> in this branch. And it works same as original non-refactored code(at least for the random queries for which I have tried). Now coming back to implement Evalmetric class, I am facing the problem where to start? Though I've implemented MAP and NDCG vaguely <a href="https://github.com/mayank193/xapian/blob/xapian-letor/xapian-letor/evalmetric.cc" target="_blank">here</a>, I haven't tested them. The reason being I am not able to follow up the structure in the Ranker and EvalMetric classes. </div>


<div><br></div><div>1. What is the structure that has to followed in EvalMetric class? Will it serve as a base class class for MAP and NDCG sub-classes or will something like <a href="https://github.com/mayank193/xapian/blob/xapian-letor/xapian-letor/evalmetric.h" target="_blank">this</a> will do?</div>


<div><br></div><div>2. In Ranker.h, don't you think that functions for getting MAP and NDCG scores should be defined? Why two objects for Evalmetric are defined <a href="https://github.com/mayank193/xapian/blob/xapian-letor/xapian-letor/ranker.h#L50" target="_blank">here</a>? Also the functions for setting validata and testdata data members?</div>


<div><br></div><div>It would certainly help if you could give me an overview how Evalmetric class interacts with other classes.</div><div><br></div><div>Thanks</div><div><br></div><div>Mayank</div></div>