blob: 31167d81fe0f7898d38f371e414bcb4fe52576af [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_121) on Fri Apr 14 22:11:35 PDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractDifferenceRecommenderEvaluator (Mahout Map-Reduce 0.13.0 API)</title>
<meta name="date" content="2017-04-14">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractDifferenceRecommenderEvaluator (Mahout Map-Reduce 0.13.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":9,"i3":10,"i4":10,"i5":6,"i6":6,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractDifferenceRecommenderEvaluator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.PreferenceEstimateCallable.html" title="class in org.apache.mahout.cf.taste.impl.eval"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html" target="_top">Frames</a></li>
<li><a href="AbstractDifferenceRecommenderEvaluator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mahout.cf.taste.impl.eval</div>
<h2 title="Class AbstractDifferenceRecommenderEvaluator" class="title">Class AbstractDifferenceRecommenderEvaluator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mahout.cf.taste.impl.eval.AbstractDifferenceRecommenderEvaluator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AverageAbsoluteDifferenceRecommenderEvaluator.html" title="class in org.apache.mahout.cf.taste.impl.eval">AverageAbsoluteDifferenceRecommenderEvaluator</a>, <a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/RMSRecommenderEvaluator.html" title="class in org.apache.mahout.cf.taste.impl.eval">RMSRecommenderEvaluator</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">AbstractDifferenceRecommenderEvaluator</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></pre>
<div class="block">Abstract superclass of a couple implementations, providing shared functionality.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.PreferenceEstimateCallable.html" title="class in org.apache.mahout.cf.taste.impl.eval">AbstractDifferenceRecommenderEvaluator.PreferenceEstimateCallable</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#AbstractDifferenceRecommenderEvaluator--">AbstractDifferenceRecommenderEvaluator</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected abstract double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#computeFinalEvaluation--">computeFinalEvaluation</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#evaluate-org.apache.mahout.cf.taste.eval.RecommenderBuilder-org.apache.mahout.cf.taste.eval.DataModelBuilder-org.apache.mahout.cf.taste.model.DataModel-double-double-">evaluate</a></span>(<a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderBuilder.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderBuilder</a>&nbsp;recommenderBuilder,
<a href="../../../../../../../org/apache/mahout/cf/taste/eval/DataModelBuilder.html" title="interface in org.apache.mahout.cf.taste.eval">DataModelBuilder</a>&nbsp;dataModelBuilder,
<a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model">DataModel</a>&nbsp;dataModel,
double&nbsp;trainingPercentage,
double&nbsp;evaluationPercentage)</code>
<div class="block">
Evaluates the quality of a <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a>'s recommendations.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#execute-java.util.Collection-java.util.concurrent.atomic.AtomicInteger-org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev-">execute</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;callables,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&nbsp;noEstimateCounter,
<a href="../../../../../../../org/apache/mahout/cf/taste/impl/common/RunningAverageAndStdDev.html" title="interface in org.apache.mahout.cf.taste.impl.common">RunningAverageAndStdDev</a>&nbsp;timing)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#getMaxPreference--">getMaxPreference</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#getMinPreference--">getMinPreference</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#processOneEstimate-float-org.apache.mahout.cf.taste.model.Preference-">processOneEstimate</a></span>(float&nbsp;estimatedPreference,
<a href="../../../../../../../org/apache/mahout/cf/taste/model/Preference.html" title="interface in org.apache.mahout.cf.taste.model">Preference</a>&nbsp;realPref)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#reset--">reset</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#setMaxPreference-float-">setMaxPreference</a></span>(float&nbsp;maxPreference)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html#setMinPreference-float-">setMinPreference</a></span>(float&nbsp;minPreference)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractDifferenceRecommenderEvaluator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractDifferenceRecommenderEvaluator</h4>
<pre>protected&nbsp;AbstractDifferenceRecommenderEvaluator()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getMaxPreference--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxPreference</h4>
<pre>public final&nbsp;float&nbsp;getMaxPreference()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#getMaxPreference--">getMaxPreference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></code></dd>
</dl>
</li>
</ul>
<a name="setMaxPreference-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxPreference</h4>
<pre>public final&nbsp;void&nbsp;setMaxPreference(float&nbsp;maxPreference)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#setMaxPreference-float-">setMaxPreference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></code></dd>
</dl>
</li>
</ul>
<a name="getMinPreference--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinPreference</h4>
<pre>public final&nbsp;float&nbsp;getMinPreference()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#getMinPreference--">getMinPreference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></code></dd>
</dl>
</li>
</ul>
<a name="setMinPreference-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinPreference</h4>
<pre>public final&nbsp;void&nbsp;setMinPreference(float&nbsp;minPreference)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#setMinPreference-float-">setMinPreference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></code></dd>
</dl>
</li>
</ul>
<a name="evaluate-org.apache.mahout.cf.taste.eval.RecommenderBuilder-org.apache.mahout.cf.taste.eval.DataModelBuilder-org.apache.mahout.cf.taste.model.DataModel-double-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;double&nbsp;evaluate(<a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderBuilder.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderBuilder</a>&nbsp;recommenderBuilder,
<a href="../../../../../../../org/apache/mahout/cf/taste/eval/DataModelBuilder.html" title="interface in org.apache.mahout.cf.taste.eval">DataModelBuilder</a>&nbsp;dataModelBuilder,
<a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model">DataModel</a>&nbsp;dataModel,
double&nbsp;trainingPercentage,
double&nbsp;evaluationPercentage)
throws <a href="../../../../../../../org/apache/mahout/cf/taste/common/TasteException.html" title="class in org.apache.mahout.cf.taste.common">TasteException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#evaluate-org.apache.mahout.cf.taste.eval.RecommenderBuilder-org.apache.mahout.cf.taste.eval.DataModelBuilder-org.apache.mahout.cf.taste.model.DataModel-double-double-">RecommenderEvaluator</a></code></span></div>
<div class="block"><p>
Evaluates the quality of a <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a>'s recommendations.
The range of values that may be returned depends on the implementation, but <em>lower</em> values must
mean better recommendations, with 0 being the lowest / best possible evaluation, meaning a perfect match.
This method does not accept a <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a> directly, but
rather a <a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderBuilder.html" title="interface in org.apache.mahout.cf.taste.eval"><code>RecommenderBuilder</code></a> which can build the
<a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a> to test on top of a given <a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model"><code>DataModel</code></a>.
</p>
<p>
Implementations will take a certain percentage of the preferences supplied by the given <a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model"><code>DataModel</code></a>
as "training data". This is typically most of the data, like 90%. This data is used to produce
recommendations, and the rest of the data is compared against estimated preference values to see how much
the <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a>'s predicted preferences match the user's
real preferences. Specifically, for each user, this percentage of the user's ratings are used to produce
recommendations, and for each user, the remaining preferences are compared against the user's real
preferences.
</p>
<p>
For large datasets, it may be desirable to only evaluate based on a small percentage of the data.
<code>evaluationPercentage</code> controls how many of the <a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model"><code>DataModel</code></a>'s users are used in
evaluation.
</p>
<p>
To be clear, <code>trainingPercentage</code> and <code>evaluationPercentage</code> are not related. They
do not need to add up to 1.0, for example.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html#evaluate-org.apache.mahout.cf.taste.eval.RecommenderBuilder-org.apache.mahout.cf.taste.eval.DataModelBuilder-org.apache.mahout.cf.taste.model.DataModel-double-double-">evaluate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/mahout/cf/taste/eval/RecommenderEvaluator.html" title="interface in org.apache.mahout.cf.taste.eval">RecommenderEvaluator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>recommenderBuilder</code> - object that can build a <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a> to test</dd>
<dd><code>dataModelBuilder</code> - <a href="../../../../../../../org/apache/mahout/cf/taste/eval/DataModelBuilder.html" title="interface in org.apache.mahout.cf.taste.eval"><code>DataModelBuilder</code></a> to use, or if null, a default <a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model"><code>DataModel</code></a>
implementation will be used</dd>
<dd><code>dataModel</code> - dataset to test on</dd>
<dd><code>trainingPercentage</code> - percentage of each user's preferences to use to produce recommendations; the rest are compared
to estimated preference values to evaluate
<a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a> performance</dd>
<dd><code>evaluationPercentage</code> - percentage of users to use in evaluation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a "score" representing how well the <a href="../../../../../../../org/apache/mahout/cf/taste/recommender/Recommender.html" title="interface in org.apache.mahout.cf.taste.recommender"><code>Recommender</code></a>'s
estimated preferences match real values; <em>lower</em> scores mean a better match and 0 is a
perfect match</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/common/TasteException.html" title="class in org.apache.mahout.cf.taste.common">TasteException</a></code> - if an error occurs while accessing the <a href="../../../../../../../org/apache/mahout/cf/taste/model/DataModel.html" title="interface in org.apache.mahout.cf.taste.model"><code>DataModel</code></a></dd>
</dl>
</li>
</ul>
<a name="execute-java.util.Collection-java.util.concurrent.atomic.AtomicInteger-org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>protected static&nbsp;void&nbsp;execute(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;callables,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a>&nbsp;noEstimateCounter,
<a href="../../../../../../../org/apache/mahout/cf/taste/impl/common/RunningAverageAndStdDev.html" title="interface in org.apache.mahout.cf.taste.impl.common">RunningAverageAndStdDev</a>&nbsp;timing)
throws <a href="../../../../../../../org/apache/mahout/cf/taste/common/TasteException.html" title="class in org.apache.mahout.cf.taste.common">TasteException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/mahout/cf/taste/common/TasteException.html" title="class in org.apache.mahout.cf.taste.common">TasteException</a></code></dd>
</dl>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>protected abstract&nbsp;void&nbsp;reset()</pre>
</li>
</ul>
<a name="processOneEstimate-float-org.apache.mahout.cf.taste.model.Preference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processOneEstimate</h4>
<pre>protected abstract&nbsp;void&nbsp;processOneEstimate(float&nbsp;estimatedPreference,
<a href="../../../../../../../org/apache/mahout/cf/taste/model/Preference.html" title="interface in org.apache.mahout.cf.taste.model">Preference</a>&nbsp;realPref)</pre>
</li>
</ul>
<a name="computeFinalEvaluation--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>computeFinalEvaluation</h4>
<pre>protected abstract&nbsp;double&nbsp;computeFinalEvaluation()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractDifferenceRecommenderEvaluator.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.PreferenceEstimateCallable.html" title="class in org.apache.mahout.cf.taste.impl.eval"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/mahout/cf/taste/impl/eval/AbstractDifferenceRecommenderEvaluator.html" target="_top">Frames</a></li>
<li><a href="AbstractDifferenceRecommenderEvaluator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>