예제 #1
0
        public PredictorPredictContext(PredictorEntity predictor, IPredictorAlgorithm algorithm, List <PredictorCodification> codifications)
        {
            Predictor     = predictor;
            Algorithm     = algorithm;
            Codifications = codifications;

            InputCodifications         = codifications.Where(a => a.Column.Usage == PredictorColumnUsage.Input).ToList();
            InputCodificationsByColumn = InputCodifications.GroupToDictionary(a => a.Column);

            OutputCodifications         = codifications.Where(a => a.Column.Usage == PredictorColumnUsage.Output).ToList();
            MainOutputCodifications     = OutputCodifications.Where(a => a.Column is PredictorColumnMain m).GroupToDictionary(a => ((PredictorColumnMain)a.Column).PredictorColumn);
            SubQueryOutputCodifications = OutputCodifications.Where(a => a.Column is PredictorColumnSubQuery).AgGroupToDictionary(a => ((PredictorColumnSubQuery)a.Column).SubQuery, sqGroup =>
                                                                                                                                  new PredictorPredictSubQueryContext(sqGroup.Key,
                                                                                                                                                                      sqGroup.AgGroupToDictionary(a => ((PredictorColumnSubQuery)a.Column).Keys !,
                                                                                                                                                                                                  keysGroup => keysGroup.GroupToDictionary(a => ((PredictorColumnSubQuery)a.Column).PredictorSubQueryColumn !), ObjectArrayComparer.Instance)
                                                                                                                                                                      ));
        }
예제 #2
0
 public static void RegisterAlgorithm(PredictorAlgorithmSymbol symbol, IPredictorAlgorithm algorithm)
 {
     Algorithms.Add(symbol, algorithm);
 }