/// <summary> /// Packing input data for series /// </summary> /// <param name="inputData">Data as numpy array</param> /// <param name="metadata">Model metadata</param> /// <returns>Packed data</returns> public static List <List <double> > PackInputDataForSeries(IEnumerable <IEnumerable <double> > inputData, BlackFoxMetadata metadata) { DataPadding padding = GetSeriesPadding(metadata); List <List <double> > xData = new List <List <double> >();; int rowsCount = inputData.Count() - padding.Right; for (int i = padding.Left; i < rowsCount; i += metadata.OutputSampleStep) { List <double> xRow = GetInputRow(inputData, metadata, i, metadata.InputShifts.Length); xData.Add(xRow); } return(xData); }
/// <summary> /// Packing output data for series /// </summary> /// <param name="output_data">Data as numpy array</param> /// <param name="metadata">Model metadata</param> /// <returns>Packed data</returns> public static List <List <double> > PackOutputDataForSeries(double[][] output_data, BlackFoxMetadata metadata) { int outputCount = metadata.OutputShifts.Length; int sampleStep = metadata.OutputSampleStep; DataPadding padding = GetSeriesPadding(metadata); List <List <double> > yData = new List <List <double> >(); int rowsCount = output_data.Length - padding.Right; for (int i = padding.Left; i < rowsCount; i += sampleStep) { List <double> yRow = GetOutputRow(output_data, metadata, i, outputCount, 0); yData.Add(yRow); } return(yData); }
/// <summary> /// Packing input and output data for series /// </summary> /// <param name="data"></param> /// <param name="metadata"></param> /// <returns>Packed data</returns> public static PackedData PackDataForSeries(double[][] data, BlackFoxMetadata metadata) { int inputCount = metadata.InputShifts.Length; int outputCount = metadata.OutputShifts.Length; int sample_step = metadata.OutputSampleStep; DataPadding padding = GetSeriesPadding(metadata); List <List <double> > xData = new List <List <double> >(); List <List <double> > yData = new List <List <double> >(); int rows_count = data.Length - padding.Right; for (int i = padding.Left; i < rows_count; i += sample_step) { List <double> xRow = GetInputRow(data, metadata, i, inputCount); xData.Add(xRow); List <double> yRow = GetOutputRow(data, metadata, i, outputCount, inputCount); yData.Add(yRow); } return(new PackedData(xData, yData)); }