test/nbc.cc

Code
Comments
Other
Rev Date Author Line
813 16 Mar 07 peter 1 // $Id$
813 16 Mar 07 peter 2
813 16 Mar 07 peter 3 /*
4359 23 Aug 23 peter 4   Copyright (C) 2007 Peter Johansson
2119 12 Dec 09 peter 5   Copyright (C) 2008 Jari Häkkinen, Peter Johansson, Markus Ringnér
4359 23 Aug 23 peter 6   Copyright (C) 2012 Peter Johansson
813 16 Mar 07 peter 7
1437 25 Aug 08 peter 8   This file is part of the yat library, http://dev.thep.lu.se/yat
813 16 Mar 07 peter 9
813 16 Mar 07 peter 10   The yat library is free software; you can redistribute it and/or
813 16 Mar 07 peter 11   modify it under the terms of the GNU General Public License as
1486 09 Sep 08 jari 12   published by the Free Software Foundation; either version 3 of the
813 16 Mar 07 peter 13   License, or (at your option) any later version.
813 16 Mar 07 peter 14
813 16 Mar 07 peter 15   The yat library is distributed in the hope that it will be useful,
813 16 Mar 07 peter 16   but WITHOUT ANY WARRANTY; without even the implied warranty of
813 16 Mar 07 peter 17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
813 16 Mar 07 peter 18   General Public License for more details.
813 16 Mar 07 peter 19
813 16 Mar 07 peter 20   You should have received a copy of the GNU General Public License
1487 10 Sep 08 jari 21   along with yat. If not, see <http://www.gnu.org/licenses/>.
813 16 Mar 07 peter 22 */
813 16 Mar 07 peter 23
2881 18 Nov 12 peter 24 #include <config.h>
2881 18 Nov 12 peter 25
1241 16 Mar 08 peter 26 #include "Suite.h"
1241 16 Mar 08 peter 27
813 16 Mar 07 peter 28 #include "yat/classifier/MatrixLookup.h"
813 16 Mar 07 peter 29 #include "yat/classifier/MatrixLookupWeighted.h"
813 16 Mar 07 peter 30 #include "yat/classifier/NBC.h"
813 16 Mar 07 peter 31 #include "yat/classifier/Target.h"
1121 22 Feb 08 peter 32 #include "yat/utility/Matrix.h"
813 16 Mar 07 peter 33
813 16 Mar 07 peter 34 #include <cassert>
813 16 Mar 07 peter 35 #include <fstream>
813 16 Mar 07 peter 36 #include <iostream>
813 16 Mar 07 peter 37 #include <string>
813 16 Mar 07 peter 38
813 16 Mar 07 peter 39 using namespace theplu::yat;
813 16 Mar 07 peter 40
1241 16 Mar 08 peter 41 int main(int argc, char* argv[])
4200 19 Aug 22 peter 42 {
1241 16 Mar 08 peter 43   test::Suite suite(argc, argv);
1241 16 Mar 08 peter 44   suite.err() << "testing ncc" << std::endl;
813 16 Mar 07 peter 45
1251 03 Apr 08 peter 46   std::ifstream is(test::filename("data/nm_data_centralized.txt").c_str());
1121 22 Feb 08 peter 47   utility::Matrix data_core(is);
813 16 Mar 07 peter 48   is.close();
813 16 Mar 07 peter 49   classifier::MatrixLookup data(data_core);
813 16 Mar 07 peter 50
1251 03 Apr 08 peter 51   is.open(test::filename("data/nm_target_bin.txt").c_str());
813 16 Mar 07 peter 52    classifier::Target target(is);
813 16 Mar 07 peter 53    is.close();
813 16 Mar 07 peter 54
1241 16 Mar 08 peter 55   suite.err() << "Constructing NBC" << std::endl;
1157 26 Feb 08 markus 56    classifier::NBC nbc;
1241 16 Mar 08 peter 57   suite.err() << "Training NBC" << std::endl;
1157 26 Feb 08 markus 58   nbc.train(data,target);
1121 22 Feb 08 peter 59   utility::Matrix res;
1241 16 Mar 08 peter 60   suite.err() << "Predicting" << std::endl;
813 16 Mar 07 peter 61   nbc.predict(data, res);
813 16 Mar 07 peter 62
1241 16 Mar 08 peter 63   return suite.return_value();
813 16 Mar 07 peter 64 }