private void InitStock(List <int> layersVal, float trainSetPercentage) { int trainSetEndIndex = (int)(trainSetPercentage * eid.CsvLines.Count); List <DenseVector> allInputs = eid.CsvLines.Select(v => v.CreateSubVector(0, eid.InputCount)).ToList(); List <DenseVector> allOutputs = eid.CsvLines.Select(v => v.CreateSubVector(eid.InputCount, eid.OutputCount)).ToList(); trainSet = new StockDataSet(allInputs.ExtractList(0, trainSetEndIndex), allOutputs.ExtractList(0, trainSetEndIndex), 0); if (trainSetEndIndex >= allInputs.Count - 1) { testSet = trainSet.Clone(); } else { testSet = new StockDataSet(allInputs.ExtractList(trainSetEndIndex, eid.CsvLines.Count), allOutputs.ExtractList(trainSetEndIndex, eid.CsvLines.Count), trainSetEndIndex); } }
private void InitCTS(List <int> layersVal, float trainSetPercentage) { int historyLength = 1; // always historyLength = 1 int trainSetEndIndex = (int)(trainSetPercentage * eid.CsvLines.Count); List <DenseVector> chaoticValues = eid.CsvLines; // no need for further parsing List <DenseVector> trainValues = chaoticValues.ExtractList(0, trainSetEndIndex); trainSet = new ChaoticDataSet(trainValues, historyLength, 0); if (trainSetEndIndex >= chaoticValues.Count - 1) { testSet = trainSet.Clone(); } else { List <DenseVector> testValues = chaoticValues.ExtractList(trainSetEndIndex - 1, chaoticValues.Count); testSet = new ChaoticDataSet(testValues, historyLength, trainSetEndIndex); } }