GClasses
|
Generates subsets of data that contain only the most relevant features for predicting the labels. The train method of this class produces a ranked ordering of the feature attributes by training a single-layer neural network, and deselecting the weakest attribute until all attributes have been deselected. The transform method uses only the highest-ranked attributes.
#include <GTransform.h>
Public Member Functions | |
GAttributeSelector (size_t labelDims, size_t targetFeatures) | |
GAttributeSelector (const GDomNode *pNode) | |
virtual | ~GAttributeSelector () |
std::vector< size_t > & | ranks () |
Returns a list of attributes in ranked-order. Most important attributes are first. Weakest attributes are last. (The results are undefined until after train is called.) More... | |
virtual GDomNode * | serialize (GDom *pDoc) const |
Marshal this object into a DOM, which can then be converted to a variety of serial formats. More... | |
void | setSeed (size_t seed) |
Sets a random seed to use with this attribute selector. More... | |
GRelation * | setTargetFeatures (size_t n) |
Specifies the number of features to select. (This method must be called after train.) More... | |
virtual void | transform (const GVec &in, GVec &out) |
See the comment for GIncrementalTransform::transform. More... | |
virtual void | untransform (const GVec &in, GVec &out) |
Throws an exception (because this transform cannot be reversed). More... | |
virtual void | untransformToDistribution (const GVec &in, GPrediction *pOut) |
Throws an exception (because this transform cannot be reversed). More... | |
Public Member Functions inherited from GClasses::GIncrementalTransform | |
GIncrementalTransform () | |
GIncrementalTransform (const GDomNode *pNode) | |
virtual | ~GIncrementalTransform () |
const GRelation & | after () const |
Returns a relation object describing the data after it is transformed. More... | |
const GRelation & | before () const |
Returns a relation object describing the data before it is transformed. More... | |
GVec & | innerBuf () |
Returns a buffer of sufficient size to store an inner (transformed) vector. The caller should not to delete the buffer. The same buffer will be returned each time. More... | |
virtual GMatrix * | reduce (const GMatrix &in) |
This calls train, then calls transformBatch, and returns the result. More... | |
void | setAfter (GRelation *pRel) |
Sets the after relation. Takes ownership of pRel. More... | |
void | setBefore (GRelation *pRel) |
Sets the before relation. Takes ownership of pRel. More... | |
void | train (const GMatrix &data) |
Trains the transform on the data in pData. (This method may be a no-op for transformations that always behave in the same manner.) More... | |
void | train (const GRelation &pRelation) |
"Trains" the transform without any data. More... | |
virtual GMatrix * | transformBatch (const GMatrix &in) |
This assumes that train has already been called, and transforms all the rows in in returning the resulting matrix. The caller is responsible for deleting the new matrix. More... | |
virtual std::unique_ptr< GMatrix > | untransformBatch (const GMatrix &in) |
This assumes train was previously called, and untransforms all the rows in pIn and returns the results. More... | |
Public Member Functions inherited from GClasses::GTransform | |
GTransform () | |
GTransform (const GDomNode *pNode) | |
virtual | ~GTransform () |
Static Public Member Functions | |
static void | test () |
Static Public Member Functions inherited from GClasses::GIncrementalTransform | |
static void | test () |
Performs unit tests for this class. Throws an exception if there is a failure. More... | |
Protected Member Functions | |
virtual GRelation * | trainInner (const GMatrix &data) |
See the comment for GIncrementalTransform::train. More... | |
virtual GRelation * | trainInner (const GRelation &relation) |
Throws an exception (because this transform cannot be trained without data) More... | |
Protected Member Functions inherited from GClasses::GIncrementalTransform | |
virtual GDomNode * | baseDomNode (GDom *pDoc, const char *szClassName) const |
Child classes should use this in their implementation of serialize. More... | |
Protected Attributes | |
size_t | m_labelDims |
std::vector< size_t > | m_ranks |
size_t | m_seed |
size_t | m_targetFeatures |
|
inline |
GClasses::GAttributeSelector::GAttributeSelector | ( | const GDomNode * | pNode | ) |
|
inlinevirtual |
|
inline |
Returns a list of attributes in ranked-order. Most important attributes are first. Weakest attributes are last. (The results are undefined until after train is called.)
Marshal this object into a DOM, which can then be converted to a variety of serial formats.
Implements GClasses::GIncrementalTransform.
|
inline |
Sets a random seed to use with this attribute selector.
GRelation* GClasses::GAttributeSelector::setTargetFeatures | ( | size_t | n | ) |
Specifies the number of features to select. (This method must be called after train.)
|
static |
|
protectedvirtual |
See the comment for GIncrementalTransform::train.
Implements GClasses::GIncrementalTransform.
|
protectedvirtual |
Throws an exception (because this transform cannot be trained without data)
Implements GClasses::GIncrementalTransform.
See the comment for GIncrementalTransform::transform.
Implements GClasses::GIncrementalTransform.
|
inlinevirtual |
Throws an exception (because this transform cannot be reversed).
Implements GClasses::GIncrementalTransform.
|
inlinevirtual |
Throws an exception (because this transform cannot be reversed).
Implements GClasses::GIncrementalTransform.
|
protected |
|
protected |
|
protected |
|
protected |