AIMA.Core.Learning.Neural.NNDataSet.normalize C# (CSharp) Метод

normalize() приватный Метод

private normalize ( List rds ) : List>
rds List
Результат List>
        private List<List<Double>> normalize(List<List<Double>> rds) {
		int rawDataLength = rds[0].Count;
		List<List<Double>> nds = new List<List<Double>>();

		means = new List<Double>();
		stdevs = new List<Double>();

		List<List<Double>> normalizedColumns = new List<List<Double>>();
		// clculate means for each coponent of example data
		for (int i = 0; i < rawDataLength; i++) {
			List<Double> columnValues = new List<Double>();
			foreach (List<Double> rawDatum in rds) {
				columnValues.Add(rawDatum[i]);
			}
			double mean = Util.calculateMean(columnValues);
			means.Add(mean);

			double stdev = Util.calculateStDev(columnValues, mean);
			stdevs.Add(stdev);

			normalizedColumns.Add(Util.normalizeFromMeanAndStdev(columnValues,
					mean, stdev));

		}
		// re arrange data from columns
		// TODO Assert normalized columns have same size etc

		int columnLength = normalizedColumns[0].Count;
		int numberOfColumns = normalizedColumns.Count;
		for (int i = 0; i < columnLength; i++) {
			List<Double> lst = new List<Double>();
			for (int j = 0; j < numberOfColumns; j++) {
				lst.Add(normalizedColumns[j][i]);
			}
			nds.Add(lst);
		}
		return nds;
	}