| <!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:36 PDT 2017 --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>SSVDSolver (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="SSVDSolver (Mahout Map-Reduce 0.13.0 API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/SSVDSolver.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><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDHelper.html" title="class in org.apache.mahout.math.hadoop.stochasticsvd"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/UJob.html" title="class in org.apache.mahout.math.hadoop.stochasticsvd"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html" target="_top">Frames</a></li> |
| <li><a href="SSVDSolver.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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.math.hadoop.stochasticsvd</div> |
| <h2 title="Class SSVDSolver" class="title">Class SSVDSolver</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.math.hadoop.stochasticsvd.SSVDSolver</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public final class <span class="typeNameLabel">SSVDSolver</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></pre> |
| <div class="block">Stochastic SVD solver (API class). |
| <p/> |
| <p/> |
| Implementation details are in my working notes in MAHOUT-376 |
| (https://issues.apache.org/jira/browse/MAHOUT-376). |
| <p/> |
| <p/> |
| As of the time of this writing, I don't have benchmarks for this method in |
| comparison to other methods. However, non-hadoop differentiating |
| characteristics of this method are thought to be : |
| <LI>"faster" and precision is traded off in favor of speed. However, there's |
| lever in terms of "oversampling parameter" p. Higher values of p produce |
| better precision but are trading off speed (and minimum RAM requirement). |
| This also means that this method is almost guaranteed to be less precise than |
| Lanczos unless full rank SVD decomposition is sought. |
| <LI>"more scale" -- can presumably take on larger problems than Lanczos one |
| (not confirmed by benchmark at this time) |
| <p/> |
| <p/> |
| <p/> |
| Specifically in regards to this implementation, <i>I think</i> couple of |
| other differentiating points are: |
| <LI>no need to specify input matrix height or width in command line, it is |
| what it gets to be. |
| <LI>supports any Writable as DRM row keys and copies them to correspondent |
| rows of U matrix; |
| <LI>can request U or V or U<sub>σ</sub>=U* Σ<sup>0.5</sup> or |
| V<sub>σ</sub>=V* Σ<sup>0.5</sup> none of which would require pass |
| over input A and these jobs are parallel map-only jobs. |
| <p/> |
| <p/> |
| <p/> |
| This class is central public API for SSVD solver. The use pattern is as |
| follows: |
| <p/> |
| <UL> |
| <LI>create the solver using constructor and supplying computation parameters. |
| <LI>set optional parameters thru setter methods. |
| <LI>call <a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#run--"><code>run()</code></a>. |
| <LI> <a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getUPath--"><code>getUPath()</code></a> (if computed) returns the path to the directory |
| containing m x k U matrix file(s). |
| <LI> <a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getVPath--"><code>getVPath()</code></a> (if computed) returns the path to the directory |
| containing n x k V matrix file(s). |
| <p/> |
| </UL></div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== 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"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#SSVDSolver-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path:A-org.apache.hadoop.fs.Path-int-int-int-int-">SSVDSolver</a></span>(org.apache.hadoop.conf.Configuration conf, |
| org.apache.hadoop.fs.Path[] inputPath, |
| org.apache.hadoop.fs.Path outputPath, |
| int ablockRows, |
| int k, |
| int p, |
| int reduceTasks)</code> |
| <div class="block">create new SSVD solver.</div> |
| </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getAbtBlockHeight--">getAbtBlockHeight</a></span>()</code> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getOuterBlockHeight--">getOuterBlockHeight</a></span>()</code> </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getPcaMeanPath--">getPcaMeanPath</a></span>()</code> |
| <div class="block">Optional.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getQ--">getQ</a></span>()</code> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code><a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getSingularValues--">getSingularValues</a></span>()</code> |
| <div class="block">This contains k+p singular values resulted from the solver run.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getuHalfSigmaPath--">getuHalfSigmaPath</a></span>()</code> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getUPath--">getUPath</a></span>()</code> |
| <div class="block">returns U path (if computation were requested and successful).</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getuSigmaPath--">getuSigmaPath</a></span>()</code> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getvHalfSigmaPath--">getvHalfSigmaPath</a></span>()</code> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getVPath--">getVPath</a></span>()</code> |
| <div class="block">return V path ( if computation was requested and successful ) .</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#getvSigmaPath--">getvSigmaPath</a></span>()</code> </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#isBroadcast--">isBroadcast</a></span>()</code> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#isOverwrite--">isOverwrite</a></span>()</code> </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#run--">run</a></span>()</code> |
| <div class="block">run all SSVD jobs.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setAbtBlockHeight-int-">setAbtBlockHeight</a></span>(int abtBlockHeight)</code> |
| <div class="block">the block height of Y_i during power iterations.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setBroadcast-boolean-">setBroadcast</a></span>(boolean broadcast)</code> |
| <div class="block">If this property is true, use DestributedCache mechanism to broadcast some |
| stuff around.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setComputeU-boolean-">setComputeU</a></span>(boolean val)</code> |
| <div class="block">The setting controlling whether to compute U matrix of low rank SSVD.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setComputeV-boolean-">setComputeV</a></span>(boolean val)</code> |
| <div class="block">Setting controlling whether to compute V matrix of low-rank SSVD.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setcUHalfSigma-boolean-">setcUHalfSigma</a></span>(boolean cUHat)</code> </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setcUSigma-boolean-">setcUSigma</a></span>(boolean cUSigma)</code> </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setcVHalfSigma-boolean-">setcVHalfSigma</a></span>(boolean cVHat)</code> </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setcVSigma-boolean-">setcVSigma</a></span>(boolean cVSigma)</code> </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setMinSplitSize-int-">setMinSplitSize</a></span>(int size)</code> |
| <div class="block">Sometimes, if requested A blocks become larger than a split, we may need to |
| use that to ensure at least k+p rows of A get into a split.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setOuterBlockHeight-int-">setOuterBlockHeight</a></span>(int outerBlockHeight)</code> |
| <div class="block">The height of outer blocks during Q'A multiplication.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setOverwrite-boolean-">setOverwrite</a></span>(boolean overwrite)</code> |
| <div class="block">if true, driver to clean output folder first if exists.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setPcaMeanPath-org.apache.hadoop.fs.Path-">setPcaMeanPath</a></span>(org.apache.hadoop.fs.Path pcaMeanPath)</code> </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html#setQ-int-">setQ</a></span>(int q)</code> |
| <div class="block">sets q, amount of additional power iterations to increase precision |
| (0..2!).</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class 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="SSVDSolver-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path:A-org.apache.hadoop.fs.Path-int-int-int-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SSVDSolver</h4> |
| <pre>public SSVDSolver(org.apache.hadoop.conf.Configuration conf, |
| org.apache.hadoop.fs.Path[] inputPath, |
| org.apache.hadoop.fs.Path outputPath, |
| int ablockRows, |
| int k, |
| int p, |
| int reduceTasks)</pre> |
| <div class="block">create new SSVD solver. Required parameters are passed to constructor to |
| ensure they are set. Optional parameters can be set using setters . |
| <p/></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>conf</code> - hadoop configuration</dd> |
| <dd><code>inputPath</code> - Input path (should be compatible with DistributedRowMatrix as of |
| the time of this writing).</dd> |
| <dd><code>outputPath</code> - Output path containing U, V and singular values vector files.</dd> |
| <dd><code>ablockRows</code> - The vertical hight of a q-block (bigger value require more memory |
| in mappers+ perhaps larger <code>minSplitSize</code> values</dd> |
| <dd><code>k</code> - desired rank</dd> |
| <dd><code>p</code> - SSVD oversampling parameter</dd> |
| <dd><code>reduceTasks</code> - Number of reduce tasks (where applicable)</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="getQ--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQ</h4> |
| <pre>public int getQ()</pre> |
| </li> |
| </ul> |
| <a name="setQ-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setQ</h4> |
| <pre>public void setQ(int q)</pre> |
| <div class="block">sets q, amount of additional power iterations to increase precision |
| (0..2!). Defaults to 0.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>q</code> - </dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setComputeU-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setComputeU</h4> |
| <pre>public void setComputeU(boolean val)</pre> |
| <div class="block">The setting controlling whether to compute U matrix of low rank SSVD. |
| Default true.</div> |
| </li> |
| </ul> |
| <a name="setComputeV-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setComputeV</h4> |
| <pre>public void setComputeV(boolean val)</pre> |
| <div class="block">Setting controlling whether to compute V matrix of low-rank SSVD.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>val</code> - true if we want to output V matrix. Default is true.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setcUHalfSigma-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setcUHalfSigma</h4> |
| <pre>public void setcUHalfSigma(boolean cUHat)</pre> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cUHat</code> - whether produce U*Sigma^0.5 as well (default false)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setcVHalfSigma-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setcVHalfSigma</h4> |
| <pre>public void setcVHalfSigma(boolean cVHat)</pre> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cVHat</code> - whether produce V*Sigma^0.5 as well (default false)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setcUSigma-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setcUSigma</h4> |
| <pre>public void setcUSigma(boolean cUSigma)</pre> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cUSigma</code> - whether produce U*Sigma output as well (default false)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setcVSigma-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setcVSigma</h4> |
| <pre>public void setcVSigma(boolean cVSigma)</pre> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cVSigma</code> - whether produce V*Sigma output as well (default false)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="setMinSplitSize-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setMinSplitSize</h4> |
| <pre>public void setMinSplitSize(int size)</pre> |
| <div class="block">Sometimes, if requested A blocks become larger than a split, we may need to |
| use that to ensure at least k+p rows of A get into a split. This is |
| requirement necessary to obtain orthonormalized Q blocks of SSVD.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>size</code> - the minimum split size to use</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getSingularValues--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSingularValues</h4> |
| <pre>public <a href="http://mahout.apache.org/mahout-math/apidocs/org/apache/mahout/math/Vector.html?is-external=true" title="class or interface in org.apache.mahout.math">Vector</a> getSingularValues()</pre> |
| <div class="block">This contains k+p singular values resulted from the solver run.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>singlular values (largest to smallest)</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getUPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getUPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getUPath()</pre> |
| <div class="block">returns U path (if computation were requested and successful).</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>U output hdfs path, or null if computation was not completed for |
| whatever reason.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getVPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getVPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getVPath()</pre> |
| <div class="block">return V path ( if computation was requested and successful ) .</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>V output hdfs path, or null if computation was not completed for |
| whatever reason.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getuSigmaPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getuSigmaPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getuSigmaPath()</pre> |
| </li> |
| </ul> |
| <a name="getuHalfSigmaPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getuHalfSigmaPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getuHalfSigmaPath()</pre> |
| </li> |
| </ul> |
| <a name="getvSigmaPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getvSigmaPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getvSigmaPath()</pre> |
| </li> |
| </ul> |
| <a name="getvHalfSigmaPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getvHalfSigmaPath</h4> |
| <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getvHalfSigmaPath()</pre> |
| </li> |
| </ul> |
| <a name="isOverwrite--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isOverwrite</h4> |
| <pre>public boolean isOverwrite()</pre> |
| </li> |
| </ul> |
| <a name="setOverwrite-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setOverwrite</h4> |
| <pre>public void setOverwrite(boolean overwrite)</pre> |
| <div class="block">if true, driver to clean output folder first if exists.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>overwrite</code> - </dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getOuterBlockHeight--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getOuterBlockHeight</h4> |
| <pre>public int getOuterBlockHeight()</pre> |
| </li> |
| </ul> |
| <a name="setOuterBlockHeight-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setOuterBlockHeight</h4> |
| <pre>public void setOuterBlockHeight(int outerBlockHeight)</pre> |
| <div class="block">The height of outer blocks during Q'A multiplication. Higher values allow |
| to produce less keys for combining and shuffle and sort therefore somewhat |
| improving running time; but require larger blocks to be formed in RAM (so |
| setting this too high can lead to OOM).</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>outerBlockHeight</code> - </dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getAbtBlockHeight--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAbtBlockHeight</h4> |
| <pre>public int getAbtBlockHeight()</pre> |
| </li> |
| </ul> |
| <a name="setAbtBlockHeight-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setAbtBlockHeight</h4> |
| <pre>public void setAbtBlockHeight(int abtBlockHeight)</pre> |
| <div class="block">the block height of Y_i during power iterations. It is probably important |
| to set it higher than default 200,000 for extremely sparse inputs and when |
| more ram is available. y_i block height and ABt job would occupy approx. |
| abtBlockHeight x (k+p) x sizeof (double) (as dense).</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>abtBlockHeight</code> - </dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isBroadcast--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isBroadcast</h4> |
| <pre>public boolean isBroadcast()</pre> |
| </li> |
| </ul> |
| <a name="setBroadcast-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setBroadcast</h4> |
| <pre>public void setBroadcast(boolean broadcast)</pre> |
| <div class="block">If this property is true, use DestributedCache mechanism to broadcast some |
| stuff around. May improve efficiency. Default is false.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>broadcast</code> - </dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getPcaMeanPath--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getPcaMeanPath</h4> |
| <pre>public org.apache.hadoop.fs.Path getPcaMeanPath()</pre> |
| <div class="block">Optional. Single-vector file path for a vector (aka xi in MAHOUT-817 |
| working notes) to be subtracted from each row of input. |
| <p/> |
| <p/> |
| Brute force approach would force would turn input into a dense input, which |
| is often not very desirable. By supplying this offset to SSVD solver, we |
| can avoid most of that overhead due to increased input density. |
| <p/> |
| <p/> |
| The vector size for this offest is n (width of A input). In PCA and R this |
| is known as "column means", but in this case it can be any offset of row |
| vectors of course to propagate into SSVD solution. |
| <p/></div> |
| </li> |
| </ul> |
| <a name="setPcaMeanPath-org.apache.hadoop.fs.Path-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setPcaMeanPath</h4> |
| <pre>public void setPcaMeanPath(org.apache.hadoop.fs.Path pcaMeanPath)</pre> |
| </li> |
| </ul> |
| <a name="run--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>run</h4> |
| <pre>public void run() |
| throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> |
| <div class="block">run all SSVD jobs.</div> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if I/O condition occurs.</dd> |
| </dl> |
| </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/SSVDSolver.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><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/SSVDHelper.html" title="class in org.apache.mahout.math.hadoop.stochasticsvd"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/mahout/math/hadoop/stochasticsvd/UJob.html" title="class in org.apache.mahout.math.hadoop.stochasticsvd"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/mahout/math/hadoop/stochasticsvd/SSVDSolver.html" target="_top">Frames</a></li> |
| <li><a href="SSVDSolver.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 2008–2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |