VersatileClassificationTutorial-LDA.cpp
Go to the documentation of this file.
1 
2 #include <shark/Data/Dataset.h>
3 #include <shark/Data/Csv.h>
5 
6 #include <shark/Models/LinearClassifier.h>
8 
9 
10 using namespace shark;
11 
12 int main()
13 {
14  // Load data, use 70% for training and 30% for testing.
15  // The path is hard coded; make sure to invoke the executable
16  // from a place where the data file can be found. It is located
17  // under [shark]/examples/Supervised/data.
18  ClassificationDataset traindata, testdata;
19  importCSV(traindata, "data/quickstartData.csv", LAST_COLUMN, ' ');
20  testdata = splitAtElement(traindata, 70 * traindata.numberOfElements() / 100);
21 
22  // TODO: define a model and a trainer
23 
24  LinearClassifier<> model;
25  LDA trainer;
26 
27  trainer.train(model, traindata);
28 
29  Data<unsigned int> prediction = model(testdata.inputs());
30 
32  double error_rate = loss(testdata.labels(), prediction);
33 
34  std::cout << "model: " << model.name() << std::endl
35  << "trainer: " << trainer.name() << std::endl
36  << "test error rate: " << error_rate << std::endl;
37 }
38 //