/// <summary> /// Analyze the data. This counts the records and prepares the data to be /// processed. /// </summary> /// <param name="theAnalyst">The analyst to use.</param> /// <param name="inputFile">The input file.</param> /// <param name="headers">True if headers are present.</param> /// <param name="format">The format the file is in.</param> public void Analyze(EncogAnalyst theAnalyst, FileInfo inputFile, bool headers, CSVFormat format) { InputFilename = inputFile; ExpectInputHeaders = headers; Format = format; _analyst = theAnalyst; Analyzed = true; PerformBasicCounts(); _inputCount = _analyst.DetermineInputCount(); _outputCount = _analyst.DetermineOutputCount(); _idealCount = InputHeadings.Length - _inputCount; if ((InputHeadings.Length != _inputCount) && (InputHeadings.Length != (_inputCount + _outputCount))) { throw new AnalystError("Invalid number of columns(" + InputHeadings.Length + "), must match input(" + _inputCount + ") count or input+output(" + (_inputCount + _outputCount) + ") count."); } }
/// <summary> /// Construct the time-series utility. /// </summary> /// <param name="theAnalyst">The analyst to use.</param> /// <param name="includeOutput">Should output fields be included.</param> /// <param name="headings">The column headings.</param> public TimeSeriesUtil(EncogAnalyst theAnalyst, bool includeOutput, IEnumerable <string> headings) { _buffer = new List <double[]>(); _headingMap = new Dictionary <String, Int32>(); _analyst = theAnalyst; _lagDepth = _analyst.LagDepth; _leadDepth = _analyst.LeadDepth; _totalDepth = _lagDepth + _leadDepth + 1; _inputSize = includeOutput ? _analyst.DetermineTotalColumns() : _analyst.DetermineTotalInputFieldCount(); _outputSize = _analyst.DetermineInputCount() + _analyst.DetermineOutputCount(); int headingIndex = 0; foreach (String column in headings) { _headingMap[column.ToUpper()] = headingIndex++; } }
/// <summary> /// Construct the time-series utility. /// </summary> /// <param name="theAnalyst">The analyst to use.</param> /// <param name="includeOutput">Should output fields be included.</param> /// <param name="headings">The column headings.</param> public TimeSeriesUtil(EncogAnalyst theAnalyst, bool includeOutput, IEnumerable<string> headings) { _buffer = new List<double[]>(); _headingMap = new Dictionary<String, Int32>(); _analyst = theAnalyst; _lagDepth = _analyst.LagDepth; _leadDepth = _analyst.LeadDepth; _totalDepth = _lagDepth + _leadDepth + 1; _inputSize = includeOutput ? _analyst.DetermineTotalColumns() : _analyst.DetermineTotalInputFieldCount(); _outputSize = _analyst.DetermineInputCount() + _analyst.DetermineOutputCount(); int headingIndex = 0; foreach (String column in headings) { _headingMap[column.ToUpper()] = headingIndex++; } }