public abstract class Model<M extends Model<M,P,O>,P extends Model.Parameters<M,P,O>,O extends Model.Output<M,P,O>> extends Lockable<M>
| Modifier and Type | Class and Description |
|---|---|
static class |
Model.ModelCategory |
static class |
Model.Output<M extends Model<M,P,O>,P extends Model.Parameters<M,P,O>,O extends Model.Output<M,P,O>>
Model-specific output class.
|
static class |
Model.Parameters<M extends Model<M,P,O>,P extends Model.Parameters<M,P,O>,O extends Model.Output<M,P,O>>
Model-specific parameter class.
|
| Constructor and Description |
|---|
Model(Key selfKey,
Frame fr,
P parms,
O output)
Constructor from frame: Strips out the Vecs to just the names needed
to match columns later for future datasets.
|
Model(Key selfKey,
java.lang.String[] names,
java.lang.String[][] domains,
P parms,
O output)
Full constructor
|
| Modifier and Type | Method and Description |
|---|---|
Frame[] |
adapt(Frame fr,
boolean exact)
Build an adapted Frame from the given Frame.
|
static int[][] |
getDomainMapping(java.lang.String[] modelDom,
java.lang.String[] colDom,
boolean exact)
Returns a mapping between values of model domains (
modelDom) and given column domain. |
static int[][] |
getDomainMapping(java.lang.String colName,
java.lang.String[] modelDom,
java.lang.String[] colDom,
boolean logNonExactMapping)
Returns a mapping for given column according to given
modelDom. |
abstract ModelSchema |
schema()
Externally visible default schema
TODO: this is in the wrong layer: the internals should not know anything about the schemas!!!
This puts a reverse edge into the dependency graph.
|
double |
score(double[] data) |
Frame |
score(Frame fr)
Bulk score for given
fr frame. |
Frame |
score(Frame fr,
boolean adapt)
Bulk score the frame
fr, producing a Frame result; the 1st Vec is the
predicted class, the remaining Vecs are the probability distributions. |
float[] |
score(Frame fr,
boolean exact,
int row)
Single row scoring, on a compatible Frame.
|
float[] |
score(int[][][] map,
double[] row,
float[] preds)
Single row scoring, on a compatible set of data, given an adaption vector
|
float[] |
score(java.lang.String[] names,
java.lang.String[][] domains,
boolean exact,
double[] row)
Single row scoring, on a compatible set of data.
|
protected abstract float[] |
score0(Chunk[] chks,
int row_in_chunk,
double[] tmp,
float[] preds)
Bulk scoring API for one row.
|
protected abstract float[] |
score0(double[] data,
float[] preds)
Subclasses implement the scoring logic.
|
delete_and_lock, delete, delete, delete, errStr, read_lock, read_lock, unlock_all, unlock, update, write_lockclone, frozenType, read_impl, read, readJSON_impl, readJSON, write_impl, write, writeHTML_impl, writeHTML, writeJSON_impl, writeJSONpublic P extends Model.Parameters<M,P,O> _parms
public O extends Model.Output<M,P,O> _output
public Model(Key selfKey, Frame fr, P parms, O output)
public abstract ModelSchema schema()
public final Frame score(Frame fr)
fr frame.
The frame is always adapted to this model.fr - frame to be scoredscore(Frame, boolean)public final Frame score(Frame fr, boolean adapt)
fr, producing a Frame result; the 1st Vec is the
predicted class, the remaining Vecs are the probability distributions.
For Regression (single-class) models, the 1st and only Vec is the
prediction value.
The flat adaptfr - frame which should be scoredadapt - a flag enforcing an adaptation of fr to this model. If flag
is false scoring code expect that fr is already adapted.public final float[] score(Frame fr, boolean exact, int row)
public final float[] score(java.lang.String[] names,
java.lang.String[][] domains,
boolean exact,
double[] row)
public final float[] score(int[][][] map,
double[] row,
float[] preds)
public Frame[] adapt(Frame fr, boolean exact)
public static int[][] getDomainMapping(java.lang.String[] modelDom,
java.lang.String[] colDom,
boolean exact)
modelDom) and given column domain.public static int[][] getDomainMapping(java.lang.String colName,
java.lang.String[] modelDom,
java.lang.String[] colDom,
boolean logNonExactMapping)
modelDom.
In this case, modelDom iscolName - name of column which is mapped, can be null.modelDom - logNonExactMapping - protected abstract float[] score0(Chunk[] chks, int row_in_chunk, double[] tmp, float[] preds)
protected abstract float[] score0(double[] data,
float[] preds)
public double score(double[] data)