Command Line Basics¶
This tutorial introduces Vowpal Wabbit command line basics with a quick introduction to training and testing your model with Vowpal Wabbit. We explore passing some data to Vowpal Wabbit to learn a model and get a prediction.
For more advanced Vowpal Wabbit tutorials, including how to format data and understand results, see Tutorials.
To install Vowpal Wabbit see Get Started.
Training scenario and dataset¶
For this tutorial scenario, we want to use Vowpal Wabbit to help us predict whether or not a house will require a new roof in the next 10 years.
First, create a file
train.txt and copy the following dataset:
0 | price:.23 sqft:.25 age:.05 2006 1 | price:.18 sqft:.15 age:.35 1976 0 | price:.53 sqft:.32 age:.87 1924
Note: If the format of this sample dataset looks unfamiliar and you want more details see the Vowpal Wabbit Linear Regression Tutorial for information on input format and feature hashing techniques.
Train a model¶
Next, we train a model, and save it to a file:
vw -d train.txt -f model.vw
This tells Vowpal Wabbit to:
-ffinal model to
With Vowpal Wabbit, the output includes more than a few statistics and statuses. The Linear Regression Tutorial and Contextual Bandit Reinforcement Learning Tutorial covers this format in more detail:
final_regressor = model.vw Num weight bits = 18 learning rate = 0.5 initial_t = 0 power_t = 0.5 using no cache Reading datafile = train.txt num sources = 1 average since example example current current current loss last counter weight label predict features 0.000000 0.000000 1 1.0 0.0000 0.0000 5 0.500000 1.000000 2 2.0 1.0000 0.0000 5 finished run number of examples = 3 weighted example sum = 3.000000s weighted label sum = 1.000000 average loss = 0.666667 best constant = 0.333333 best constant's loss = 0.222222 total feature number = 15
Test a model¶
Now, create a file called
test.txt and copy this data:
| price:.46 sqft:.4 age:.10 1924
We get a prediction by loading the model and supplying our test data:
vw -d test.txt -i model.vw -p predictions.txt
This tells Vowpal Wabbit to:
predictions = predictions.txt Num weight bits = 18 learning rate = 0.5 initial_t = 0 power_t = 0.5 using no cache Reading datafile = test.txt num sources = 1 average since example example current current current loss last counter weight label predict features n.a. n.a. 1 1.0 unknown 0.0000 5 finished run number of examples = 1 weighted example sum = 1.000000 weighted label sum = 0.000000 average loss = n.a.
cat predictions.txt shows:
Vowpal Wabbit results¶
The model predicted a value of 0. This result means our house will not need a new roof in the next 10 years (based on just three examples we used in our training dataset).
More to explore¶
See Python tutorial for a quick introduction to the basics of training and testing your model.
To learn more about how to approach a contextual bandits problem using tVowpal Wabbit — including how to work with different contextual bandits approaches, how to format data, and understand the results — see the Contextual Bandit Reinforcement Learning Tutorial.
For more on the contextual bandits approach to reinforcement learning, including a content personalization scenario, see the Contextual Bandit Simulation Tutorial.
See the Linear Regression Tutorial for a different look at the roof replacement problem and learn more about Vowpal Wabbit’s format and understanding the results.