jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Static Public Member Functions | List of all members
jubatus::core::fv_converter::libsvm_converter Class Reference

#include <libsvm_converter.hpp>

Collaboration diagram for jubatus::core::fv_converter::libsvm_converter:
Collaboration graph

Static Public Member Functions

static void convert (const std::string &line, datum &ret_datum, std::string &ret_label)
 

Detailed Description

Definition at line 28 of file libsvm_converter.hpp.

Member Function Documentation

void jubatus::core::fv_converter::libsvm_converter::convert ( const std::string &  line,
datum ret_datum,
std::string &  ret_label 
)
static

Definition at line 28 of file libsvm_converter.cpp.

References JUBATUS_EXCEPTION, jubatus::core::fv_converter::datum::num_values_, and jubatus::core::fv_converter::datum::string_values_.

31  {
32  std::string label;
33  std::istringstream in(line);
34  in >> label;
35  datum::nv_t num_values;
36 
37  std::string s;
38  while (in) {
39  in >> s;
40  if (!in) {
41  break;
42  }
43  size_t p = s.find(':');
44  if (p == std::string::npos) {
45  throw JUBATUS_EXCEPTION(
46  converter_exception("invalid libsvm format: " + s));
47  }
48  std::string id = s.substr(0, p);
49  float val = jubatus::util::lang::lexical_cast<float>(s.substr(p + 1));
50  num_values.push_back(make_pair(id, val));
51  }
52 
53  ret_label.swap(label);
54  ret_datum.string_values_.clear();
55  ret_datum.num_values_.swap(num_values);
56 }
#define JUBATUS_EXCEPTION(e)
Definition: exception.hpp:79
std::vector< std::pair< std::string, double > > nv_t
Definition: datum.hpp:33

The documentation for this class was generated from the following files: