blob: b00d9712053f6a32e3c590ff3aca1354f8c47cbe [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>SimilarityAnalysis - Mahout Math Scala bindings 0.13.0 API - org.apache.mahout.math.cf.SimilarityAnalysis</title>
<meta name="description" content="SimilarityAnalysis - Mahout Math Scala bindings 0.13.0 API - org.apache.mahout.math.cf.SimilarityAnalysis" />
<meta name="keywords" content="SimilarityAnalysis Mahout Math Scala bindings 0.13.0 API org.apache.mahout.math.cf.SimilarityAnalysis" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="../../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
<link href="../../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
<script type="text/javascript">
if(top === self) {
var url = '../../../../../index.html';
var hash = 'org.apache.mahout.math.cf.SimilarityAnalysis$';
var anchor = window.location.hash;
var anchor_opt = '';
if (anchor.length >= 1)
anchor_opt = '@' + anchor.substring(1);
window.location.href = url + '#' + hash + anchor_opt;
}
</script>
</head>
<body class="value">
<div id="definition">
<img src="../../../../../lib/object_big.png" />
<p id="owner"><a href="../../../../package.html" class="extype" name="org">org</a>.<a href="../../../package.html" class="extype" name="org.apache">apache</a>.<a href="../../package.html" class="extype" name="org.apache.mahout">mahout</a>.<a href="../package.html" class="extype" name="org.apache.mahout.math">math</a>.<a href="package.html" class="extype" name="org.apache.mahout.math.cf">cf</a></p>
<h1>SimilarityAnalysis</h1>
</div>
<h4 id="signature" class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">object</span>
</span>
<span class="symbol">
<span class="name">SimilarityAnalysis</span><span class="result"> extends <span class="extype" name="scala.Serializable">Serializable</span></span>
</span>
</h4>
<div id="comment" class="fullcommenttop"><div class="comment cmt"><p>Based on &quot;Ted Dunnning &amp; Ellen Friedman: Practical Machine Learning, Innovations in Recommendation&quot;,
available at http://www.mapr.com/practical-machine-learning</p><p>see also &quot;Sebastian Schelter, Christoph Boden, Volker Markl:
Scalable Similarity-Based Neighborhood Methods with MapReduce
ACM Conference on Recommender Systems 2012&quot;
</p></div><div class="toggleContainer block">
<span class="toggle">Linear Supertypes</span>
<div class="superTypes hiddenContent"><span class="extype" name="scala.Serializable">Serializable</span>, <span class="extype" name="java.io.Serializable">Serializable</span>, <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
</div></div>
<div id="mbrsel">
<div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
<div id="order">
<span class="filtertype">Ordering</span>
<ol>
<li class="alpha in"><span>Alphabetic</span></li>
<li class="inherit out"><span>By inheritance</span></li>
</ol>
</div>
<div id="ancestors">
<span class="filtertype">Inherited<br />
</span>
<ol id="linearization">
<li class="in" name="org.apache.mahout.math.cf.SimilarityAnalysis"><span>SimilarityAnalysis</span></li><li class="in" name="scala.Serializable"><span>Serializable</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
</ol>
</div><div id="ancestors">
<span class="filtertype"></span>
<ol>
<li class="hideall out"><span>Hide All</span></li>
<li class="showall in"><span>Show all</span></li>
</ol>
<a href="http://docs.scala-lang.org/overviews/scaladoc/usage.html#members" target="_blank">Learn more about member selection</a>
</div>
<div id="visbl">
<span class="filtertype">Visibility</span>
<ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
</div>
</div>
<div id="template">
<div id="allMembers">
<div id="values" class="values members">
<h3>Value Members</h3>
<ol><li name="scala.AnyRef#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="!=(x$1:AnyRef):Boolean"></a>
<a id="!=(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.Any#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="!=(x$1:Any):Boolean"></a>
<a id="!=(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="scala.AnyRef###" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="##():Int"></a>
<a id="##():Int"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="==(x$1:AnyRef):Boolean"></a>
<a id="==(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.Any#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="==(x$1:Any):Boolean"></a>
<a id="==(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="asInstanceOf[T0]:T0"></a>
<a id="asInstanceOf[T0]:T0"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="clone():Object"></a>
<a id="clone():AnyRef"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#computeSimilarities" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
<a id="computeSimilarities(drm:org.apache.mahout.math.drm.DrmLike[Int],numUsers:Int,maxInterestingItemsPerThing:Int,bcastNumInteractionsB:org.apache.mahout.math.drm.BCast[org.apache.mahout.math.Vector],bcastNumInteractionsA:org.apache.mahout.math.drm.BCast[org.apache.mahout.math.Vector],crossCooccurrence:Boolean,minLLROpt:Option[Double]):org.apache.mahout.math.drm.DrmLike[Int]"></a>
<a id="computeSimilarities(DrmLike[Int],Int,Int,BCast[Vector],BCast[Vector],Boolean,Option[Double]):DrmLike[Int]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">computeSimilarities</span><span class="params">(<span name="drm">drm: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>, <span name="numUsers">numUsers: <span class="extype" name="scala.Int">Int</span></span>, <span name="maxInterestingItemsPerThing">maxInterestingItemsPerThing: <span class="extype" name="scala.Int">Int</span></span>, <span name="bcastNumInteractionsB">bcastNumInteractionsB: <a href="../drm/BCast.html" class="extype" name="org.apache.mahout.math.drm.BCast">BCast</a>[<span class="extype" name="org.apache.mahout.math.Vector">Vector</span>]</span>, <span name="bcastNumInteractionsA">bcastNumInteractionsA: <a href="../drm/BCast.html" class="extype" name="org.apache.mahout.math.drm.BCast">BCast</a>[<span class="extype" name="org.apache.mahout.math.Vector">Vector</span>]</span>, <span name="crossCooccurrence">crossCooccurrence: <span class="extype" name="scala.Boolean">Boolean</span> = <span class="symbol">true</span></span>, <span name="minLLROpt">minLLROpt: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Double">Double</span>] = <span class="symbol">None</span></span>)</span><span class="result">: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>
</span>
</h4>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#cooccurrences" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="cooccurrences(drmARaw:org.apache.mahout.math.drm.DrmLike[Int],randomSeed:Int,maxInterestingItemsPerThing:Int,maxNumInteractions:Int,drmBs:Array[org.apache.mahout.math.drm.DrmLike[Int]],parOpts:org.apache.mahout.math.cf.ParOpts):List[org.apache.mahout.math.drm.DrmLike[Int]]"></a>
<a id="cooccurrences(DrmLike[Int],Int,Int,Int,Array[DrmLike[Int]],ParOpts):List[DrmLike[Int]]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">cooccurrences</span><span class="params">(<span name="drmARaw">drmARaw: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>, <span name="randomSeed">randomSeed: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0xdeadbeef</span></span>, <span name="maxInterestingItemsPerThing">maxInterestingItemsPerThing: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">50</span></span>, <span name="maxNumInteractions">maxNumInteractions: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">500</span></span>, <span name="drmBs">drmBs: <span class="extype" name="scala.Array">Array</span>[<a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]] = <span class="symbol">Array()</span></span>, <span name="parOpts">parOpts: <a href="ParOpts.html" class="extype" name="org.apache.mahout.math.cf.ParOpts">ParOpts</a> = <span class="symbol"><span class="name"><a href="#defaultParOpts:org.apache.mahout.math.cf.ParOpts">defaultParOpts</a></span></span></span>)</span><span class="result">: <span class="extype" name="scala.List">List</span>[<a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]]</span>
</span>
</h4>
<p class="shortcomment cmt">Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, .</p><div class="fullcomment"><div class="comment cmt"><p>Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, ...
and returns a list of similarity and cross-similarity matrices
</p></div><dl class="paramcmts block"><dt class="param">drmARaw</dt><dd class="cmt"><p>Primary interaction matrix</p></dd><dt class="param">randomSeed</dt><dd class="cmt"><p>when kept to a constant will make repeatable downsampling</p></dd><dt class="param">maxInterestingItemsPerThing</dt><dd class="cmt"><p>number of similar items to return per item, default: 50</p></dd><dt class="param">maxNumInteractions</dt><dd class="cmt"><p>max number of interactions after downsampling, default: 500</p></dd><dt class="param">parOpts</dt><dd class="cmt"><p>partitioning params for drm.par(...)</p></dd><dt>returns</dt><dd class="cmt"><p>a list of <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">org.apache.mahout.math.drm.DrmLike</a> containing downsampled DRMs for cooccurrence and
cross-cooccurrence
</p></dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#cooccurrencesIDSs" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="cooccurrencesIDSs(indexedDatasets:Array[org.apache.mahout.math.indexeddataset.IndexedDataset],randomSeed:Int,maxInterestingItemsPerThing:Int,maxNumInteractions:Int,parOpts:org.apache.mahout.math.cf.ParOpts):List[org.apache.mahout.math.indexeddataset.IndexedDataset]"></a>
<a id="cooccurrencesIDSs(Array[IndexedDataset],Int,Int,Int,ParOpts):List[IndexedDataset]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">cooccurrencesIDSs</span><span class="params">(<span name="indexedDatasets">indexedDatasets: <span class="extype" name="scala.Array">Array</span>[<a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">IndexedDataset</a>]</span>, <span name="randomSeed">randomSeed: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0xdeadbeef</span></span>, <span name="maxInterestingItemsPerThing">maxInterestingItemsPerThing: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">50</span></span>, <span name="maxNumInteractions">maxNumInteractions: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">500</span></span>, <span name="parOpts">parOpts: <a href="ParOpts.html" class="extype" name="org.apache.mahout.math.cf.ParOpts">ParOpts</a> = <span class="symbol"><span class="name"><a href="#defaultParOpts:org.apache.mahout.math.cf.ParOpts">defaultParOpts</a></span></span></span>)</span><span class="result">: <span class="extype" name="scala.List">List</span>[<a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">IndexedDataset</a>]</span>
</span>
</h4>
<p class="shortcomment cmt">Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, .</p><div class="fullcomment"><div class="comment cmt"><p>Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, ... and returns
a list of similarity and cross-similarity matrices. Somewhat easier to use method, which handles the ID
dictionaries correctly
</p></div><dl class="paramcmts block"><dt class="param">indexedDatasets</dt><dd class="cmt"><p>first in array is primary/A matrix all others are treated as secondary</p></dd><dt class="param">randomSeed</dt><dd class="cmt"><p>use default to make repeatable, otherwise pass in system time or some randomizing seed</p></dd><dt class="param">maxInterestingItemsPerThing</dt><dd class="cmt"><p>max similarities per items</p></dd><dt class="param">maxNumInteractions</dt><dd class="cmt"><p>max number of input items per item</p></dd><dt class="param">parOpts</dt><dd class="cmt"><p>partitioning params for drm.par(...)</p></dd><dt>returns</dt><dd class="cmt"><p>a list of <a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">org.apache.mahout.math.indexeddataset.IndexedDataset</a> containing downsampled
IndexedDatasets for cooccurrence and cross-cooccurrence
</p></dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#crossOccurrenceDownsampled" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="crossOccurrenceDownsampled(datasets:List[org.apache.mahout.math.cf.DownsamplableCrossOccurrenceDataset],randomSeed:Int):List[org.apache.mahout.math.indexeddataset.IndexedDataset]"></a>
<a id="crossOccurrenceDownsampled(List[DownsamplableCrossOccurrenceDataset],Int):List[IndexedDataset]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">crossOccurrenceDownsampled</span><span class="params">(<span name="datasets">datasets: <span class="extype" name="scala.List">List</span>[<a href="DownsamplableCrossOccurrenceDataset.html" class="extype" name="org.apache.mahout.math.cf.DownsamplableCrossOccurrenceDataset">DownsamplableCrossOccurrenceDataset</a>]</span>, <span name="randomSeed">randomSeed: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0xdeadbeef</span></span>)</span><span class="result">: <span class="extype" name="scala.List">List</span>[<a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">IndexedDataset</a>]</span>
</span>
</h4>
<p class="shortcomment cmt">Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, .</p><div class="fullcomment"><div class="comment cmt"><p>Calculates item (column-wise) similarity using the log-likelihood ratio on A'A, A'B, A'C, ... and returns
a list of similarity and cross-occurrence matrices. Somewhat easier to use method, which handles the ID
dictionaries correctly and contains info about downsampling in each model calc.
</p></div><dl class="paramcmts block"><dt class="param">datasets</dt><dd class="cmt"><p>first in array is primary/A matrix all others are treated as secondary, includes information
used to downsample the input drm as well as the output llr(A'A), llr(A'B). The information
is contained in each dataset in the array and applies to the model calculation of A' with
the dataset. Todo: ignoring absolute threshold for now.</p></dd><dt class="param">randomSeed</dt><dd class="cmt"><p>use default to make repeatable, otherwise pass in system time or some randomizing seed</p></dd><dt>returns</dt><dd class="cmt"><p>a list of <a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">org.apache.mahout.math.indexeddataset.IndexedDataset</a> containing downsampled
IndexedDatasets for cooccurrence and cross-cooccurrence
</p></dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#defaultParOpts" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
<a id="defaultParOpts:org.apache.mahout.math.cf.ParOpts"></a>
<a id="defaultParOpts:ParOpts"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">lazy val</span>
</span>
<span class="symbol">
<span class="name">defaultParOpts</span><span class="result">: <a href="ParOpts.html" class="extype" name="org.apache.mahout.math.cf.ParOpts">ParOpts</a></span>
</span>
</h4>
</li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="eq(x$1:AnyRef):Boolean"></a>
<a id="eq(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#equals" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="equals(x$1:Any):Boolean"></a>
<a id="equals(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#finalize" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="finalize():Unit"></a>
<a id="finalize():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[java.lang.Throwable]</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#getClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="getClass():Class[_]"></a>
<a id="getClass():Class[_]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#hashCode" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="hashCode():Int"></a>
<a id="hashCode():Int"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="isInstanceOf[T0]:Boolean"></a>
<a id="isInstanceOf[T0]:Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#logLikelihoodRatio" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="logLikelihoodRatio(numInteractionsWithA:Long,numInteractionsWithB:Long,numInteractionsWithAandB:Long,numInteractions:Long):Double"></a>
<a id="logLikelihoodRatio(Long,Long,Long,Long):Double"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">logLikelihoodRatio</span><span class="params">(<span name="numInteractionsWithA">numInteractionsWithA: <span class="extype" name="scala.Long">Long</span></span>, <span name="numInteractionsWithB">numInteractionsWithB: <span class="extype" name="scala.Long">Long</span></span>, <span name="numInteractionsWithAandB">numInteractionsWithAandB: <span class="extype" name="scala.Long">Long</span></span>, <span name="numInteractions">numInteractions: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Double">Double</span></span>
</span>
</h4>
<p class="shortcomment cmt">Compute loglikelihood ratio see http://tdunning.</p><div class="fullcomment"><div class="comment cmt"><p>Compute loglikelihood ratio see http://tdunning.blogspot.de/2008/03/surprise-and-coincidence.html for details</p></div></div>
</li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="ne(x$1:AnyRef):Boolean"></a>
<a id="ne(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#notify" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notify():Unit"></a>
<a id="notify():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#notifyAll" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notifyAll():Unit"></a>
<a id="notifyAll():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#rowSimilarity" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="rowSimilarity(drmARaw:org.apache.mahout.math.drm.DrmLike[Int],randomSeed:Int,maxInterestingSimilaritiesPerRow:Int,maxNumInteractions:Int,parOpts:org.apache.mahout.math.cf.ParOpts):org.apache.mahout.math.drm.DrmLike[Int]"></a>
<a id="rowSimilarity(DrmLike[Int],Int,Int,Int,ParOpts):DrmLike[Int]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">rowSimilarity</span><span class="params">(<span name="drmARaw">drmARaw: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>, <span name="randomSeed">randomSeed: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0xdeadbeef</span></span>, <span name="maxInterestingSimilaritiesPerRow">maxInterestingSimilaritiesPerRow: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">50</span></span>, <span name="maxNumInteractions">maxNumInteractions: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">500</span></span>, <span name="parOpts">parOpts: <a href="ParOpts.html" class="extype" name="org.apache.mahout.math.cf.ParOpts">ParOpts</a> = <span class="symbol"><span class="name"><a href="#defaultParOpts:org.apache.mahout.math.cf.ParOpts">defaultParOpts</a></span></span></span>)</span><span class="result">: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>
</span>
</h4>
<p class="shortcomment cmt">Calculates row-wise similarity using the log-likelihood ratio on AA' and returns a DRM of rows and similar rows
</p><div class="fullcomment"><div class="comment cmt"><p>Calculates row-wise similarity using the log-likelihood ratio on AA' and returns a DRM of rows and similar rows
</p></div><dl class="paramcmts block"><dt class="param">drmARaw</dt><dd class="cmt"><p>Primary interaction matrix</p></dd><dt class="param">randomSeed</dt><dd class="cmt"><p>when kept to a constant will make repeatable downsampling</p></dd><dt class="param">maxInterestingSimilaritiesPerRow</dt><dd class="cmt"><p>number of similar items to return per item, default: 50</p></dd><dt class="param">maxNumInteractions</dt><dd class="cmt"><p>max number of interactions after downsampling, default: 500</p></dd><dt class="param">parOpts</dt><dd class="cmt"><p>partitioning options used for drm.par(...)
</p></dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#rowSimilarityIDS" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="rowSimilarityIDS(indexedDataset:org.apache.mahout.math.indexeddataset.IndexedDataset,randomSeed:Int,maxInterestingSimilaritiesPerRow:Int,maxObservationsPerRow:Int):org.apache.mahout.math.indexeddataset.IndexedDataset"></a>
<a id="rowSimilarityIDS(IndexedDataset,Int,Int,Int):IndexedDataset"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">rowSimilarityIDS</span><span class="params">(<span name="indexedDataset">indexedDataset: <a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">IndexedDataset</a></span>, <span name="randomSeed">randomSeed: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">0xdeadbeef</span></span>, <span name="maxInterestingSimilaritiesPerRow">maxInterestingSimilaritiesPerRow: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">50</span></span>, <span name="maxObservationsPerRow">maxObservationsPerRow: <span class="extype" name="scala.Int">Int</span> = <span class="symbol">500</span></span>)</span><span class="result">: <a href="../indexeddataset/IndexedDataset.html" class="extype" name="org.apache.mahout.math.indexeddataset.IndexedDataset">IndexedDataset</a></span>
</span>
</h4>
<p class="shortcomment cmt">Calculates row-wise similarity using the log-likelihood ratio on AA' and returns a drm of rows and similar rows.</p><div class="fullcomment"><div class="comment cmt"><p>Calculates row-wise similarity using the log-likelihood ratio on AA' and returns a drm of rows and similar rows.
Uses IndexedDatasets, which handle external ID dictionaries properly
</p></div><dl class="paramcmts block"><dt class="param">indexedDataset</dt><dd class="cmt"><p>compare each row to every other</p></dd><dt class="param">randomSeed</dt><dd class="cmt"><p>use default to make repeatable, otherwise pass in system time or some randomizing seed</p></dd><dt class="param">maxInterestingSimilaritiesPerRow</dt><dd class="cmt"><p>max elements returned in each row</p></dd><dt class="param">maxObservationsPerRow</dt><dd class="cmt"><p>max number of input elements to use
</p></dd></dl></div>
</li><li name="org.apache.mahout.math.cf.SimilarityAnalysis#sampleDownAndBinarize" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="sampleDownAndBinarize(drmM:org.apache.mahout.math.drm.DrmLike[Int],seed:Int,maxNumInteractions:Int):org.apache.mahout.math.drm.DrmLike[Int]"></a>
<a id="sampleDownAndBinarize(DrmLike[Int],Int,Int):DrmLike[Int]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">sampleDownAndBinarize</span><span class="params">(<span name="drmM">drmM: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>, <span name="seed">seed: <span class="extype" name="scala.Int">Int</span></span>, <span name="maxNumInteractions">maxNumInteractions: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <a href="../drm/DrmLike.html" class="extype" name="org.apache.mahout.math.drm.DrmLike">DrmLike</a>[<span class="extype" name="scala.Int">Int</span>]</span>
</span>
</h4>
<p class="shortcomment cmt">Selectively downsample rows and items with an anomalous amount of interactions, inspired by
https://github.</p><div class="fullcomment"><div class="comment cmt"><p>Selectively downsample rows and items with an anomalous amount of interactions, inspired by
https://github.com/tdunning/in-memory-cooccurrence/blob/master/src/main/java/com/tdunning/cooc/Analyze.java</p><p>additionally binarizes input matrix, as we're only interesting in knowing whether interactions happened or not
</p></div><dl class="paramcmts block"><dt class="param">drmM</dt><dd class="cmt"><p>matrix to downsample</p></dd><dt class="param">seed</dt><dd class="cmt"><p>random number generator seed, keep to a constant if repeatability is neccessary</p></dd><dt class="param">maxNumInteractions</dt><dd class="cmt"><p>number of elements in a row of the returned matrix</p></dd><dt>returns</dt><dd class="cmt"><p>the downsampled DRM
</p></dd></dl></div>
</li><li name="scala.AnyRef#synchronized" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="synchronized[T0](x$1:=&gt;T0):T0"></a>
<a id="synchronized[T0](⇒T0):T0"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#toString" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="toString():String"></a>
<a id="toString():String"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait():Unit"></a>
<a id="wait():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long,x$2:Int):Unit"></a>
<a id="wait(Long,Int):Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long):Unit"></a>
<a id="wait(Long):Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
</h4>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li></ol>
</div>
</div>
<div id="inheritedMembers">
<div class="parent" name="scala.Serializable">
<h3>Inherited from <span class="extype" name="scala.Serializable">Serializable</span></h3>
</div><div class="parent" name="java.io.Serializable">
<h3>Inherited from <span class="extype" name="java.io.Serializable">Serializable</span></h3>
</div><div class="parent" name="scala.AnyRef">
<h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
</div><div class="parent" name="scala.Any">
<h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
</div>
</div>
<div id="groupedMembers">
<div class="group" name="Ungrouped">
<h3>Ungrouped</h3>
</div>
</div>
</div>
<div id="tooltip"></div>
<div id="footer"> </div>
<script defer="defer" type="text/javascript" id="jquery-js" src="../../../../../lib/jquery.js"></script><script defer="defer" type="text/javascript" id="jquery-ui-js" src="../../../../../lib/jquery-ui.js"></script><script defer="defer" type="text/javascript" id="tools-tooltip-js" src="../../../../../lib/tools.tooltip.js"></script><script defer="defer" type="text/javascript" id="template-js" src="../../../../../lib/template.js"></script>
</body>
</html>