Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/13/09 17:28:07 (15 years ago)
Author:
gkronber
Message:

Worked on #722 (IModel should provide a Predict() method to get predicted values for an input vector).
At the same time removed parameter PunishmentFactor from GP algorithms (this parameter is internal to TreeEvaluators now).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/CedmaImporter/Importer.cs

    r2277 r2285  
    99using HeuristicLab.GP.StructureIdentification;
    1010using System.Diagnostics;
     11using HeuristicLab.Modeling;
    1112
    1213namespace CedmaImporter {
     
    6263        ImportAllModels(dirName, reader, database);
    6364      }
     65      database.Disconnect();
    6466    }
    6567
     
    9092        string algoName = modelData[ALGORITHM_COLUMN].Trim();
    9193        try {
    92           HeuristicLab.Modeling.Model model = new HeuristicLab.Modeling.Model();
     94          HeuristicLab.Modeling.IAnalyzerModel model = new AnalyzerModel();
    9395          model.TargetVariable = targetVariableName;
    9496          model.Dataset = problem.Dataset;
     
    100102          model.TestSamplesEnd = problem.TestSamplesEnd;
    101103
    102 
    103           model.Data = ParseModel(dirName, modelData[FILENAME_COLUMN].Trim(), algoName);
    104 
    105104          SetModelResults(model, modelData);
    106105          SetInputVariableResults(model, modelData);
    107106
     107          model.Predictor = CreatePredictor(targetVariableName, dirName, modelData[FILENAME_COLUMN].Trim(), algoName);
    108108          database.Persist(model, algoName, null);
    109109        }
     
    113113    }
    114114
    115     private void SetInputVariableResults(HeuristicLab.Modeling.Model model, string[] modelData) {
     115    private void SetInputVariableResults(HeuristicLab.Modeling.IAnalyzerModel model, string[] modelData) {
    116116      for (int i = VARIABLE_IMPACTS; i < modelData.Length; i++) {
    117117        if (!string.IsNullOrEmpty(modelData[i])) {
    118           model.AddInputVariables(inputVariables[i]);
     118          model.AddInputVariable(inputVariables[i]);
    119119          if (results[i] == EVALUATION_IMPACT) {
    120120            model.SetVariableEvaluationImpact(inputVariables[i], double.Parse(modelData[i]));
     
    126126    }
    127127
    128     private void SetModelResults(HeuristicLab.Modeling.Model model, string[] modelData) {
     128    private void SetModelResults(HeuristicLab.Modeling.IAnalyzerModel model, string[] modelData) {
    129129      model.TrainingMeanSquaredError = double.Parse(modelData[TRAINING_MSE]);
    130130      model.ValidationMeanSquaredError = double.Parse(modelData[VALIDATION_MSE]);
     
    148148    }
    149149
    150     private HeuristicLab.Core.IItem ParseModel(string dirName, string modelFileName, string algoName) {
     150    private HeuristicLab.Modeling.IPredictor CreatePredictor(string targetVariable, string dirName, string modelFileName, string algoName) {
    151151      foreach (char c in Path.GetInvalidFileNameChars()) {
    152152        modelFileName = modelFileName.Replace(c, '_');
    153153      }
    154154      if (algoName == "SupportVectorRegression") {
    155         HeuristicLab.Data.SVMModel model = new HeuristicLab.Data.SVMModel();
     155        HeuristicLab.SupportVectorMachines.SVMModel model = new HeuristicLab.SupportVectorMachines.SVMModel();
    156156        model.Model = SVM.Model.Read(Path.Combine(dirName, modelFileName) + ".svm.model.txt");
    157157        model.RangeTransform = SVM.RangeTransform.Read(Path.Combine(dirName, modelFileName) + ".svm.transform.txt");
    158         return model;
     158        return new HeuristicLab.SupportVectorMachines.Predictor(model, targetVariable);
    159159      } else {
    160160        SymbolicExpressionImporter sexpImporter = new SymbolicExpressionImporter();
     
    163163          model.FunctionTree = sexpImporter.Import(reader);
    164164        }
    165         return model;
     165        return new HeuristicLab.GP.StructureIdentification.Predictor(new HL2TreeEvaluator(), model);
    166166      }
    167167    }
Note: See TracChangeset for help on using the changeset viewer.