Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/07/09 11:58:21 (15 years ago)
Author:
gkronber
Message:

Updated LibSVM project to latest version. #774

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.SupportVectorMachines/3.2/Predictor.cs

    r2414 r2415  
    7979      Problem p = SVMHelper.CreateSVMProblem(input, input.GetVariableIndex(targetVariable), newIndex,
    8080        start, end, minTimeOffset, maxTimeOffset);
    81       Problem scaledProblem = SVM.Scaling.Scale(p, transform);
     81      Problem scaledProblem = transform.Scale(p);
    8282
    8383      int targetVariableIndex = input.GetVariableIndex(targetVariable);
     
    155155      }
    156156    }
     157
     158    public static void Export(Predictor p, Stream s) {
     159      StreamWriter writer = new StreamWriter(s);
     160      writer.Write("Targetvariable: "); writer.WriteLine(p.targetVariable);
     161      writer.Write("LowerPredictionLimit: "); writer.WriteLine(p.LowerPredictionLimit.ToString());
     162      writer.Write("UpperPredictionLimit: "); writer.WriteLine(p.UpperPredictionLimit.ToString());
     163      writer.Write("MaxTimeOffset: "); writer.WriteLine(p.MaxTimeOffset.ToString());
     164      writer.Write("MinTimeOffset: "); writer.WriteLine(p.MinTimeOffset.ToString());
     165      writer.Write("InputVariables :");
     166      writer.Write(p.GetInputVariables().First());
     167      foreach (string variable in p.GetInputVariables().Skip(1)) {
     168        writer.Write("; "); writer.Write(variable);
     169      }
     170      writer.WriteLine();
     171      writer.Flush();
     172      using (MemoryStream memStream = new MemoryStream()) {
     173        SVMModel.Export(p.Model, memStream);
     174        memStream.WriteTo(s);
     175      }
     176    }
     177
     178    public static Predictor Import(Stream s) {
     179      Predictor p = new Predictor();
     180      StreamReader reader = new StreamReader(s);
     181      string[] targetVariableLine = reader.ReadLine().Split(':');
     182      string[] lowerPredictionLimitLine = reader.ReadLine().Split(':');
     183      string[] upperPredictionLimitLine = reader.ReadLine().Split(':');
     184      string[] maxTimeOffsetLine = reader.ReadLine().Split(':');
     185      string[] minTimeOffsetLine = reader.ReadLine().Split(':');
     186      string[] inputVariableLine = reader.ReadLine().Split(':', ';');
     187
     188      p.targetVariable = targetVariableLine[1].Trim();
     189      p.LowerPredictionLimit = double.Parse(lowerPredictionLimitLine[1]);
     190      p.UpperPredictionLimit = double.Parse(upperPredictionLimitLine[1]);
     191      p.maxTimeOffset = int.Parse(maxTimeOffsetLine[1]);
     192      p.minTimeOffset = int.Parse(minTimeOffsetLine[1]);
     193      int i = 1;
     194      foreach (string inputVariable in inputVariableLine.Skip(1)) {
     195        p.variableNames[inputVariable.Trim()] = i++;
     196      }
     197      p.svmModel = SVMModel.Import(s);
     198      return p;
     199    }
    157200  }
    158201}
Note: See TracChangeset for help on using the changeset viewer.