function modelStringToModelMap(modelString) {
	var matches = SVM_PERF_MODEL_PATTERN.exec(modelString);
	if (!matches) {
		console.log(modelString);
		throw new Error("Model does not match SVM-perf format");
	};
	//var threshold = parseFloat(matches[1]);  // not needed - we use our own bias
	var featuresAndWeights = matches[2].split(" ");
	var mapFeatureToWeight = {};
	//mapFeatureToWeight.threshold = threshold; // not needed - we use our own bias

	//String alphaTimesY = featuresAndWeights[0]; // always 1 in svmperf
	for (var i=1; i<featuresAndWeights.length; ++i) {
		var featureAndWeight = featuresAndWeights[i];
		var featureWeight = featureAndWeight.split(":");
		if (featureWeight.length!=2)
			throw new Error("Model featureAndWeight doesn't match svm-perf pattern: featureAndWeight="+featureAndWeight);
		var feature = parseInt(featureWeight[0]);
		if (feature<=0)
			throw new IllegalArgumentException("Non-positive feature id: featureAndWeight="+featureAndWeight);
		var weight = parseFloat(featureWeight[1]);
		if (Math.abs(weight)>=MIN_WEIGHT)
			mapFeatureToWeight[feature-FIRST_FEATURE_NUMBER]=weight;   // start feature values from 0.
			// Note: if there is bias, then mapFeatureToWeight[0] is its weight.
	}
	return mapFeatureToWeight;
}
function modelStringToModelMap(modelString) {
	var matches = SVM_PERF_MODEL_PATTERN.exec(modelString);
	if (!matches) {
		console.log(modelString);
		throw new Error("Model does not match SVM-perf format");
	};
	//var threshold = parseFloat(matches[1]);  // not needed - we use our own bias
	var featuresAndWeights = matches[2].split(" ");
	var mapFeatureToWeight = {};
	//mapFeatureToWeight.threshold = threshold; // not needed - we use our own bias

	//String alphaTimesY = featuresAndWeights[0]; // always 1 in svmperf
	for (var i=1; i<featuresAndWeights.length; ++i) {
		var featureAndWeight = featuresAndWeights[i];
		var featureWeight = featureAndWeight.split(":");
		if (featureWeight.length!=2)
			throw new Error("Model featureAndWeight doesn't match svm-perf pattern: featureAndWeight="+featureAndWeight);
		var feature = parseInt(featureWeight[0]);
		if (feature<=0)
			throw new IllegalArgumentException("Non-positive feature id: featureAndWeight="+featureAndWeight);
		var weight = parseFloat(featureWeight[1]);
		if (Math.abs(weight)>=MIN_WEIGHT)
			mapFeatureToWeight[feature-FIRST_FEATURE_NUMBER]=weight;   // start feature values from 0.
			// Note: if there is bias, then mapFeatureToWeight[0] is its weight.
	}
	return mapFeatureToWeight;
}
function modelStringToModelMap ( modelString ) { var matches = SVM_PERF_MODEL_PATTERN . exec ( modelString ) ; if ( ! matches ) { console . log ( modelString ) ; throw new Error ( "Model does not match SVM-perf format" ) ; } ; //var threshold = parseFloat(matches[1]);  // not needed - we use our own bias var featuresAndWeights = matches [ 2 ] . split ( " " ) ; var mapFeatureToWeight = { } ; //mapFeatureToWeight.threshold = threshold; // not needed - we use our own bias //String alphaTimesY = featuresAndWeights[0]; // always 1 in svmperf for ( var i = 1 ; i < featuresAndWeights . length ; ++ i ) { var featureAndWeight = featuresAndWeights [ i ] ; var featureWeight = featureAndWeight . split ( ":" ) ; if ( featureWeight . length != 2 ) throw new Error ( "Model featureAndWeight doesn't match svm-perf pattern: featureAndWeight=" + featureAndWeight ) ; var feature = parseInt ( featureWeight [ 0 ] ) ; if ( feature <= 0 ) throw new IllegalArgumentException ( "Non-positive feature id: featureAndWeight=" + featureAndWeight ) ; var weight = parseFloat ( featureWeight [ 1 ] ) ; if ( Math . abs ( weight ) >= MIN_WEIGHT ) mapFeatureToWeight [ feature - FIRST_FEATURE_NUMBER ] = weight ; // start feature values from 0. // Note: if there is bias, then mapFeatureToWeight[0] is its weight. } return mapFeatureToWeight ; }
weights smaller than this are ignored, to save space 
A utility that converts a model in the SVMPerf format to a map of feature weights.
@param modelString a string.
@returns a map.
weights smaller than this are ignored to save space A utility that converts a model in the SVMPerf format to a map of feature weights .