📄 datafeeder.h
字号:
// -*- C++ -*-#ifndef __LEMGA_DATAFEEDER_H__#define __LEMGA_DATAFEEDER_H__/** @file * @brief Declare @link lemga::DataFeeder DataFeeder@endlink class. * * $Id: datafeeder.h 2504 2005-11-15 02:43:41Z ling $ */#include <iostream>#include "learnmodel.h"namespace lemga {/** @brief Feed (random splitted) training and testing data. */class DataFeeder {public: enum NORMETHOD { // normalization method MIN_MAX, // make min -1, max +1 MEAN_VAR, // make mean 0, var 1 NONE };private: pDataSet dat; std::istream* perms; NORMETHOD _do_normalize; UINT fsize, train_size;public: DataFeeder (const pDataSet&); DataFeeder (std::istream&); void set_permutation (std::istream& i) { perms = &i; } void do_normalize (NORMETHOD dn = MIN_MAX) { _do_normalize = dn; } UINT size () const { return fsize; } void set_train_size (UINT); pDataSet data () const { return dat; } bool next_train_test (pDataSet&, pDataSet&) const;protected: bool next_permutation (std::vector<UINT>&) const; struct LINEAR_SCALE_PARAM { REAL center, scale; }; typedef std::vector<LINEAR_SCALE_PARAM> LINEAR_SCALE_PARAMS; static LINEAR_SCALE_PARAMS min_max (DataSet&); static LINEAR_SCALE_PARAMS mean_var (DataSet&); static void linear_scale (DataSet&, const LINEAR_SCALE_PARAMS&);};} // namespace lemga#ifdef __DATAFEEDER_H__#warning "This header file may conflict with another `datafeeder.h' file."#endif#define __DATAFEEDER_H__#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -