⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 examplesetiterator.java

📁 著名的开源仿真软件yale
💻 JAVA
字号:
/* *  YALE - Yet Another Learning Environment *  Copyright (C) 2002, 2003 *      Simon Fischer, Ralf Klinkenberg, Ingo Mierswa,  *          Katharina Morik, Oliver Ritthoff *      Artificial Intelligence Unit *      Computer Science Department *      University of Dortmund *      44221 Dortmund,  Germany *  email: yale@ls8.cs.uni-dortmund.de *  web:   http://yale.cs.uni-dortmund.de/ * *  This program 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.  * *  This program 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 this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *  USA. */package edu.udo.cs.yale.operator;import edu.udo.cs.yale.tools.LogService;import edu.udo.cs.yale.tools.ResultService;import edu.udo.cs.yale.example.ExampleSet;import edu.udo.cs.yale.operator.learner.Model;import java.util.*;/** For each example set the ExampleSetIteraor finds in its input, the inner operators are  *  applied as if it was a {@link SimpleOperatorChain}. This operator can be used to conduct *  an experiment consecutively on a number of different data sets. * *  @yale.xmlclass ExampleSetIterator *  @author ingo *  @version $Id: ExampleSetIterator.java,v 2.4 2003/08/07 15:10:15 fischer Exp $ */public class ExampleSetIterator extends OperatorChain {    private List eSetList;    /** Returns the maximum number of innner operators. */    public int getMaxNumberOfInnerOperators() { return 1; }    /** Returns the minimum number of innner operators. */    public int getMinNumberOfInnerOperators() { return 1; }    public Class[] getOutputClasses() { return new Class[0]; }    public Class[] getInputClasses() { return new Class[0]; }    private Operator getExperimentOperator() { return getOperator(0); }    public IOObject[] apply() throws OperatorException {	LogService.logMessage(getName() + ": Starts iteration over example sets", LogService.TASK);	eSetList = new LinkedList();	IOObject eSet = null;	while((eSet = getInput(ExampleSet.class)) != null) eSetList.add(eSet);	Iterator i = eSetList.iterator();	while (i.hasNext()) {	    getExperimentOperator().apply(getInput().copy().append(new IOObject[] { (IOObject)i.next() }));	}	return new IOObject[0];    }        /** Returns true if and only if all inner operators accept their precessors' ouput     *  as input. */    public Class[] checkIO(Class[] input) throws IllegalInputException {	for (int i = 0; i < getNumberOfOperators(); i++) {	    Operator o = getOperator(i);	    input = o.checkIO(new Class[] { ExampleSet.class });	}	return new Class[0];    }    public int getNumberOfSteps() {	return 	    (eSetList == null) ? 	    1 :	    eSetList.size()*getNumberOfChildrensSteps() + 1;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -