public DataExtremumsForNetwork Clone() { var extremums = new DataExtremumsForNetwork(); for (int i = 0; i < InputExtremums.Count; i++) { extremums.InputExtremums.Add(InputExtremums[i].Clone()); } for (int i = 0; i < OutputExtremums.Count; i++) { extremums.OutputExtremums.Add(OutputExtremums[i].Clone()); } return(extremums); }
public static DataExtremumsForNetwork Merge(DataExtremumsForNetwork x, DataExtremumsForNetwork y) { var ret = new DataExtremumsForNetwork(); for (int i = 0; i < x.InputExtremums.Count; i++) { ret.InputExtremums.Add(DataExtremum.Merge(x.InputExtremums[i], y.InputExtremums[i])); } for (int i = 0; i < x.OutputExtremums.Count; i++) { ret.OutputExtremums.Add(DataExtremum.Merge(x.OutputExtremums[i], y.OutputExtremums[i])); } return(ret); }
public void Normalize(double minTo, double maxTo, DataExtremumsForNetwork extremumus = null) { if (extremumus == null) { extremumus = Extremums; } var n = patterns.First().Input.Count; for (int i = 0; i < n; i++) { Extremums.InputExtremums[i].Normalizor = new Normalizor( extremumus.InputExtremums[i].MinValue, extremumus.InputExtremums[i].MaxValue, minTo, maxTo); } n = patterns.First().IdealOutput.Count; for (int i = 0; i < n; i++) { Extremums.OutputExtremums[i].Normalizor = new Normalizor( extremumus.OutputExtremums[i].MinValue, extremumus.OutputExtremums[i].MaxValue, minTo, maxTo); } foreach (Pattern p in patterns) { for (int i = 0; i < p.Input.Count; i++) { p.Input[i] = Extremums.InputExtremums[i].Normalizor.Normalize(p.Input[i]); } for (int i = 0; i < p.IdealOutput.Count; i++) { p.IdealOutput[i] = Extremums.OutputExtremums[i].Normalizor.Normalize(p.IdealOutput[i]); } } }
protected int startTime; // starting time index. Needed for continuity between train and test sets public DataSet(int startTime) { Extremums = new DataExtremumsForNetwork(); this.startTime = startTime; }