Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/03/09 14:23:54 (15 years ago)
Author:
mkommend
Message:

reintegrated branch new heuristic.modeling database backend (ticket #712)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.Server/3.3/ExecuterBase.cs

    r2222 r2223  
    2727using System.Net;
    2828using System.ServiceModel;
    29 using HeuristicLab.CEDMA.DB.Interfaces;
    30 using HeuristicLab.CEDMA.DB;
    3129using System.ServiceModel.Description;
    3230using System.Linq;
     
    3836using System.Threading;
    3937using HeuristicLab.Modeling;
     38using HeuristicLab.Modeling.Database;
    4039
    4140namespace HeuristicLab.CEDMA.Server {
     
    4645    protected IDispatcher Dispatcher {
    4746      get { return dispatcher; }
    48     }
    49     private IStore store;
     47    }   
     48    private IModelingDatabase databaseService;
    5049
    5150    private int maxActiveJobs;
     
    5958    }
    6059
    61     public ExecuterBase(IDispatcher dispatcher, IStore store) {
     60    public ExecuterBase(IDispatcher dispatcher, IModelingDatabase databaseService) {
    6261      maxActiveJobs = 10;
    6362      this.dispatcher = dispatcher;
    64       this.store = store;
     63      this.databaseService = databaseService;
    6564    }
    6665
     
    7271
    7372    protected void SetResults(IScope src, IScope target) {
    74       foreach (IVariable v in src.Variables) {
     73      foreach (HeuristicLab.Core.IVariable v in src.Variables) {
    7574        target.AddVariable(v);
    7675      }
     
    8382    }
    8483
    85     protected void StoreResults(IAlgorithm finishedAlgorithm) {
    86       Entity modelEntity = new Entity(Ontology.CedmaNameSpace + Guid.NewGuid());
    87       IModel model = finishedAlgorithm.Model;
    88       List<Statement> statements = new List<Statement>();
    89       statements.Add(new Statement(modelEntity, Ontology.InstanceOf, Ontology.TypeModel));
    90       statements.Add(new Statement(modelEntity, Ontology.TargetVariable, new Literal(model.TargetVariable)));
    91       statements.Add(new Statement(modelEntity, Ontology.Name, new Literal(finishedAlgorithm.Name)));
     84    protected void StoreResults(HeuristicLab.Modeling.IAlgorithm finishedAlgorithm) {
     85      databaseService.Persist(finishedAlgorithm);
     86      //Entity modelEntity = new Entity(Ontology.CedmaNameSpace + Guid.NewGuid());
     87      //IModel model = finishedAlgorithm.Model;
     88      //List<Statement> statements = new List<Statement>();
     89      //statements.Add(new Statement(modelEntity, Ontology.InstanceOf, Ontology.TypeModel));
     90      //statements.Add(new Statement(modelEntity, Ontology.TargetVariable, new Literal(model.TargetVariable)));
     91      //statements.Add(new Statement(modelEntity, Ontology.Name, new Literal(finishedAlgorithm.Name)));
    9292     
    93       statements.Add(new Statement(modelEntity, Ontology.TrainingMeanSquaredError, new Literal(model.TrainingMeanSquaredError)));
    94       statements.Add(new Statement(modelEntity, Ontology.ValidationMeanSquaredError, new Literal(model.ValidationMeanSquaredError)));
    95       statements.Add(new Statement(modelEntity, Ontology.TestMeanSquaredError, new Literal(model.TestMeanSquaredError)));
    96       statements.Add(new Statement(modelEntity, Ontology.TrainingCoefficientOfDetermination, new Literal(model.TrainingCoefficientOfDetermination)));
    97       statements.Add(new Statement(modelEntity, Ontology.ValidationCoefficientOfDetermination, new Literal(model.ValidationCoefficientOfDetermination)));
    98       statements.Add(new Statement(modelEntity, Ontology.TestCoefficientOfDetermination, new Literal(model.TestCoefficientOfDetermination)));
    99       statements.Add(new Statement(modelEntity, Ontology.TrainingVarianceAccountedFor, new Literal(model.TrainingVarianceAccountedFor)));
    100       statements.Add(new Statement(modelEntity, Ontology.ValidationVarianceAccountedFor, new Literal(model.ValidationVarianceAccountedFor)));
    101       statements.Add(new Statement(modelEntity, Ontology.TestVarianceAccountedFor, new Literal(model.TestVarianceAccountedFor)));
    102       statements.Add(new Statement(modelEntity, Ontology.TrainingMeanAbsolutePercentageError, new Literal(model.TrainingMeanAbsolutePercentageError)));
    103       statements.Add(new Statement(modelEntity, Ontology.ValidationMeanAbsolutePercentageError, new Literal(model.ValidationMeanAbsolutePercentageError)));
    104       statements.Add(new Statement(modelEntity, Ontology.TestMeanAbsolutePercentageError, new Literal(model.TestMeanAbsolutePercentageError)));
    105       statements.Add(new Statement(modelEntity, Ontology.TrainingMeanAbsolutePercentageOfRangeError, new Literal(model.TrainingMeanAbsolutePercentageOfRangeError)));
    106       statements.Add(new Statement(modelEntity, Ontology.ValidationMeanAbsolutePercentageOfRangeError, new Literal(model.ValidationMeanAbsolutePercentageOfRangeError)));
    107       statements.Add(new Statement(modelEntity, Ontology.TestMeanAbsolutePercentageOfRangeError, new Literal(model.TestMeanAbsolutePercentageOfRangeError)));
     93      //statements.Add(new Statement(modelEntity, Ontology.TrainingMeanSquaredError, new Literal(model.TrainingMeanSquaredError)));
     94      //statements.Add(new Statement(modelEntity, Ontology.ValidationMeanSquaredError, new Literal(model.ValidationMeanSquaredError)));
     95      //statements.Add(new Statement(modelEntity, Ontology.TestMeanSquaredError, new Literal(model.TestMeanSquaredError)));
     96      //statements.Add(new Statement(modelEntity, Ontology.TrainingCoefficientOfDetermination, new Literal(model.TrainingCoefficientOfDetermination)));
     97      //statements.Add(new Statement(modelEntity, Ontology.ValidationCoefficientOfDetermination, new Literal(model.ValidationCoefficientOfDetermination)));
     98      //statements.Add(new Statement(modelEntity, Ontology.TestCoefficientOfDetermination, new Literal(model.TestCoefficientOfDetermination)));
     99      //statements.Add(new Statement(modelEntity, Ontology.TrainingVarianceAccountedFor, new Literal(model.TrainingVarianceAccountedFor)));
     100      //statements.Add(new Statement(modelEntity, Ontology.ValidationVarianceAccountedFor, new Literal(model.ValidationVarianceAccountedFor)));
     101      //statements.Add(new Statement(modelEntity, Ontology.TestVarianceAccountedFor, new Literal(model.TestVarianceAccountedFor)));
     102      //statements.Add(new Statement(modelEntity, Ontology.TrainingMeanAbsolutePercentageError, new Literal(model.TrainingMeanAbsolutePercentageError)));
     103      //statements.Add(new Statement(modelEntity, Ontology.ValidationMeanAbsolutePercentageError, new Literal(model.ValidationMeanAbsolutePercentageError)));
     104      //statements.Add(new Statement(modelEntity, Ontology.TestMeanAbsolutePercentageError, new Literal(model.TestMeanAbsolutePercentageError)));
     105      //statements.Add(new Statement(modelEntity, Ontology.TrainingMeanAbsolutePercentageOfRangeError, new Literal(model.TrainingMeanAbsolutePercentageOfRangeError)));
     106      //statements.Add(new Statement(modelEntity, Ontology.ValidationMeanAbsolutePercentageOfRangeError, new Literal(model.ValidationMeanAbsolutePercentageOfRangeError)));
     107      //statements.Add(new Statement(modelEntity, Ontology.TestMeanAbsolutePercentageOfRangeError, new Literal(model.TestMeanAbsolutePercentageOfRangeError)));
    108108
    109       for (int i = 0; i < finishedAlgorithm.Dataset.Columns; i++) {
    110         try {
    111           string variableName = finishedAlgorithm.Dataset.GetVariableName(i);
    112           double qualImpact = model.GetVariableQualityImpact(variableName);
    113           double evalImpact = model.GetVariableEvaluationImpact(variableName);
     109      //for (int i = 0; i < finishedAlgorithm.Dataset.Columns; i++) {
     110      //  try {
     111      //    string variableName = finishedAlgorithm.Dataset.GetVariableName(i);
     112      //    double qualImpact = model.GetVariableQualityImpact(variableName);
     113      //    double evalImpact = model.GetVariableEvaluationImpact(variableName);
    114114
    115           Entity inputVariableEntity = new Entity(Ontology.CedmaNameSpace + Guid.NewGuid());
    116           statements.Add(new Statement(inputVariableEntity, Ontology.InstanceOf, Ontology.TypeVariableImpact));
    117           statements.Add(new Statement(modelEntity, Ontology.HasInputVariable, inputVariableEntity));
    118           statements.Add(new Statement(inputVariableEntity, Ontology.EvaluationImpact, new Literal(evalImpact)));
    119           statements.Add(new Statement(inputVariableEntity, Ontology.QualityImpact, new Literal(qualImpact)));
    120           statements.Add(new Statement(inputVariableEntity, Ontology.Name, new Literal(variableName)));
    121         }
    122         catch (ArgumentException) {
    123           // ignore
    124         }
    125       }
     115      //    Entity inputVariableEntity = new Entity(Ontology.CedmaNameSpace + Guid.NewGuid());
     116      //    statements.Add(new Statement(inputVariableEntity, Ontology.InstanceOf, Ontology.TypeVariableImpact));
     117      //    statements.Add(new Statement(modelEntity, Ontology.HasInputVariable, inputVariableEntity));
     118      //    statements.Add(new Statement(inputVariableEntity, Ontology.EvaluationImpact, new Literal(evalImpact)));
     119      //    statements.Add(new Statement(inputVariableEntity, Ontology.QualityImpact, new Literal(qualImpact)));
     120      //    statements.Add(new Statement(inputVariableEntity, Ontology.Name, new Literal(variableName)));
     121      //  }
     122      //  catch (ArgumentException) {
     123      //    // ignore
     124      //  }
     125      //}
    126126
    127       byte[] serializedModel = PersistenceManager.SaveToGZip(model.Data);
    128       statements.Add(new Statement(modelEntity, Ontology.SerializedData, new Literal(Convert.ToBase64String(serializedModel))));
    129       store.AddRange(statements);
     127      //byte[] serializedModel = PersistenceManager.SaveToGZip(model.Data);
     128      //statements.Add(new Statement(modelEntity, Ontology.SerializedData, new Literal(Convert.ToBase64String(serializedModel))));
     129      //store.AddRange(statements);
    130130    }
    131131
Note: See TracChangeset for help on using the changeset viewer.