dist/winnow/WinnowHash.js
function(dataset) {
//			var normalized_inputs = [];
			for (var i=0; i<dataset.length; ++i)
				this.editFeatureValues(dataset[i].input, /*remove_unknown_features=*/false);
//				normalized_inputs[i] = this.normalized_features(dataset[i].input, /*remove_unknown_features=*/false);
	
			for (var r=0; r<=this.retrain_count; ++r)
				for (var i=0; i<dataset.length; ++i) 
					this.train_features(dataset[i].input, dataset[i].output);
		}
function(dataset) {
//			var normalized_inputs = [];
			for (var i=0; i<dataset.length; ++i)
				this.editFeatureValues(dataset[i].input, /*remove_unknown_features=*/false);
//				normalized_inputs[i] = this.normalized_features(dataset[i].input, /*remove_unknown_features=*/false);
	
			for (var r=0; r<=this.retrain_count; ++r)
				for (var i=0; i<dataset.length; ++i) 
					this.train_features(dataset[i].input, dataset[i].output);
		}
Batch training (a set of samples). Uses the option this.retrain_count.

@param dataset an array of samples of the form {input: {feature1: value1...} , output: 0/1}