Class

edu.cmu.ml.rtw.pra.features

PraFeatureGenerator

Related Doc: package features

Permalink

class PraFeatureGenerator extends FeatureGenerator[NodePairInstance]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PraFeatureGenerator
  2. FeatureGenerator
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PraFeatureGenerator(params: JValue, graph: GraphOnDisk, relation: String, relationMetadata: RelationMetadata, outputter: Outputter, fileUtil: FileUtil = new FileUtil())

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def computeFeatureValues(pathTypes: Seq[PathType], data: Dataset[NodePairInstance], isTraining: Boolean): FeatureMatrix

    Permalink

    Given a set of source nodes and path types, compute values for a feature matrix where the feature types (or columns) are the path types, the rows are (source node, target node) pairs, and the values are the probability of starting at source node, following a path of a particular type, and ending at target node.

    Given a set of source nodes and path types, compute values for a feature matrix where the feature types (or columns) are the path types, the rows are (source node, target node) pairs, and the values are the probability of starting at source node, following a path of a particular type, and ending at target node.

    This is essentially a simple wrapper around the PathFollower GraphChi program, which computes these features using random walks.

    Note that this computes a fixed number of _columns_ of the feature matrix, with a not necessarily known number of rows (when only the source node of the row is specified).

    pathTypes

    A list of PathType objects specifying the path types to follow from each source node.

    returns

    A feature matrix encoded as a list of MatrixRow objects. Note that this feature matrix may not have rows corresponding to every source in sourcesMap if there were no paths from a source to an acceptable target following any of the path types, there will be no row in the matrix for that source.

  7. def constructMatrixRow(instance: NodePairInstance): Option[MatrixRow]

    Permalink

    Constructs a MatrixRow for a single instance.

    Constructs a MatrixRow for a single instance. This is intended for SGD-style training or online prediction. Note that this could be _really_ inefficient for some kinds of feature generators, and so far is only implemented for SFE.

    Definition Classes
    PraFeatureGeneratorFeatureGenerator
  8. def createPathFollower(followerParams: JValue, pathTypes: Seq[PathType], data: Dataset[NodePairInstance], isTraining: Boolean): PathFollower

    Permalink
  9. def createPathTypeSelector(selectorParams: JValue, finder: PathFinder[NodePairInstance]): PathTypeSelector

    Permalink
  10. def createTestMatrix(data: Dataset[NodePairInstance]): FeatureMatrix

    Permalink

    Constructs a matrix for the test data.

    Constructs a matrix for the test data. In general, if this step is dependent on training (because, for instance, a feature set was selected at training time), the FeatureGenerator should save that state internally, and use it to do this computation. Not all implementations need internal state to do this, but some do.

    Definition Classes
    PraFeatureGeneratorFeatureGenerator
  11. def createTrainingMatrix(data: Dataset[NodePairInstance]): FeatureMatrix

    Permalink

    Takes the data, probably does some random walks (or maybe some matrix multiplications, or a few other possibilities), and returns a FeatureMatrix.

    Takes the data, probably does some random walks (or maybe some matrix multiplications, or a few other possibilities), and returns a FeatureMatrix.

    Definition Classes
    PraFeatureGeneratorFeatureGenerator
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. val featureParamKeys: Seq[String]

    Permalink
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. implicit val formats: DefaultFormats.type

    Permalink
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def getFeatureNames(): Array[String]

    Permalink

    Returns a string representation of the features in the feature matrix.

    Returns a string representation of the features in the feature matrix. This need only be defined after createTrainingMatrix is called once, and calling removeZeroWeightFeatures may change the output of this function (because the training and test matrices may have different feature spaces; see comments above).

    Definition Classes
    PraFeatureGeneratorFeatureGenerator
  19. def getMatrixAcceptPolicy(params: JValue, isTraining: Boolean): MatrixRowPolicy

    Permalink
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. var pathTypes: Seq[PathType]

    Permalink
  26. def removeZeroWeightFeatures(weights: Seq[Double]): Seq[Double]

    Permalink

    For efficiency in creating the test matrix, we might drop some features if they have zero weight.

    For efficiency in creating the test matrix, we might drop some features if they have zero weight. In some FeatureGenerator implementations, computing feature values can be very expensive, so this allows us to save some work. The return value is the updated set of weights, with any desired values removed. Yes, this potentially changes the indices and thus the meaning of the feature matrix. Thus the updated weights can't be used anymore on the training matrix, only on the test matrix.

    Definition Classes
    PraFeatureGeneratorFeatureGenerator
  27. def selectPathFeatures(data: Dataset[NodePairInstance]): Seq[PathType]

    Permalink

    Do feature selection for a PRA model, which amounts to finding common paths between sources and targets.

    Do feature selection for a PRA model, which amounts to finding common paths between sources and targets.

    This pretty much just wraps around the PathFinder GraphChi program, which does random walks to find paths between source and target nodes, along with a little bit of post processing to (for example) collapse paths that are the same, but are written differently in the GraphChi output because of inverse relationships.

    data

    A Dataset containing source and target nodes from which we start walks.

    returns

    A ranked list of the numPaths highest ranked path features, encoded as PathType objects.

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped