Write Results to Indigo-DB
CLASS: DateTimeResults
/// <summary>
/// Date time.
/// </summary>
public DateTime Datetime { get; set; }
/// <summary>
/// Warning (depending on the threshold and probability).
/// </summary>
public bool Warning { get; set; }
/// <summary>
/// Probability (depending on the estimated and actual value(s)).
/// </summary>
public double Probability { get; set; }
/// <summary>
/// Multi-dimensional estimated output vector.
/// </summary>
public double[] OutputPointsEstimate { get; set; }
/// <summary>
/// Multi-dimensional output vector.
/// </summary>
public double[] OutputPoints { get; set; }
METHOD: Tranfer
public static void SaveResults(List<DateTimeResult> listDateTimeResults, TrainingPreferences preferences, Asset asset)
{
var token = GetToken();
List<string> channels = preferences.ParameterSettings.Where(x => x.Category == SignalCatgory.Output).Select(x => x.ParameterCode).ToList();
string timeContentName = preferences.Methodology.ToString() + "-" + preferences.Name;
var content = new TimedataContent(timeContentName);
foreach (var channel in channels)
content.Measurements.Add(new Measurement(channel + "-estimate", "-"));
foreach (var channel in channels)
content.Measurements.Add(new Measurement(channel + "-actual", "-"));
content.Measurements.Add(new Measurement("Probability", "%"));
content.Measurements.Add(new Measurement("Warning", "-"));
foreach (var result in listDateTimeResults)
{
double[] resultrecord = new double[result.OutputPointsEstimate.Length + result.OutputPoints.Length + 2];
for (int i = 0; i < result.OutputPointsEstimate.Length; i++)
resultrecord[i] = result.OutputPointsEstimate[i];
for (int i = 0; i < result.OutputPoints.Length; i++)
resultrecord[result.OutputPointsEstimate.Length + i] = result.OutputPoints[i];
resultrecord[result.OutputPointsEstimate.Length + result.OutputPoints.Length] = result.Probability;
resultrecord[result.OutputPointsEstimate.Length + result.OutputPoints.Length + 1] = result.Warning ? 1 : 0;
content.AppendDataset(result.Datetime, resultrecord);
}
var handler = new tk_MinCloudDatapublish.tkMinDatapublish(_applicationaccesskey);
handler.UploadData(token, asset.Name, content).Wait();
}
Last updated
Was this helpful?