<p><code>vw</code> SGD is highly enhanced vs the vanilla naive SGD so pre-scaling isn't needed.</p>

<p>If you have very few instances (small data-set), pre-scaling may help somewhat.</p>

<p><code>vw</code> does automatic normalization for scale by remembering the range of each feature as it goes, so pre-scaling is rarely needed to achieve good results.</p>

<p>Normalization for scale, rarity and importance is applied by default. The relevant <code>vw</code> options are:</p>

<pre><code>--normalized
--adaptive
--invariant
</code></pre>

<p>If any of them appears on the command line, the others are not applied.  By default all three are applied.</p>

<p><em>See also:</em> <a href="https://stackoverflow.com/a/32770631/1296044">this stackoverflow answer</a></p>

<p><em>The paper explaining the enhanced SGD algorithm in <code>vw</code> is:</em></p>

<p><a href="https://arxiv.org/abs/1011.1576" rel="nofollow noreferrer">Online Importance Weight Aware Updates - Nikos Karampatziakis &amp; John Langford</a></p>
How much preprocessing Vowpal Wabbit input needs?
<p>I know that vw can handle very raw data(e.g. raw text) but for instance should one consider scaling numerical features before feeding the data to vw?
Consider the following line:</p>

<p><code>1 |n age: 80.0 height: 180.0 |c male london |d the:1 cat:2 went:3 out:4</code></p>

<p>Assuming that typical age ranges from 1 to 100 and height(in centimeters) may range from 140 to 220, is it better to transform/scale the <code>age</code> and <code>height</code> so they share a common range? I think many algorithms may need this kinda of preprocessing on their input data, for example Linear Regression.</p>