1 #ifndef NEURALNETDATASET_H
2 #define NEURALNETDATASET_H
4 #include "NeuralNetConfig.h"
13 class NeuralNetDataSet;
31 void addDataItem(
const std::vector<double> &inputData,
const std::vector<double> &targetOutput);
32 void getNormalisationData(std::vector<double> &inputNormalisationDataMeans,
33 std::vector<double> &targetNormalisationDataOffsets,
34 std::vector<double> &inputNormalisationDataVariances,
35 std::vector<double> &targetNormalisationDataRanges,
36 std::vector<double> &inputNormalisationDataOffsets,
37 std::vector<double> &inputNormalisationDataRanges)
const;
38 void getDataItem(
const int item,std::vector<double> &inputData,std::vector<double> &targetData)
const;
39 int numberOfDataItems()
const {
return (
int)_theData.size(); }
40 void setSerialisationPrecision(
const int precision) {_outputPrecision = precision;}
43 void initialiseFromFile(
const std::string &fileName);
46 typedef std::pair<std::vector<double>,std::vector<double> > DataSetItem;
48 std::vector<DataSetItem> _theData;
49 std::vector<double>::size_type _inputDataSize;
50 std::vector<double>::size_type _targetDataSize;
51 mutable std::vector<double> runningInputSum;
52 mutable std::vector<double> runningInputSumSqr;
53 mutable std::vector<double> runningTargetMin;
54 mutable std::vector<double> runningTargetRange;
55 mutable std::vector<double> runningInputMin;
56 mutable std::vector<double> runningInputRange;
57 mutable bool _changed;