GClasses
|
Interpolates between manhattan distance (norm=1), Euclidean distance (norm=2), and Chebyshev distance (norm=infinity). For nominal attributes, Hamming distance is used.
#include <GDistance.h>
Public Member Functions | |
GLNormDistance (double norm) | |
GLNormDistance (GDomNode *pNode) | |
virtual | ~GLNormDistance () |
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 (using the norm passed to the constructor) between pA and pB. 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 |
double | m_norm |
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::GLNormDistance::GLNormDistance | ( | double | norm | ) |
GClasses::GLNormDistance::GLNormDistance | ( | 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 (using the norm passed to the constructor) between pA and pB.
Implements GClasses::GDistanceMetric.
|
protected |
|
protected |