shark::CircleInSquare Class Reference

#include <shark/Data/DataDistribution.h>

+ Inheritance diagram for shark::CircleInSquare:

Public Member Functions

 CircleInSquare (unsigned int dimensions=2, double noiselevel=0.0, bool class_prob_equal=false)
 
void setLimits (double lower_limit, double upper_limit, double inner_radius, double outer_radius)
 allow for arbitrary box limits More...
 
void draw (RealVector &input, unsigned int &label) const
 Generates a single pair of input and label. More...
 
- Public Member Functions inherited from shark::LabeledDataDistribution< RealVector, unsigned int >
virtual ~LabeledDataDistribution ()
 Virtual destructor. More...
 
std::pair< RealVector, unsigned int > operator() ()
 
LabeledData< RealVector, unsigned int > generateDataset (std::size_t size, std::size_t maximumBatchSize) const
 Generates a dataset with samples from from the distribution. More...
 
LabeledData< RealVector, unsigned int > generateDataset (std::size_t size) const
 Generates a data set with samples from from the distribution. More...
 

Protected Attributes

unsigned int m_dimensions
 
double m_noiselevel
 
double m_lowerLimit
 
double m_upperLimit
 
double m_centerpoint
 
double m_inner_radius2
 
double m_outer_radius2
 
bool m_equal_class_prob
 if true, the probability to belong to either class is equal. if false, it is uniform over the cube. More...
 

Detailed Description

This class randomly fills a (hyper-)square with data points. Points which happen to be within a (hyper-)circle centered in the square of a certain radius get a positive class label. Noise on the labels can be added.

Definition at line 281 of file DataDistribution.h.

Constructor & Destructor Documentation

§ CircleInSquare()

shark::CircleInSquare::CircleInSquare ( unsigned int  dimensions = 2,
double  noiselevel = 0.0,
bool  class_prob_equal = false 
)
inline

Definition at line 284 of file DataDistribution.h.

Member Function Documentation

§ draw()

void shark::CircleInSquare::draw ( RealVector &  input,
unsigned int &  label 
) const
inlinevirtual

Generates a single pair of input and label.

Parameters
inputthe generated input
labelthe generated label

Implements shark::LabeledDataDistribution< RealVector, unsigned int >.

Definition at line 308 of file DataDistribution.h.

References shark::coinToss(), and shark::uni().

§ setLimits()

void shark::CircleInSquare::setLimits ( double  lower_limit,
double  upper_limit,
double  inner_radius,
double  outer_radius 
)
inline

allow for arbitrary box limits

Definition at line 296 of file DataDistribution.h.

References RANGE_CHECK.

Member Data Documentation

§ m_centerpoint

double shark::CircleInSquare::m_centerpoint
protected

Definition at line 359 of file DataDistribution.h.

§ m_dimensions

unsigned int shark::CircleInSquare::m_dimensions
protected

Definition at line 355 of file DataDistribution.h.

§ m_equal_class_prob

bool shark::CircleInSquare::m_equal_class_prob
protected

if true, the probability to belong to either class is equal. if false, it is uniform over the cube.

Definition at line 362 of file DataDistribution.h.

§ m_inner_radius2

double shark::CircleInSquare::m_inner_radius2
protected

Definition at line 360 of file DataDistribution.h.

§ m_lowerLimit

double shark::CircleInSquare::m_lowerLimit
protected

Definition at line 357 of file DataDistribution.h.

§ m_noiselevel

double shark::CircleInSquare::m_noiselevel
protected

Definition at line 356 of file DataDistribution.h.

§ m_outer_radius2

double shark::CircleInSquare::m_outer_radius2
protected

Definition at line 361 of file DataDistribution.h.

§ m_upperLimit

double shark::CircleInSquare::m_upperLimit
protected

Definition at line 358 of file DataDistribution.h.


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