Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  streams library
   *
   *  Copyright (C) 2011-2012 by Christian Bockermann, Hendrik Blom
   * 
   *  streams is a library, API and runtime environment for processing high
   *  volume data streams. It is composed of three submodules "stream-api",
   *  "stream-core" and "stream-runtime".
   *
  *  The streams library (and its submodules) is free software: you can 
  *  redistribute it and/or modify it under the terms of the 
  *  GNU Affero General Public License as published by the Free Software 
  *  Foundation, either version 3 of the License, or (at your option) any 
  *  later version.
  *
  *  The stream.ai library (and its submodules) is distributed in the hope
  *  that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 
  *  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU Affero General Public License for more details.
  *
  *  You should have received a copy of the GNU Affero General Public License
  *  along with this program.  If not, see http://www.gnu.org/licenses/.
  */
 package stream.data;
 
 
 import stream.Data;
This class implements a simple strategy to map labels to { -1, +1 }

Author(s):
chris@jwall.org
 
 @Description(group = "Data Stream.Processing.Transformations.Data")
 public class BinaryLabels extends AbstractProcessor {
 
 	String positive = null;
 	Double threshold = null;
 
 	public BinaryLabels() {
 		this(nullnull);
 	}
 
 	public BinaryLabels(String label) {
 		this(labelnull);
 	}
 
 	public BinaryLabels(String labelString positive) {
 		this. = label;
 		this. = positive;
 	}

Returns:
the threshold
 
 	public Double getThreshold() {
 		return ;
 	}

Parameters:
threshold the threshold to set
 
 	public void setThreshold(Double threshold) {
 		this. = threshold;
 	}

Returns:
the key
 
 	public String getLabel() {
 		return ;
 	}

Parameters:
key the key to set
 
 	public void setLabel(String key) {
 		this. = key;
 	}

Returns:
the positive
 
 	public String getPositive() {
 		return ;
 	}

Parameters:
positive the positive to set
 
 	public void setPositive(String positive) {
		this. = positive;
	}
	public Data process(Data data) {
		if ( == null) {
			for (String k : data.keySet()) {
				if (k.startsWith("@label")) {
					break;
				}
			}
		}
		if ( == null)
			return data;
		if (val == null)
			return data;
		if (val instanceof Double) {
			//
			// handle numerical values by threshold
			//
			if ( == null)
				 = 0.0d;
			Double d = (Doubleval;
			if (d < ) {
				data.put(, -1.0d);
else
				data.put(, 1.0d);
			return data;
else {
			//
			// handle nominal values by checking against the
			// defined positive value.
			//
			if ( == null)
				 = val.toString();
			if (.equals(val))
				data.put(, 1.0d);
			else
				data.put(, -1.0d);
			return data;
		}
	}
New to GrepCode? Check out our FAQ X