//The variation of the index for this predictor ex: //Sex: female, male offset 1 = male public PredictorMv(SchemaVariable var, Node _node, int idx, int fieldSpan, int nativeIdx, int offSet, int predictorLstIdx, MvTb MvTb) { Variable = var; N = _node; PredMvLstIdx = idx; Table = MvTb; FieldSpan = fieldSpan; NativeIdx = nativeIdx; Offset = offSet; PredictorLstIdx = predictorLstIdx; if (Variable.VariableTypeUserSet == SchemaVariable.VariableTypeEnum.Continuous) { LowerNumber = N.PredictorLst[PredictorLstIdx].LowerNumber; HigherNumber = N.PredictorLst[PredictorLstIdx].HigherNumber; } }
public double[] TN; // numeric target #endregion Fields #region Constructors public MvTbData(MvTb mvTb) { MvTb = mvTb; N = MvTb.N; DataFill(); }
public void MvProcedures() { int nativeIdxN = 0; int nativeIdxC = 0; if (Def.Multivariate) { // Creates the multivariate abstraction layer MvTb = new MvTb(this,0); MvTsTb = new MvTb(this, 1); for (int i = 0; i < PredictorLst.Count; ++i) { if (PredictorLst[i].Variable.VariableTypeUserSet == SchemaVariable.VariableTypeEnum.Continuous) { PredictorLst[i].PredMvBase = PredMvLst.Count; PredictorMv pmv = new PredictorMv(PredictorLst[i].Variable, this, PredMvLst.Count, 1, nativeIdxN, 0, i, MvTb); PredMvLst.Add(pmv); PredictorMv pmvTs = new PredictorMv(PredictorLst[i].Variable, this, PredMvLst.Count, 1, nativeIdxN, 0, i, MvTsTb); PredMvTsLst.Add(pmvTs); ++nativeIdxN; } else { PredictorLst[i].PredMvBase = PredMvLst.Count; for (int dx = 0; dx < PredictorLst[i].DistinctValuesCount; ++dx) { PredictorMv pmv = new PredictorMv(PredictorLst[i].Variable, this, PredMvLst.Count, PredictorLst[i].DistinctValuesCount, nativeIdxC, dx, i, MvTb ); PredMvLst.Add(pmv); PredictorMv pmvTs = new PredictorMv(PredictorLst[i].Variable, this, PredMvLst.Count, PredictorLst[i].DistinctValuesCount, nativeIdxC, dx, i, MvTsTb); PredMvTsLst.Add(pmvTs); } ++nativeIdxC; } } } }