dlib C++ Library - checkerboard.h

#ifndef DLIB_CHECKERBOARD_TeST_H_
#define DLIB_CHECKERBOARD_TeST_H_
#include <dlib/matrix.h>
#include <vector>
#include <dlib/rand.h>
namespace dlib
{
 template <typename scalar_type>
 void get_checkerboard_problem (
 std::vector<matrix<scalar_type,2,1> >& x,
 std::vector<scalar_type>& y,
 const long num_samples,
 const long board_dimension = 8
 )
 /*!
 requires
 - num_samples > 0
 - board_dimension > 0
 ensures
 - #x.size() == y.size() == num_samples
 - is_binary_classification_problem(#x,#y) == true
 - #x will contain points and #y labels that were
 sampled randomly from a checkers board that has 
 board_dimension squares on each side. 
 !*/
 {
 static dlib::rand rnd;
 x.clear();
 y.clear();
 matrix<scalar_type,2,1> sample;
 for (long i = 0; i < num_samples; ++i)
 {
 sample(0) = rnd.get_random_double();
 sample(1) = rnd.get_random_double();
 sample *= board_dimension;
 x.push_back(sample);
 if (((int)sum(floor(sample)) %2) == 0)
 y.push_back(+1);
 else
 y.push_back(-1);
 
 }
 }
}
#endif // DLIB_CHECKERBOARD_TeST_H_

AltStyle によって変換されたページ (->オリジナル) /