Пример #1
0
        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));
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        public override object?DecodeSingleValue(float value, PredictorCodification c)
        {
            var newValue = (float)Math.Exp((double)value);

            return(ReflectionTools.ChangeType(newValue, c.Column.Token.Type));
        }
Пример #4
0
        public override float EncodeSingleValue(object?value, PredictorCodification c)
        {
            var dValue = Convert.ToDouble(value);

            return(dValue <= 0 ? MinLog : Math.Max(MinLog, (float)Math.Log(dValue)));
        }
Пример #5
0
        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));
        }
Пример #6
0
 public override float EncodeSingleValue(object?value, PredictorCodification c)
 {
     return((Convert.ToSingle(value) - c.Min !.Value) / (c.Max !.Value - c.Min !.Value));
 }
Пример #7
0
        public override object?DecodeSingleValue(float value, PredictorCodification c)
        {
            var newValue = c.Average !+(c.StdDev !*value);

            return(ReflectionTools.ChangeType(newValue, c.Column.Token.Type));
        }
Пример #8
0
 public override float EncodeSingleValue(object?value, PredictorCodification c)
 {
     return((Convert.ToSingle(value) - c.Average !.Value) / c.StdDev !.Value);
 }
Пример #9
0
 public abstract object?DecodeSingleValue(float value, PredictorCodification c);
Пример #10
0
        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);
        }
Пример #11
0
 public abstract float EncodeSingleValue(object?valueDefault, PredictorCodification c);