All Downloads are FREE. Search and download functionalities are using the official Maven repository.

moa.classifiers.rules.Predicates Maven / Gradle / Ivy

Go to download

Massive On-line Analysis is an environment for massive data mining. MOA provides a framework for data stream mining and includes tools for evaluation and a collection of machine learning algorithms. Related to the WEKA project, also written in Java, while scaling to more demanding problems.

There is a newer version: 2024.07.0
Show newest version
/*
 *    Predicates.java
 *    Copyright (C) 2012 University of Porto, Portugal
 *    @author P. Kosina, E. Almeida, J. Gama
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 *    
 *    
 */


package moa.classifiers.rules;

/**
 * Class that creates and evaluates the predicates
 * 
 * 

Learning Decision Rules from Data Streams, IJCAI 2011, J. Gama, P. Kosina

* * @author P. Kosina, E. Almeida, J. Gama * @version $Revision: 2 $ * */ import moa.AbstractMOAObject; import com.yahoo.labs.samoa.instances.Instance; public class Predicates extends AbstractMOAObject{ private static final long serialVersionUID = 1L; private double attributeValue; private double symbol; private double value; public Predicates(double attribVal, double symb,double val){ this.attributeValue = attribVal; this.symbol = symb; this.value = val; } public double getAttributeValue() { return this.attributeValue; } public double getSymbol() { return this.symbol; } public double getValue() { return this.value; } public void setAttributeValue(double attributeValue) { this.attributeValue = attributeValue; } public void setSymbol(double symbol) { this.symbol = symbol; } public void setValue(double value) { this.value = value; } public boolean evaluate(Instance inst) { boolean result = false; double attributeValue = inst.value((int) this.attributeValue); if (this.symbol == 0.0 && attributeValue == this.value) { result = true; } else if (this.symbol == -1.0 && attributeValue <= this.value) { result = true; } else if (this.symbol == 1.0 && attributeValue > this.value) { result = true; } return result; } @Override public void getDescription(StringBuilder sb, int indent) { // TODO Auto-generated method stub } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy