http://git-wip-us.apache.org/repos/asf/incubator-hivemall-site/blob/ba518dab/userguide/eval/rank.html
----------------------------------------------------------------------
diff --git a/userguide/eval/rank.html b/userguide/eval/rank.html
index fba33ca..6179e90 100644
--- a/userguide/eval/rank.html
+++ b/userguide/eval/rank.html
@@ -598,14 +598,30 @@
             
         </li>
     
-        <li class="chapter " data-level="3.5" 
data-path="../ft_engineering/tfidf.html">
+        <li class="chapter " data-level="3.5" 
data-path="../ft_engineering/pairing.html">
             
-                <a href="../ft_engineering/tfidf.html">
+                <a href="../ft_engineering/pairing.html">
             
                     
                         <b>3.5.</b>
                     
-                    TF-IDF Calculation
+                    FEATURE PAIRING
+            
+                </a>
+            
+
+            
+            <ul class="articles">
+                
+    
+        <li class="chapter " data-level="3.5.1" 
data-path="../ft_engineering/polynomial.html">
+            
+                <a href="../ft_engineering/polynomial.html">
+            
+                    
+                        <b>3.5.1.</b>
+                    
+                    Polynomial Features
             
                 </a>
             
@@ -613,6 +629,11 @@
             
         </li>
     
+
+            </ul>
+            
+        </li>
+    
         <li class="chapter " data-level="3.6" 
data-path="../ft_engineering/ft_trans.html">
             
                 <a href="../ft_engineering/ft_trans.html">
@@ -664,6 +685,21 @@
             
         </li>
     
+        <li class="chapter " data-level="3.7" 
data-path="../ft_engineering/tfidf.html">
+            
+                <a href="../ft_engineering/tfidf.html">
+            
+                    
+                        <b>3.7.</b>
+                    
+                    TF-IDF Calculation
+            
+                </a>
+            
+
+            
+        </li>
+    
 
     
         
@@ -761,7 +797,7 @@
 
     
         
-        <li class="header">Part V - Prediction</li>
+        <li class="header">Part V - Supervised Learning</li>
         
         
     
@@ -780,27 +816,19 @@
             
         </li>
     
-        <li class="chapter " data-level="5.2" 
data-path="../regression/general.html">
-            
-                <a href="../regression/general.html">
-            
-                    
-                        <b>5.2.</b>
-                    
-                    Regression
-            
-                </a>
-            
 
-            
-        </li>
     
-        <li class="chapter " data-level="5.3" 
data-path="../binaryclass/general.html">
+        
+        <li class="header">Part VI - Binary classification</li>
+        
+        
+    
+        <li class="chapter " data-level="6.1" 
data-path="../binaryclass/general.html">
             
                 <a href="../binaryclass/general.html">
             
                     
-                        <b>5.3.</b>
+                        <b>6.1.</b>
                     
                     Binary Classification
             
@@ -810,21 +838,14 @@
             
         </li>
     
-
-    
-        
-        <li class="header">Part VI - Binary classification tutorials</li>
-        
-        
-    
-        <li class="chapter " data-level="6.1" 
data-path="../binaryclass/a9a.html">
+        <li class="chapter " data-level="6.2" 
data-path="../binaryclass/a9a.html">
             
                 <a href="../binaryclass/a9a.html">
             
                     
-                        <b>6.1.</b>
+                        <b>6.2.</b>
                     
-                    a9a
+                    a9a tutorial
             
                 </a>
             
@@ -833,12 +854,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="6.1.1" 
data-path="../binaryclass/a9a_dataset.html">
+        <li class="chapter " data-level="6.2.1" 
data-path="../binaryclass/a9a_dataset.html">
             
                 <a href="../binaryclass/a9a_dataset.html">
             
                     
-                        <b>6.1.1.</b>
+                        <b>6.2.1.</b>
                     
                     Data preparation
             
@@ -848,12 +869,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.1.2" 
data-path="../binaryclass/a9a_lr.html">
+        <li class="chapter " data-level="6.2.2" 
data-path="../binaryclass/a9a_lr.html">
             
                 <a href="../binaryclass/a9a_lr.html">
             
                     
-                        <b>6.1.2.</b>
+                        <b>6.2.2.</b>
                     
                     Logistic Regression
             
@@ -863,12 +884,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.1.3" 
data-path="../binaryclass/a9a_minibatch.html">
+        <li class="chapter " data-level="6.2.3" 
data-path="../binaryclass/a9a_minibatch.html">
             
                 <a href="../binaryclass/a9a_minibatch.html">
             
                     
-                        <b>6.1.3.</b>
+                        <b>6.2.3.</b>
                     
                     Mini-batch Gradient Descent
             
@@ -883,14 +904,14 @@
             
         </li>
     
-        <li class="chapter " data-level="6.2" 
data-path="../binaryclass/news20.html">
+        <li class="chapter " data-level="6.3" 
data-path="../binaryclass/news20.html">
             
                 <a href="../binaryclass/news20.html">
             
                     
-                        <b>6.2.</b>
+                        <b>6.3.</b>
                     
-                    News20
+                    News20 tutorial
             
                 </a>
             
@@ -899,12 +920,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="6.2.1" 
data-path="../binaryclass/news20_dataset.html">
+        <li class="chapter " data-level="6.3.1" 
data-path="../binaryclass/news20_dataset.html">
             
                 <a href="../binaryclass/news20_dataset.html">
             
                     
-                        <b>6.2.1.</b>
+                        <b>6.3.1.</b>
                     
                     Data preparation
             
@@ -914,12 +935,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.2.2" 
data-path="../binaryclass/news20_pa.html">
+        <li class="chapter " data-level="6.3.2" 
data-path="../binaryclass/news20_pa.html">
             
                 <a href="../binaryclass/news20_pa.html">
             
                     
-                        <b>6.2.2.</b>
+                        <b>6.3.2.</b>
                     
                     Perceptron, Passive Aggressive
             
@@ -929,12 +950,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.2.3" 
data-path="../binaryclass/news20_scw.html">
+        <li class="chapter " data-level="6.3.3" 
data-path="../binaryclass/news20_scw.html">
             
                 <a href="../binaryclass/news20_scw.html">
             
                     
-                        <b>6.2.3.</b>
+                        <b>6.3.3.</b>
                     
                     CW, AROW, SCW
             
@@ -944,12 +965,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.2.4" 
data-path="../binaryclass/news20_adagrad.html">
+        <li class="chapter " data-level="6.3.4" 
data-path="../binaryclass/news20_adagrad.html">
             
                 <a href="../binaryclass/news20_adagrad.html">
             
                     
-                        <b>6.2.4.</b>
+                        <b>6.3.4.</b>
                     
                     AdaGradRDA, AdaGrad, AdaDelta
             
@@ -964,14 +985,14 @@
             
         </li>
     
-        <li class="chapter " data-level="6.3" 
data-path="../binaryclass/kdd2010a.html">
+        <li class="chapter " data-level="6.4" 
data-path="../binaryclass/kdd2010a.html">
             
                 <a href="../binaryclass/kdd2010a.html">
             
                     
-                        <b>6.3.</b>
+                        <b>6.4.</b>
                     
-                    KDD2010a
+                    KDD2010a tutorial
             
                 </a>
             
@@ -980,12 +1001,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="6.3.1" 
data-path="../binaryclass/kdd2010a_dataset.html">
+        <li class="chapter " data-level="6.4.1" 
data-path="../binaryclass/kdd2010a_dataset.html">
             
                 <a href="../binaryclass/kdd2010a_dataset.html">
             
                     
-                        <b>6.3.1.</b>
+                        <b>6.4.1.</b>
                     
                     Data preparation
             
@@ -995,12 +1016,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.3.2" 
data-path="../binaryclass/kdd2010a_scw.html">
+        <li class="chapter " data-level="6.4.2" 
data-path="../binaryclass/kdd2010a_scw.html">
             
                 <a href="../binaryclass/kdd2010a_scw.html">
             
                     
-                        <b>6.3.2.</b>
+                        <b>6.4.2.</b>
                     
                     PA, CW, AROW, SCW
             
@@ -1015,14 +1036,14 @@
             
         </li>
     
-        <li class="chapter " data-level="6.4" 
data-path="../binaryclass/kdd2010b.html">
+        <li class="chapter " data-level="6.5" 
data-path="../binaryclass/kdd2010b.html">
             
                 <a href="../binaryclass/kdd2010b.html">
             
                     
-                        <b>6.4.</b>
+                        <b>6.5.</b>
                     
-                    KDD2010b
+                    KDD2010b tutorial
             
                 </a>
             
@@ -1031,12 +1052,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="6.4.1" 
data-path="../binaryclass/kdd2010b_dataset.html">
+        <li class="chapter " data-level="6.5.1" 
data-path="../binaryclass/kdd2010b_dataset.html">
             
                 <a href="../binaryclass/kdd2010b_dataset.html">
             
                     
-                        <b>6.4.1.</b>
+                        <b>6.5.1.</b>
                     
                     Data preparation
             
@@ -1046,12 +1067,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.4.2" 
data-path="../binaryclass/kdd2010b_arow.html">
+        <li class="chapter " data-level="6.5.2" 
data-path="../binaryclass/kdd2010b_arow.html">
             
                 <a href="../binaryclass/kdd2010b_arow.html">
             
                     
-                        <b>6.4.2.</b>
+                        <b>6.5.2.</b>
                     
                     AROW
             
@@ -1066,14 +1087,14 @@
             
         </li>
     
-        <li class="chapter " data-level="6.5" 
data-path="../binaryclass/webspam.html">
+        <li class="chapter " data-level="6.6" 
data-path="../binaryclass/webspam.html">
             
                 <a href="../binaryclass/webspam.html">
             
                     
-                        <b>6.5.</b>
+                        <b>6.6.</b>
                     
-                    Webspam
+                    Webspam tutorial
             
                 </a>
             
@@ -1082,12 +1103,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="6.5.1" 
data-path="../binaryclass/webspam_dataset.html">
+        <li class="chapter " data-level="6.6.1" 
data-path="../binaryclass/webspam_dataset.html">
             
                 <a href="../binaryclass/webspam_dataset.html">
             
                     
-                        <b>6.5.1.</b>
+                        <b>6.6.1.</b>
                     
                     Data pareparation
             
@@ -1097,12 +1118,12 @@
             
         </li>
     
-        <li class="chapter " data-level="6.5.2" 
data-path="../binaryclass/webspam_scw.html">
+        <li class="chapter " data-level="6.6.2" 
data-path="../binaryclass/webspam_scw.html">
             
                 <a href="../binaryclass/webspam_scw.html">
             
                     
-                        <b>6.5.2.</b>
+                        <b>6.6.2.</b>
                     
                     PA1, AROW, SCW
             
@@ -1117,14 +1138,14 @@
             
         </li>
     
-        <li class="chapter " data-level="6.6" 
data-path="../binaryclass/titanic_rf.html">
+        <li class="chapter " data-level="6.7" 
data-path="../binaryclass/titanic_rf.html">
             
                 <a href="../binaryclass/titanic_rf.html">
             
                     
-                        <b>6.6.</b>
+                        <b>6.7.</b>
                     
-                    Kaggle Titanic
+                    Kaggle Titanic tutorial
             
                 </a>
             
@@ -1135,7 +1156,7 @@
 
     
         
-        <li class="header">Part VII - Multiclass classification tutorials</li>
+        <li class="header">Part VII - Multiclass classification</li>
         
         
     
@@ -1146,7 +1167,7 @@
                     
                         <b>7.1.</b>
                     
-                    News20 Multiclass
+                    News20 Multiclass tutorial
             
                 </a>
             
@@ -1257,7 +1278,7 @@
                     
                         <b>7.2.</b>
                     
-                    Iris
+                    Iris tutorial
             
                 </a>
             
@@ -1319,18 +1340,33 @@
 
     
         
-        <li class="header">Part VIII - Regression tutorials</li>
+        <li class="header">Part VIII - Regression</li>
         
         
     
-        <li class="chapter " data-level="8.1" 
data-path="../regression/e2006.html">
+        <li class="chapter " data-level="8.1" 
data-path="../regression/general.html">
             
-                <a href="../regression/e2006.html">
+                <a href="../regression/general.html">
             
                     
                         <b>8.1.</b>
                     
-                    E2006-tfidf regression
+                    Regression
+            
+                </a>
+            
+
+            
+        </li>
+    
+        <li class="chapter " data-level="8.2" 
data-path="../regression/e2006.html">
+            
+                <a href="../regression/e2006.html">
+            
+                    
+                        <b>8.2.</b>
+                    
+                    E2006-tfidf regression tutorial
             
                 </a>
             
@@ -1339,12 +1375,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="8.1.1" 
data-path="../regression/e2006_dataset.html">
+        <li class="chapter " data-level="8.2.1" 
data-path="../regression/e2006_dataset.html">
             
                 <a href="../regression/e2006_dataset.html">
             
                     
-                        <b>8.1.1.</b>
+                        <b>8.2.1.</b>
                     
                     Data preparation
             
@@ -1354,12 +1390,12 @@
             
         </li>
     
-        <li class="chapter " data-level="8.1.2" 
data-path="../regression/e2006_arow.html">
+        <li class="chapter " data-level="8.2.2" 
data-path="../regression/e2006_arow.html">
             
                 <a href="../regression/e2006_arow.html">
             
                     
-                        <b>8.1.2.</b>
+                        <b>8.2.2.</b>
                     
                     Passive Aggressive, AROW
             
@@ -1374,14 +1410,14 @@
             
         </li>
     
-        <li class="chapter " data-level="8.2" 
data-path="../regression/kddcup12tr2.html">
+        <li class="chapter " data-level="8.3" 
data-path="../regression/kddcup12tr2.html">
             
                 <a href="../regression/kddcup12tr2.html">
             
                     
-                        <b>8.2.</b>
+                        <b>8.3.</b>
                     
-                    KDDCup 2012 track 2 CTR prediction
+                    KDDCup 2012 track 2 CTR prediction tutorial
             
                 </a>
             
@@ -1390,12 +1426,12 @@
             <ul class="articles">
                 
     
-        <li class="chapter " data-level="8.2.1" 
data-path="../regression/kddcup12tr2_dataset.html">
+        <li class="chapter " data-level="8.3.1" 
data-path="../regression/kddcup12tr2_dataset.html">
             
                 <a href="../regression/kddcup12tr2_dataset.html">
             
                     
-                        <b>8.2.1.</b>
+                        <b>8.3.1.</b>
                     
                     Data preparation
             
@@ -1405,12 +1441,12 @@
             
         </li>
     
-        <li class="chapter " data-level="8.2.2" 
data-path="../regression/kddcup12tr2_lr.html">
+        <li class="chapter " data-level="8.3.2" 
data-path="../regression/kddcup12tr2_lr.html">
             
                 <a href="../regression/kddcup12tr2_lr.html">
             
                     
-                        <b>8.2.2.</b>
+                        <b>8.3.2.</b>
                     
                     Logistic Regression, Passive Aggressive
             
@@ -1420,12 +1456,12 @@
             
         </li>
     
-        <li class="chapter " data-level="8.2.3" 
data-path="../regression/kddcup12tr2_lr_amplify.html">
+        <li class="chapter " data-level="8.3.3" 
data-path="../regression/kddcup12tr2_lr_amplify.html">
             
                 <a href="../regression/kddcup12tr2_lr_amplify.html">
             
                     
-                        <b>8.2.3.</b>
+                        <b>8.3.3.</b>
                     
                     Logistic Regression with Amplifier
             
@@ -1435,12 +1471,12 @@
             
         </li>
     
-        <li class="chapter " data-level="8.2.4" 
data-path="../regression/kddcup12tr2_adagrad.html">
+        <li class="chapter " data-level="8.3.4" 
data-path="../regression/kddcup12tr2_adagrad.html">
             
                 <a href="../regression/kddcup12tr2_adagrad.html">
             
                     
-                        <b>8.2.4.</b>
+                        <b>8.3.4.</b>
                     
                     AdaGrad, AdaDelta
             
@@ -2220,7 +2256,7 @@
 </tbody>
 </table>
 <p>How can we compare <code>dummy_rec</code> with <code>dummy_truth</code> to 
figure out the accuracy of <code>dummy_rec</code>?</p>
-<p>To be more precise, in case we built a recommender system, let a target 
user <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi>u</mi><mo>&#x2208;</mo><mrow><mi
 mathvariant="script">U</mi></mrow></mrow><annotation 
encoding="application/x-tex">u \in 
\mathcal{U}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.68333em;"></span><span 
class="strut bottom" 
style="height:0.72243em;vertical-align:-0.0391em;"></span><span class="base 
textstyle uncramped"><span class="mord mathit">u</span><span 
class="mrel">&#x2208;</span><span class="mord textstyle uncramped"><span 
class="mord mathcal" 
style="margin-right:0.09931em;">U</span></span></span></span></span>, set of 
all items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">I</mi></mrow></mrow><annotation 
encoding="application/x-tex">\mathcal{I}</annotation></semantics></math></span><span
 class="katex
 -html" aria-hidden="true"><span class="strut" 
style="height:0.68333em;"></span><span class="strut bottom" 
style="height:0.68333em;vertical-align:0em;"></span><span class="base textstyle 
uncramped"><span class="mord textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span></span></span></span>, ordered 
set of top-k recommended items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>&#x2282;</mo><mrow><mi
 mathvariant="script">I</mi></mrow></mrow><annotation 
encoding="application/x-tex">I_k(u) \subset 
\mathcal{I}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><
 span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">&#x2282;</span><span class="mord 
textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span></span></span></span>, and set 
of truth items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup></mrow><annotation
 encoding="application/x-tex">\mathcal{I}^+_u</
 annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.771331em;"></span><span 
class="strut bottom" 
style="height:1.0183309999999999em;vertical-align:-0.247em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span class="
 fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span></span></span></span>.
 Hence, when we launch top-2 recommendation for the above tables, <span 
class="katex"><span class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">U</mi></mrow><mo>=</mo><mo>{</mo><mn>1</mn><mo 
separator="true">,</mo><mn>2</mn><mo 
separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{U} = \{1, 2, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
class="mord mathcal" style="margin-right:0.09931em;">U</span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span
  class="mord mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">3</span><span class="mclose">}</span></span></span></span>, <span 
class="katex"><span class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">I</mi></mrow><mo>=</mo><mo>{</mo><mn>1</mn><mo 
separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo 
separator="true">,</mo><mn>4</mn><mo separator="true">,</mo><mn>5</mn><mo 
separator="true">,</mo><mn>6</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{I} = \{1, 2, 3, 4, 5, 
6\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
class="mord mathcal" style="margin-right:0.07382em;">I</span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mo
 rd mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">3</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mpunct">,</span><span class="mord 
mathrm">5</span><span class="mpunct">,</span><span class="mord 
mathrm">6</span><span class="mclose">}</span></span></span></span> and <span 
class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span
 ><span class="msupsub"><span class="vlist"><span 
 >style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
 >class="fontsize-ensurer reset-size5 size5"><span 
 >style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
 >scriptstyle cramped mtight"><span class="mord mathrm 
 >mtight">2</span></span></span><span class="baseline-fix"><span 
 >class="fontsize-ensurer reset-size5 size5"><span 
 >style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 > class="mopen">(</span><span class="mord mathit">u</span><span 
 >class="mclose">)</span><span class="mrel">=</span><span 
 >class="mopen">{</span><span class="mord mathrm">1</span><span 
 >class="mpunct">,</span><span class="mord mathrm">3</span><span 
 >class="mclose">}</span></span></span></span> which consists of two 
 >highest-scored items, and <span class="katex"><span 
 >class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
 >mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{
 </mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo 
separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{I}^+_u = \{1, 2, 
4\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.771331em;"></span><span 
class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class="mord"><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#
 x200B;</span></span><span class="reset-textstyle scriptstyle uncramped 
mtight"><span class="mbin mtight">+</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mclose">}</span></span></span></span>.</p>
+<p>To be more precise, in case we built a recommender system, let a target 
user <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi>u</mi><mo>&#x2208;</mo><mrow><mi
 mathvariant="script">U</mi></mrow></mrow><annotation 
encoding="application/x-tex">u \in 
\mathcal{U}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.68333em;"></span><span 
class="strut bottom" 
style="height:0.72243em;vertical-align:-0.0391em;"></span><span class="base 
textstyle uncramped"><span class="mord mathit">u</span><span 
class="mrel">&#x2208;</span><span class="mord textstyle uncramped"><span 
class="mord mathcal" 
style="margin-right:0.09931em;">U</span></span></span></span></span>, set of 
all items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">I</mi></mrow></mrow><annotation 
encoding="application/x-tex">\mathcal{I}</annotation></semantics></math></span><span
 class="katex
 -html" aria-hidden="true"><span class="strut" 
style="height:0.68333em;"></span><span class="strut bottom" 
style="height:0.68333em;vertical-align:0em;"></span><span class="base textstyle 
uncramped"><span class="mord textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span></span></span></span>, ordered 
set of top-k recommended items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>&#x2282;</mo><mrow><mi
 mathvariant="script">I</mi></mrow></mrow><annotation 
encoding="application/x-tex">I_k(u) \subset 
\mathcal{I}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><sp
 an style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">&#x2282;</span><span class="mord 
textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span></span></span></span>, and set 
of truth items <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup></mrow><annotation
 
encoding="application/x-tex">\mathcal{I}^+_u</annotation></semantics></math></span><span
 
 class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.771331em;"></span><span class="strut bottom" 
style="height:1.0183309999999999em;vertical-align:-0.247em;"></span><span 
class="base textstyle uncramped"><span class=""><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</
 span></span></span></span></span></span>. Hence, when we launch top-2 
recommendation for the above tables, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">U</mi></mrow><mo>=</mo><mo>{</mo><mn>1</mn><mo 
separator="true">,</mo><mn>2</mn><mo 
separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{U} = \{1, 2, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
class="mord mathcal" style="margin-right:0.09931em;">U</span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">3</span><span class=
 "mclose">}</span></span></span></span>, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="script">I</mi></mrow><mo>=</mo><mo>{</mo><mn>1</mn><mo 
separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo 
separator="true">,</mo><mn>4</mn><mo separator="true">,</mo><mn>5</mn><mo 
separator="true">,</mo><mn>6</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{I} = \{1, 2, 3, 4, 5, 
6\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
class="mord mathcal" style="margin-right:0.07382em;">I</span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,
 </span><span class="mord mathrm">3</span><span class="mpunct">,</span><span 
class="mord mathrm">4</span><span class="mpunct">,</span><span class="mord 
mathrm">5</span><span class="mpunct">,</span><span class="mord 
mathrm">6</span><span class="mclose">}</span></span></span></span> and <span 
class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span class="f
 ontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathrm">2</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">3</span><span 
class="mclose">}</span></span></span></span> which consists of two 
highest-scored items, and <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>2</mn><mo 
separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">
 \mathcal{I}^+_u = \{1, 2, 4\}</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.771331em;"></span><span class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class=""><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5
 "><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mclose">}</span></span></span></span>.</p>
 <p>Evaluation of the ordered sets can be done by the following query:</p>
 <pre><code class="lang-sql">with truth as (
   <span class="hljs-keyword">select</span> userid, collect_set(itemid) <span 
class="hljs-keyword">as</span> truth
@@ -2312,43 +2348,43 @@ rec <span class="hljs-keyword">as</span> (
 <p><strong>Recall-at-k (Recall@k)</strong> indicates coverage of truth samples 
as a result of top-k recommendation. The value is computed by the following 
equation:
 <span class="katex-display"><span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">R</mi><mi mathvariant="normal">e</mi><mi 
mathvariant="normal">c</mi><mi mathvariant="normal">a</mi><mi 
mathvariant="normal">l</mi><mi mathvariant="normal">l</mi><mi 
mathvariant="normal">@</mi></mrow><mi>k</mi><mo>=</mo><mfrac><mrow><mi 
mathvariant="normal">&#x2223;</mi><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>&#x2229;</mo><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mi
 mathvariant="normal">&#x2223;</mi></mrow><mrow><mi 
mathvariant="normal">&#x2223;</mi><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mi 
mathvariant="normal">&#x2223;</mi></mrow></mfrac><mi 
mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">
 \mathrm{Recall@}k = \frac{|\mathcal{I}^+_u \cap I_k(u)|}{|\mathcal{I}^+_u|}.
-</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:1.448331em;"></span><span 
class="strut bottom" 
style="height:2.384331em;vertical-align:-0.936em;"></span><span class="base 
displaystyle textstyle uncramped"><span class="mord displaystyle textstyle 
uncramped"><span class="mord mathrm">R</span><span class="mord 
mathrm">e</span><span class="mord mathrm">c</span><span class="mord 
mathrm">a</span><span class="mord mathrm">l</span><span class="mord 
mathrm">l</span><span class="mord mathrm">@</span></span><span class="mord 
mathit" style="margin-right:0.03148em;">k</span><span 
class="mrel">=</span><span class="mord reset-textstyle displaystyle textstyle 
uncramped"><span class="mopen sizing reset-size5 size5 reset-textstyle 
textstyle uncramped nulldelimiter"></span><span class="mfrac"><span 
class="vlist"><span style="top:0.686em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></s
 pan><span class="reset-textstyle textstyle cramped"><span class="mord 
textstyle cramped"><span class="mord mathrm">&#x2223;</span><span 
class="mord"><span class="mord textstyle cramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.28900000000000003em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 
 class="mord mathrm">&#x2223;</span></span></span></span><span 
style="top:-0.2300000000000001em;"><span class="fontsize-ensurer reset-size5 
size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle textstyle uncramped frac-line"></span></span><span 
style="top:-0.677em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord 
mathrm">&#x2223;</span><span class="mord"><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span style="top:-0.363em;margin-ri
 ght:0.05em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle uncramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</spa
 n></span></span></span><span class="mopen">(</span><span class="mord 
mathit">u</span><span class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mclose sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span></span><span class="mord 
mathrm">.</span></span></span></span></span>
-Here, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi 
mathvariant="normal">&#x2223;</mi><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>&#x2229;</mo><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mi
 mathvariant="normal">&#x2223;</mi></mrow><annotation 
encoding="application/x-tex">|\mathcal{I}^+_u \cap 
I_k(u)|</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.771331em;"></span><span 
class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class="mord mathrm">&#x2223;</span><span 
class="mord"><span class="mord textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span style="font-size:0em;">&#x20
 0B;</span></span><span class="reset-textstyle scriptstyle cramped 
mtight"><span class="mord mathit mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;
 ">k</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span> is the number of true positives. 
If <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class
 ="msupsub"><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathrm 
mtight">2</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">3</span><span 
class="mclose">}</span></span></span></span> and <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>2</mn><mo 
 separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{I}^+_u = \{1, 2, 
4\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.771331em;"></span><span 
class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class="mord"><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scripts
 tyle uncramped mtight"><span class="mbin mtight">+</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mclose">}</span></span></span></span>, <span 
class="katex"><span class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">R</mi><mi mathvariant="normal">e</mi><mi 
mathvariant="normal">c</mi><mi mathvariant="normal">a</mi><mi 
mathvariant="normal">l</mi><mi mathvariant="normal">l</mi><mi 
mathvariant="normal">@</mi></mrow><mn>2</mn><mo>=</mo><mn>1</mn><mi 
mathvariant="normal">/</mi><mn>3</mn><mo>&#x2248;</mo><mn>0</mn><mi 
mathvariant="normal">.</mi><mn>3</mn><mn>3</mn><mn>3</mn></mrow><annotation 
encoding="applicat
 ion/x-tex">\mathrm{Recall@}2 = 1 / 3 \approx 
0.333</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
class="mord mathrm">R</span><span class="mord mathrm">e</span><span class="mord 
mathrm">c</span><span class="mord mathrm">a</span><span class="mord 
mathrm">l</span><span class="mord mathrm">l</span><span class="mord 
mathrm">@</span></span><span class="mord mathrm">2</span><span 
class="mrel">=</span><span class="mord mathrm">1</span><span class="mord 
mathrm">/</span><span class="mord mathrm">3</span><span 
class="mrel">&#x2248;</span><span class="mord mathrm">0</span><span class="mord 
mathrm">.</span><span class="mord mathrm">3</span><span class="mord 
mathrm">3</span><span class="mord mathrm">3</span></span></span></span>.</p>
+</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:1.448331em;"></span><span 
class="strut bottom" 
style="height:2.384331em;vertical-align:-0.936em;"></span><span class="base 
displaystyle textstyle uncramped"><span class="mord displaystyle textstyle 
uncramped"><span class="mord mathrm">R</span><span class="mord 
mathrm">e</span><span class="mord mathrm">c</span><span class="mord 
mathrm">a</span><span class="mord mathrm">l</span><span class="mord 
mathrm">l</span><span class="mord mathrm">@</span></span><span class="mord 
mathit" style="margin-right:0.03148em;">k</span><span 
class="mrel">=</span><span class="mord reset-textstyle displaystyle textstyle 
uncramped"><span class="sizing reset-size5 size5 reset-textstyle textstyle 
uncramped nulldelimiter"></span><span class="mfrac"><span class="vlist"><span 
style="top:0.686em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><s
 pan class="reset-textstyle textstyle cramped"><span class="mord textstyle 
cramped"><span class="mord mathrm">&#x2223;</span><span class=""><span 
class="mord textstyle cramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.29733em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mord mathrm">&#x2223;</span></span></span></span><span style="top:-0.230
 0000000000001em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped frac-line"></span></span><span style="top:-0.677em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord 
mathrm">&#x2223;</span><span class=""><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
 class="reset-textstyle scriptstyle uncramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span c
 lass="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span></span><span class="mord 
mathrm">.</span></span></span></span></span>
+Here, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi 
mathvariant="normal">&#x2223;</mi><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>&#x2229;</mo><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mi
 mathvariant="normal">&#x2223;</mi></mrow><annotation 
encoding="application/x-tex">|\mathcal{I}^+_u \cap 
I_k(u)|</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.771331em;"></span><span 
class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class="mord mathrm">&#x2223;</span><span 
class=""><span class="mord textstyle uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span cla
 ss="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size
 5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span> is the number of true positives. 
If <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensu
 rer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathrm">2</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">3</span><span 
class="mclose">}</span></span></span></span> and <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>2</mn><mo 
separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">\mathcal{I}^+_u = \{1, 2, 
4\}</annotation></semantics></
 math></span><span class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.771331em;"></span><span class="strut bottom" 
style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class=""><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped"><span 
class="mord">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x
 200B;</span></span></span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">2</span><span 
class="mpunct">,</span><span class="mord mathrm">4</span><span 
class="mclose">}</span></span></span></span>, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">R</mi><mi mathvariant="normal">e</mi><mi 
mathvariant="normal">c</mi><mi mathvariant="normal">a</mi><mi 
mathvariant="normal">l</mi><mi mathvariant="normal">l</mi><mi 
mathvariant="normal">@</mi></mrow><mn>2</mn><mo>=</mo><mn>1</mn><mi 
mathvariant="normal">/</mi><mn>3</mn><mo>&#x2248;</mo><mn>0</mn><mi 
mathvariant="normal">.</mi><mn>3</mn><mn>3</mn><mn>3</mn></mrow><annotation 
encoding="application/x-tex">\mathrm{Recall@}2 = 1 / 3 \approx 
0.333</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom
 " style="height:1em;vertical-align:-0.25em;"></span><span class="base 
textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord 
mathrm">R</span><span class="mord mathrm">e</span><span class="mord 
mathrm">c</span><span class="mord mathrm">a</span><span class="mord 
mathrm">l</span><span class="mord mathrm">l</span><span class="mord 
mathrm">@</span></span><span class="mord mathrm">2</span><span 
class="mrel">=</span><span class="mord mathrm">1</span><span class="mord 
mathrm">/</span><span class="mord mathrm">3</span><span 
class="mrel">&#x2248;</span><span class="mord mathrm">0</span><span class="mord 
mathrm">.</span><span class="mord mathrm">3</span><span class="mord 
mathrm">3</span><span class="mord mathrm">3</span></span></span></span>.</p>
 <h2 id="precision-at-k">Precision-At-k</h2>
-<p>Unlike Recall@k, <strong>Precision-at-k (Precision@k)</strong> evaluates 
correctness of a top-k recommendation list <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo></mrow><annotation
 
encoding="application/x-tex">I_k(u)</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><s
 pan class="baseline-fix"><span class="fontsize-ensurer reset-size5 
size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span></span></span></span> according to the portion of true 
positives in the list as:
+<p>Unlike Recall@k, <strong>Precision-at-k (Precision@k)</strong> evaluates 
correctness of a top-k recommendation list <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo></mrow><annotation
 
encoding="application/x-tex">I_k(u)</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class
 ="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span></span></span></span> according to the portion of true 
positives in the list as:
 <span class="katex-display"><span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">P</mi><mi mathvariant="normal">r</mi><mi 
mathvariant="normal">e</mi><mi mathvariant="normal">c</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">o</mi><mi 
mathvariant="normal">n</mi><mi 
mathvariant="normal">@</mi></mrow><mi>k</mi><mo>=</mo><mfrac><mrow><mi 
mathvariant="normal">&#x2223;</mi><msubsup><mrow><mi 
mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>&#x2229;</mo><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mi
 mathvariant="normal">&#x2223;</mi></mrow><mrow><mi 
mathvariant="normal">&#x2223;</mi><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo><mi
 mathvariant="normal">&#x2223;</mi></mrow></mfrac><mi 
mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">
 \mathrm{Precision@}k = \frac{|\mathcal{I}^+_u \cap I_k(u)|}{|I_k(u)|}.
-</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:1.448331em;"></span><span 
class="strut bottom" 
style="height:2.384331em;vertical-align:-0.936em;"></span><span class="base 
displaystyle textstyle uncramped"><span class="mord displaystyle textstyle 
uncramped"><span class="mord mathrm">P</span><span class="mord 
mathrm">r</span><span class="mord mathrm">e</span><span class="mord 
mathrm">c</span><span class="mord mathrm">i</span><span class="mord 
mathrm">s</span><span class="mord mathrm">i</span><span class="mord 
mathrm">o</span><span class="mord mathrm">n</span><span class="mord 
mathrm">@</span></span><span class="mord mathit" 
style="margin-right:0.03148em;">k</span><span class="mrel">=</span><span 
class="mord reset-textstyle displaystyle textstyle uncramped"><span 
class="mopen sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span><span class="mfrac"><span class="vlist"><span 
style="top:0.68
 6em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle cramped"><span class="mord textstyle cramped"><span class="mord 
mathrm">&#x2223;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span sty
 le="top:-0.2300000000000001em;"><span class="fontsize-ensurer reset-size5 
size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle textstyle uncramped frac-line"></span></span><span 
style="top:-0.677em;"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord 
mathrm">&#x2223;</span><span class="mord"><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><sp
 an style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle uncramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="m
 ord mathit">u</span><span class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mclose sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span></span><span class="mord 
mathrm">.</span></span></span></span></span>
-In other words, Precision@k means how much the recommendation list covers true 
pairs. Here, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">P</mi><mi mathvariant="normal">r</mi><mi 
mathvariant="normal">e</mi><mi mathvariant="normal">c</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">o</mi><mi 
mathvariant="normal">n</mi><mi 
mathvariant="normal">@</mi></mrow><mn>2</mn><mo>=</mo><mn>1</mn><mi 
mathvariant="normal">/</mi><mn>2</mn><mo>=</mo><mn>0</mn><mi 
mathvariant="normal">.</mi><mn>5</mn></mrow><annotation 
encoding="application/x-tex">\mathrm{Precision@}2 = 1 / 2 = 
0.5</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
clas
 s="mord mathrm">P</span><span class="mord mathrm">r</span><span class="mord 
mathrm">e</span><span class="mord mathrm">c</span><span class="mord 
mathrm">i</span><span class="mord mathrm">s</span><span class="mord 
mathrm">i</span><span class="mord mathrm">o</span><span class="mord 
mathrm">n</span><span class="mord mathrm">@</span></span><span class="mord 
mathrm">2</span><span class="mrel">=</span><span class="mord 
mathrm">1</span><span class="mord mathrm">/</span><span class="mord 
mathrm">2</span><span class="mrel">=</span><span class="mord 
mathrm">0</span><span class="mord mathrm">.</span><span class="mord 
mathrm">5</span></span></span></span> where <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" a
 ria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathrm 
mtight">2</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">3</span
 ><span class="mclose">}</span></span></span></span> and <span 
 >class="katex"><span 
 >class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
 >mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{</mo><mn>1</mn><mo
 > separator="true">,</mo><mn>2</mn><mo 
 >separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
 >encoding="application/x-tex">\mathcal{I}^+_u = \{1, 2, 
 >4\}</annotation></semantics></math></span><span class="katex-html" 
 >aria-hidden="true"><span class="strut" 
 >style="height:0.771331em;"></span><span class="strut bottom" 
 >style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
 >textstyle uncramped"><span class="mord"><span class="mord textstyle 
 >uncramped"><span class="mord mathcal" 
 >style="margin-right:0.07382em;">I</span></span><span class="msupsub"><span 
 >class="vlist"><span style="top:0.247em;margin-right:0.05em;"><span 
 >class="fontsize-ensurer reset-size5 size5"><span 
 >style="font-size:0em;">&#x200B;</span></span><span class="res
 et-textstyle scriptstyle cramped mtight"><span class="mord mathit 
mtight">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle uncramped mtight"><span class="mbin 
mtight">+</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mclose">}</span></span></span></span>.</p>
+</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:1.448331em;"></span><span 
class="strut bottom" 
style="height:2.384331em;vertical-align:-0.936em;"></span><span class="base 
displaystyle textstyle uncramped"><span class="mord displaystyle textstyle 
uncramped"><span class="mord mathrm">P</span><span class="mord 
mathrm">r</span><span class="mord mathrm">e</span><span class="mord 
mathrm">c</span><span class="mord mathrm">i</span><span class="mord 
mathrm">s</span><span class="mord mathrm">i</span><span class="mord 
mathrm">o</span><span class="mord mathrm">n</span><span class="mord 
mathrm">@</span></span><span class="mord mathit" 
style="margin-right:0.03148em;">k</span><span class="mrel">=</span><span 
class="mord reset-textstyle displaystyle textstyle uncramped"><span 
class="sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span><span class="mfrac"><span class="vlist"><span 
style="top:0.686em;">
 <span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle cramped"><span class="mord textstyle cramped"><span class="mord 
mathrm">&#x2223;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span 
style="top:-0.2300000000000001em;"><span class="font
 size-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped frac-line"></span></span><span style="top:-0.677em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
textstyle uncramped"><span class="mord textstyle uncramped"><span class="mord 
mathrm">&#x2223;</span><span class=""><span class="mord textstyle 
uncramped"><span class="mord mathcal" 
style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle cramped"><span class="mord 
mathit">u</span></span></span><span 
style="top:-0.363em;margin-right:0.05em;"><span class="fontsize-ensurer 
reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
class="reset-textstyle scriptstyle 
 uncramped"><span class="mord">+</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mbin">&#x2229;</span><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mord 
mathrm">&#x2223;</span></span></span></span><span class="baseline-fix"><span 
class="fo
 ntsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="sizing reset-size5 size5 reset-textstyle textstyle uncramped 
nulldelimiter"></span></span><span class="mord 
mathrm">.</span></span></span></span></span>
+In other words, Precision@k means how much the recommendation list covers true 
pairs. Here, <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mrow><mi 
mathvariant="normal">P</mi><mi mathvariant="normal">r</mi><mi 
mathvariant="normal">e</mi><mi mathvariant="normal">c</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi 
mathvariant="normal">i</mi><mi mathvariant="normal">o</mi><mi 
mathvariant="normal">n</mi><mi 
mathvariant="normal">@</mi></mrow><mn>2</mn><mo>=</mo><mn>1</mn><mi 
mathvariant="normal">/</mi><mn>2</mn><mo>=</mo><mn>0</mn><mi 
mathvariant="normal">.</mi><mn>5</mn></mrow><annotation 
encoding="application/x-tex">\mathrm{Precision@}2 = 1 / 2 = 
0.5</annotation></semantics></math></span><span class="katex-html" 
aria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord textstyle uncramped"><span 
clas
 s="mord mathrm">P</span><span class="mord mathrm">r</span><span class="mord 
mathrm">e</span><span class="mord mathrm">c</span><span class="mord 
mathrm">i</span><span class="mord mathrm">s</span><span class="mord 
mathrm">i</span><span class="mord mathrm">o</span><span class="mord 
mathrm">n</span><span class="mord mathrm">@</span></span><span class="mord 
mathrm">2</span><span class="mrel">=</span><span class="mord 
mathrm">1</span><span class="mord mathrm">/</span><span class="mord 
mathrm">2</span><span class="mrel">=</span><span class="mord 
mathrm">0</span><span class="mord mathrm">.</span><span class="mord 
mathrm">5</span></span></span></span> where <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mn>2</mn></msub><mo>(</mo><mi>u</mi><mo>)</mo><mo>=</mo><mo>{</mo><mn>1</mn><mo
 separator="true">,</mo><mn>3</mn><mo>}</mo></mrow><annotation 
encoding="application/x-tex">I_2(u) = \{1, 
3\}</annotation></semantics></math></span><span class="katex-html" a
 ria-hidden="true"><span class="strut" style="height:0.75em;"></span><span 
class="strut bottom" style="height:1em;vertical-align:-0.25em;"></span><span 
class="base textstyle uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathrm">2</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span><span class="mrel">=</span><span 
class="mopen">{</span><span class="mord mathrm">1</span><span 
class="mpunct">,</span><span class="mord mathrm">3</span><span 
class="mclose">}</span></span></span
 ></span> and <span class="katex"><span 
 >class="katex-mathml"><math><semantics><mrow><msubsup><mrow><mi 
 >mathvariant="script">I</mi></mrow><mi>u</mi><mo>+</mo></msubsup><mo>=</mo><mo>{</mo><mn>1</mn><mo
 > separator="true">,</mo><mn>2</mn><mo 
 >separator="true">,</mo><mn>4</mn><mo>}</mo></mrow><annotation 
 >encoding="application/x-tex">\mathcal{I}^+_u = \{1, 2, 
 >4\}</annotation></semantics></math></span><span class="katex-html" 
 >aria-hidden="true"><span class="strut" 
 >style="height:0.771331em;"></span><span class="strut bottom" 
 >style="height:1.021331em;vertical-align:-0.25em;"></span><span class="base 
 >textstyle uncramped"><span class=""><span class="mord textstyle 
 >uncramped"><span class="mord mathcal" 
 >style="margin-right:0.07382em;">I</span></span><span class="vlist"><span 
 >style="top:0.247em;margin-right:0.05em;"><span class="fontsize-ensurer 
 >reset-size5 size5"><span style="font-size:0em;">&#x200B;</span></span><span 
 >class="reset-textstyle scriptstyle cramped"><span class="mord 
 >mathit">u</span><
 /span></span><span style="top:-0.363em;margin-right:0.05em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle uncramped"><span class="mord">+</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mrel">=</span><span class="mopen">{</span><span class="mord 
mathrm">1</span><span class="mpunct">,</span><span class="mord 
mathrm">2</span><span class="mpunct">,</span><span class="mord 
mathrm">4</span><span class="mclose">}</span></span></span></span>.</p>
 <h2 id="mean-average-precision-map">Mean Average Precision (MAP)</h2>
-<p>While the original Precision@k provides a score for a fixed-length 
recommendation list <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo></mrow><annotation
 
encoding="application/x-tex">I_k(u)</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="msupsub"><span 
class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit mtight" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><spa
 n class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span><span
 class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span></span></span></span>, <strong>mean average precision 
(MAP)</strong> computes an average of the scores over all recommendation sizes 
from 1 to <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi 
mathvariant="normal">&#x2223;</mi><mrow><mi 
mathvariant="script">I</mi></mrow><mi 
mathvariant="normal">&#x2223;</mi></mrow><annotation 
encoding="application/x-tex">|\mathcal{I}|</annotation></semantics></math></span><span
 class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord mathrm">&#x2223;</span><span class="mord textstyle 
uncramped"><span class="mord mathcal" style="margin-right:0.07
 382em;">I</span></span><span class="mord 
mathrm">&#x2223;</span></span></span></span>. MAP is formulated with an 
indicator function for <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>i</mi><mi>n</mi></msub></mrow><annotation
 encoding="application/x-tex">i_n</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.65952em;"></span><span class="strut bottom" 
style="height:0.80952em;vertical-align:-0.15em;"></span><span class="base 
textstyle uncramped"><span class="mord"><span class="mord mathit">i</span><span 
class="msupsub"><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:0em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped mtight"><span class="mord mathit 
mtight">n</span></span></span><span class="baseline-fix"><span 
class="fontsize-ensurer reset-size5 size5"><spa
 n 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span></span></span></span></span>
 (the <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi>n</mi></mrow><annotation 
encoding="application/x-tex">n</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.43056em;"></span><span class="strut bottom" 
style="height:0.43056em;vertical-align:0em;"></span><span class="base textstyle 
uncramped"><span class="mord mathit">n</span></span></span></span>-th item of 
<span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi>I</mi><mo>(</mo><mi>u</mi><mo>)</mo></mrow><annotation
 encoding="application/x-tex">I(u)</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord mathit" 
 style="margin-right:0.07847em;">I</span><span class="mopen">(</span><span 
class="mord mathit">u</span><span 
class="mclose">)</span></span></span></span>), as:
+<p>While the original Precision@k provides a score for a fixed-length 
recommendation list <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><msub><mi>I</mi><mi>k</mi></msub><mo>(</mo><mi>u</mi><mo>)</mo></mrow><annotation
 
encoding="application/x-tex">I_k(u)</annotation></semantics></math></span><span 
class="katex-html" aria-hidden="true"><span class="strut" 
style="height:0.75em;"></span><span class="strut bottom" 
style="height:1em;vertical-align:-0.25em;"></span><span class="base textstyle 
uncramped"><span class="mord"><span class="mord mathit" 
style="margin-right:0.07847em;">I</span><span class="vlist"><span 
style="top:0.15em;margin-right:0.05em;margin-left:-0.07847em;"><span 
class="fontsize-ensurer reset-size5 size5"><span 
style="font-size:0em;">&#x200B;</span></span><span class="reset-textstyle 
scriptstyle cramped"><span class="mord mathit" 
style="margin-right:0.03148em;">k</span></span></span><span 
class="baseline-fix"><span class="fontsize-ensurer reset-size
 5 size5"><span 
style="font-size:0em;">&#x200B;</span></span>&#x200B;</span></span></span><span 
class="mopen">(</span><span class="mord mathit">u</span><span 
class="mclose">)</span></span></span></span>, <strong>mean average precision 
(MAP)</strong> computes an average of the scores over all recommendation sizes 
from 1 to <span class="katex"><span 
class="katex-mathml"><math><semantics><mrow><mi mathvariant="n

<TRUNCATED>

Reply via email to