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... | |
Public Member Functions inherited from GClasses::GDistanceMetric | |
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 |
Protected Attributes inherited from GClasses::GDistanceMetric | |
bool | m_ownRelation |
const GRelation * | m_pRelation |
GVec | m_scaleFactors |
Additional Inherited Members | |
Static Public Member Functions inherited from GClasses::GDistanceMetric | |
static GDistanceMetric * | deserialize (GDomNode *pNode) |
Deserializes a distance metric. More... | |
static void | test () |
Protected Member Functions inherited from GClasses::GDistanceMetric | |
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 |