GClasses
GClasses::GRowDistanceScaled Class Reference

This uses a combination of Euclidean distance for continuous attributes, and Hamming distance for nominal attributes. This version honors scale factors given by the user. See comments on GRowDistance. More...

#include <GDistance.h>

Inheritance diagram for GClasses::GRowDistanceScaled:
GClasses::GDistanceMetric

Public Member Functions

 GRowDistanceScaled ()
 
 GRowDistanceScaled (GDomNode *pNode)
 
virtual ~GRowDistanceScaled ()
 
virtual void init (const GRelation *pRelation, bool own)
 See the comment for GDistanceMetric::init. More...
 
virtual double * scaleFactors ()
 Returns the vector of scalar values associated with each dimension. More...
 
virtual GDomNodeserialize (GDom *pDoc) const
 See the comment for GDistanceMetric::serialize. More...
 
virtual double squaredDistance (const double *pA, const double *pB) const
 Returns the scaled distance between pA and pB. More...
 
- Public Member Functions inherited from GClasses::GDistanceMetric
 GDistanceMetric ()
 
 GDistanceMetric (GDomNode *pNode)
 
virtual ~GDistanceMetric ()
 
double operator() (const std::vector< double > &a, const std::vector< double > &b) const
 Return squaredDistance(a,b). Allows dissimilarity metrics to be used as function objects. Do not override. Override squaredDistance(a,b) instead. See GDistanceMetric::squaredDistance(const std::vector<double>&, const std::vector<double>&) More...
 
double operator() (const double *pA, const double *pB) const
 Return squaredDistance(pA, pB). Allows dissimilarity metrics to be used as function objects. Do not override. Override squaredDistance(pA,pB) instead. See GDistanceMetric::squaredDistance(const double*, const double*) More...
 
const GRelationrelation () const
 Returns the relation that specifies the meaning of the vector elements. More...
 
virtual double squaredDistance (const std::vector< double > &a, const std::vector< double > &b) const
 Return the squared distance (or squared dissimilarity) between the two specified vectors. More...
 

Protected Attributes

double * m_pScaleFactors
 
- Protected Attributes inherited from GClasses::GDistanceMetric
bool m_ownRelation
 
const GRelationm_pRelation
 

Additional Inherited Members

- Static Public Member Functions inherited from GClasses::GDistanceMetric
static GDistanceMetricdeserialize (GDomNode *pNode)
 Deserializes a distance metric. More...
 
- Protected Member Functions inherited from GClasses::GDistanceMetric
GDomNodebaseDomNode (GDom *pDoc, const char *szClassName) const
 
void setRelation (const GRelation *pRelation, bool own)
 Sets the relation to use with this metric. Takes ownership of the relation iff own is true. More...
 

Detailed Description

This uses a combination of Euclidean distance for continuous attributes, and Hamming distance for nominal attributes. This version honors scale factors given by the user. See comments on GRowDistance.

Constructor & Destructor Documentation

GClasses::GRowDistanceScaled::GRowDistanceScaled ( )
inline
GClasses::GRowDistanceScaled::GRowDistanceScaled ( GDomNode pNode)
virtual GClasses::GRowDistanceScaled::~GRowDistanceScaled ( )
inlinevirtual

Member Function Documentation

virtual void GClasses::GRowDistanceScaled::init ( const GRelation pRelation,
bool  own 
)
virtual

See the comment for GDistanceMetric::init.

Implements GClasses::GDistanceMetric.

virtual double* GClasses::GRowDistanceScaled::scaleFactors ( )
inlinevirtual

Returns the vector of scalar values associated with each dimension.

Reimplemented from GClasses::GDistanceMetric.

virtual GDomNode* GClasses::GRowDistanceScaled::serialize ( GDom pDoc) const
virtual

See the comment for GDistanceMetric::serialize.

Implements GClasses::GDistanceMetric.

virtual double GClasses::GRowDistanceScaled::squaredDistance ( const double *  pA,
const double *  pB 
) const
virtual

Returns the scaled distance between pA and pB.

Implements GClasses::GDistanceMetric.

Member Data Documentation

double* GClasses::GRowDistanceScaled::m_pScaleFactors
protected