Package

com.eharmony.aloha.audit

impl

Permalink

package impl

Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class EitherAuditor[A] extends MorphableAuditor[Either[EitherAuditorError, _], A, Either[EitherAuditorError, A]]

    Permalink

    An EitherAuditor encodes the idea of success or failure.

    An EitherAuditor encodes the idea of success or failure. In the case of failure, (meaning a model could not produce a prediction) diagnostic information is encoded in the form of an EitherAuditorError. No diagnostic information is emitted when a "successful" prediction is produced, even if compromises were made in order to produce the prediction or problems like missing data were encountered.

    To construct an EitherAuditor, use the apply factory methods in the companion object.

    Created by ryan.deak on 10/2/17.

    A

    the type of value returned in the success case.

  2. final case class EitherAuditorError(failureModelIds: ::[ModelIdentity], errorMsgs: Seq[String], missingVarNames: Set[String]) extends Product with Serializable

    Permalink

    Diagnostic information about failures encountered.

    Diagnostic information about failures encountered. This structure can be thought of as a flattened tree of failures. The tree is pruned one of two ways, it is either prune at the root, or pruned at the the first submodel successes encountered. The tree is pruned at the root if the auditor is created via EitherAuditor[A](aggregateDiagnostics = false).

    If the auditor is created via EitherAuditor[A](aggregateDiagnostics = true), or simply EitherAuditor[A], then the trees are pruned at successes. For instance, imagine a model, model 1, that has submodels 2 and 5. Submodel 2 has submodels 3 and 4; submodel 5 has submodels 6 and 7. Let's say the following submodels fail: 1, 2, 4, 6, 7. Then, information would be aggregated as follows:

    //          ORIGINAL        |       PRUNED      |       SIMPLIFIED
    //  =====================================================================
    //                          |                   |
    //   1:F +-- 2:F +--  3:S   |   1 +-- 2 +-- /   |   1 --- 2 +
    //       |       |          |     |     |       |           |
    //       |       +--  4:F   |     |     +-- 4   |           +-- 4
    //       |                  |     |             |
    //       +-- 5:S +--  6:F   |     +-- / +-- /   |
    //               |          |           |       |
    //               +--  7:F   |           +-- /   |  DFS preorder: 1, 2, 4
    //                          |                   |
    //  =====================================================================

    Notice because submodel 5 succeeds, error information about submodels 6 and 7 is disregarded because submodel 5 could recover from its submodels' errors.

    So, in the event that diagnostics are aggregated, only information about submodels 1, 2, 4 should be contained in the EitherAuditorError returned by the EitherAuditor.

    failureModelIds

    a non-empty list of ModelIdentity instances of submodels that failed to produce a prediction. Since the top-level model must fail in order for an EitherAuditorError to be returned, this is a non-empty list. This non-empty list is in DFS preorder.

    errorMsgs

    messages indicating errors encountered.

    missingVarNames

    names of variables with missing data encountered in the model computation.

  3. case class OptionAuditor[A]() extends MorphableAuditor[Option[_], A, Option[A]] with Product with Serializable

    Permalink

    Created by ryan on 1/30/17.

Value Members

  1. object EitherAuditor

    Permalink
  2. package tree

    Permalink

    Created by ryan.deak on 5/9/17.

Ungrouped