public object?DecodeValue(PredictorColumnBase column, List <PredictorCodification> codifications, float[] outputValues, PredictionOptions options) { PredictorCodification cod = codifications.SingleEx(); float value = outputValues[cod.Index]; return(DecodeSingleValue(value, cod)); }
public static object?GetDefaultValue(PredictorCodification c) { switch (c.Column.NullHandling) { case PredictorColumnNullHandling.Zero: return(c.Column.Token.Type.IsClass || c.Column.Token.Type.IsInterface ? null : Zero); case PredictorColumnNullHandling.Error: throw new Exception($"Null found on {c.Column.Token} of {(c.Column is PredictorColumnSubQuery pcsq ? pcsq.SubQuery.ToString() : "MainQuery")}"); case PredictorColumnNullHandling.Average: return(c.Average); case PredictorColumnNullHandling.Min: return(c.Min); case PredictorColumnNullHandling.Max: return(c.Max); default: throw new UnexpectedValueException(c.Column.NullHandling); } }
public override object?DecodeSingleValue(float value, PredictorCodification c) { var newValue = (float)Math.Exp((double)value); return(ReflectionTools.ChangeType(newValue, c.Column.Token.Type)); }
public override float EncodeSingleValue(object?value, PredictorCodification c) { var dValue = Convert.ToDouble(value); return(dValue <= 0 ? MinLog : Math.Max(MinLog, (float)Math.Log(dValue))); }
public override object?DecodeSingleValue(float value, PredictorCodification c) { var newValue = c.Min !.Value + ((c.Max !.Value - c.Min.Value) * value); return(ReflectionTools.ChangeType(newValue, c.Column.Token.Type)); }
public override float EncodeSingleValue(object?value, PredictorCodification c) { return((Convert.ToSingle(value) - c.Min !.Value) / (c.Max !.Value - c.Min !.Value)); }
public override object?DecodeSingleValue(float value, PredictorCodification c) { var newValue = c.Average !+(c.StdDev !*value); return(ReflectionTools.ChangeType(newValue, c.Column.Token.Type)); }
public override float EncodeSingleValue(object?value, PredictorCodification c) { return((Convert.ToSingle(value) - c.Average !.Value) / c.StdDev !.Value); }
public abstract object?DecodeSingleValue(float value, PredictorCodification c);
public void EncodeValue(object?value, PredictorColumnBase column, List <PredictorCodification> codifications, float[] inputValues, int offset) { PredictorCodification c = codifications.SingleEx(); inputValues[offset + c.Index] = EncodeSingleValue(value, c); }
public abstract float EncodeSingleValue(object?valueDefault, PredictorCodification c);