title: Understanding Precision@K, AP@K, MAP@K
body: <p>I'm currently evaluating a recommender system based on implicit feedback. I've been a bit confused with regard to the evaluation metrics for ranking tasks. Specifically, I am looking to evaluate by both precision and recall.</p>
  
  <blockquote>
    <p>Precision@k has the advantage of not requiring any estimate of the
    size of the set of relevant documents but the disadvantages that it is
    the least stable of the commonly used evaluation measures and that it
    does not average well, since the total number of relevant documents
    for a query has a strong influence on precision at k</p>
  </blockquote>
  
  <p>I have noticed myself that it tends to be quite volatile and as such, I would like to average the results from multiple evaluation logs.</p>
  
  <p>I was wondering; say if I run an evaluation function which returns the following array:</p>
  
  <blockquote>
    <p>Numpy array containing precision@k scores for each user.</p>
  </blockquote>
  
  <p>And now I have an array for all of the <em>precision@3</em> scores across my dataset.</p>
  
  <p>If I take the mean of this array and average across say, 20 different scores: Is this equivalent to <em>Mean Average Precision@K</em> or <em>MAP@K</em> or am I understanding this a little too literally?</p>
  
  <p>I am writing a dissertation with an evaluation section so the accuracy of the definitions is quite important to me.</p>