[Home] DMelt member access. Java source code: medusa.georgios.enhanced_mcl.DefaultDataset
/**
* This file is part of the Java Machine Learning Library
*
* The Java Machine Learning Library is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The Java Machine Learning Library 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the Java Machine Learning Library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Copyright (c) 2006-2008, Thomas Abeel
*
* Project: http://java-ml.sourceforge.net/
*
*/
package medusa.georgios.enhanced_mcl;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.Vector;
/**
* Provides a standard data set implementation.
*
* {@jmlSource}
*
* @see Dataset
*
* @version 0.1.1
*
* @author Thomas Abeel
*
*/
public class DefaultDataset extends Vector implements Dataset {
private int maxAttributes = 0;
public DefaultDataset(Collection coll) {
this.addAll(coll);
}
public DefaultDataset() {
// nothing to do.
}
private void check(Collection extends Instance> c) {
for (Instance i : c)
check(i);
}
private void check(Instance i) {
if (i.classValue() != null)
classes.add(i.classValue());
if (i.noAttributes() > maxAttributes)
maxAttributes = i.noAttributes();
}
@Override
public synchronized boolean addAll(Collection extends Instance> c) {
check(c);
return super.addAll(c);
}
@Override
public synchronized boolean addAll(int index, Collection extends Instance> c) {
check(c);
return super.addAll(index, c);
}
private static final long serialVersionUID = 8586030444860912681L;
private TreeSet