chromium/third_party/coremltools/mlmodel/format/GLMClassifier.proto

// Copyright (c) 2017, Apple Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-3-clause license that can be
// found in LICENSE.txt or at https://opensource.org/licenses/BSD-3-Clause

syntax = "proto3";
option optimize_for = LITE_RUNTIME;

import public "DataStructures.proto";

package CoreML.Specification;

/*
 * A generalized linear model classifier.
 */
message GLMClassifier {
  message DoubleArray {
    repeated double value = 1;
  }

  enum PostEvaluationTransform {
    Logit = 0;
    Probit = 1;  // Only binary classification is supported for probit
  }

  enum ClassEncoding {
    ReferenceClass = 0;  // First class is the reference class
    OneVsRest = 1;       // Also called One vs All
  }

  repeated DoubleArray weights = 1;
  repeated double offset = 2;
  PostEvaluationTransform postEvaluationTransform = 3;
  ClassEncoding classEncoding = 4;

  /*
   * Required class label mapping.
   */
  oneof ClassLabels {
    StringVector stringClassLabels = 100;
    Int64Vector int64ClassLabels = 101;
  }
}