GClasses
|
This uses a combination of Euclidean distance for continuous attributes, and Hamming distance for nominal attributes. In particular, for each attribute, it calculates pA[i]-pB[i], squares it and takes the square root of that sum. For nominal attributes pA[i]-pB[i] is 0 if they are the same and 1 if they are different.
#include <GDistance.h>
Public Member Functions | |
GRowDistance () | |
GRowDistance (GDomNode *pNode) | |
virtual | ~GRowDistance () |
virtual void | init (const GRelation *pRelation, bool own) |
See the comment for GDistanceMetric::init. More... | |
virtual const char * | name () const |
Returns the name of this class. More... | |
virtual GDomNode * | serialize (GDom *pDoc) const |
See the comment for GDistanceMetric::serialize. More... | |
void | setDiffWithUnknown (double d) |
Specify the difference to use when one or more of the values is unknown. (If your data contains unknown values, you may want to normalize the known values to fall within some pre-determined range, so that it will be possible to select a reasonable value for this purpose.) More... | |
virtual double | squaredDistance (const GVec &a, const GVec &b) const |
Returns the distance between a and b. More... | |
![]() | |
GDistanceMetric () | |
GDistanceMetric (GDomNode *pNode) | |
virtual | ~GDistanceMetric () |
double | operator() (const GVec &a, const GVec &b) 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 GVec&, const GVec&) More... | |
const GRelation * | relation () const |
Returns the relation that specifies the meaning of the vector elements. More... | |
virtual GVec & | scaleFactors () |
Returns a reference to the vector of attribute scalars. More... | |
Protected Attributes | |
double | m_diffWithUnknown |
![]() | |
bool | m_ownRelation |
const GRelation * | m_pRelation |
GVec | m_scaleFactors |
Additional Inherited Members | |
![]() | |
static GDistanceMetric * | deserialize (GDomNode *pNode) |
Deserializes a distance metric. More... | |
static void | test () |
![]() | |
GDomNode * | baseDomNode (GDom *pDoc) 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... | |
GClasses::GRowDistance::GRowDistance | ( | ) |
GClasses::GRowDistance::GRowDistance | ( | GDomNode * | pNode | ) |
|
inlinevirtual |
|
virtual |
See the comment for GDistanceMetric::init.
Implements GClasses::GDistanceMetric.
|
inlinevirtual |
Returns the name of this class.
Implements GClasses::GDistanceMetric.
See the comment for GDistanceMetric::serialize.
Implements GClasses::GDistanceMetric.
|
inline |
Specify the difference to use when one or more of the values is unknown. (If your data contains unknown values, you may want to normalize the known values to fall within some pre-determined range, so that it will be possible to select a reasonable value for this purpose.)
|
virtual |
Returns the distance between a and b.
Implements GClasses::GDistanceMetric.
|
protected |