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

📄 fittestselector.java

📁 jooneDTE的源码
💻 JAVA
字号:
/* * FittestSelector.java * * Created on August 26, 2004, 3:47 PM */package org.joone.dte.selection;import org.joone.dte.*;import org.joone.dte.TaskListFactory;import java.util.*;/** * This selector selects the fittest 'num' neural networks, * i.e. those having the lowest training or validation RMSE. * @author  drmarpao */public class FittestSelector implements Selector {    private int numTasks = 0;    private boolean validation = false;    private TaskListFactory taskListFactory = null;        // Comparator used to sort the TaskList's array    private class taskComparator implements Comparator {        public int compare(Object obj1, Object obj2) {            TaskDescriptor td1 = (TaskDescriptor)obj1;            TaskDescriptor td2 = (TaskDescriptor)obj2;            double rmse1, rmse2;            if (!validation) {                rmse1 = td1.getTrainingRmse();                rmse2 = td2.getTrainingRmse();            }            else {                rmse1 = td1.getValidationRmse();                rmse2 = td2.getValidationRmse();            }            if (rmse1 > rmse2)                return 1;            if (rmse1 == rmse2)                return 0;            return -1;        }    }    /** Creates a new instance of FittestSelector */    public FittestSelector() {    }        public TaskListFactory execute(TaskListFactory tasks, int currentCycle) {        if ((numTasks <= 0) || (tasks == null))            return null;        tasks.initialize();        if (tasks.getTaskList() == null)            return null;        ArrayList tsk = tasks.getTaskList().getTasks();        if ((tsk == null) || (tsk.size() == 0))            return null;        Collections.sort(tsk, new taskComparator());        if (tsk.size() > numTasks) {            int n = tsk.size();            // Throws away the worse tasks            for (int i=numTasks; i < n; ++i) {                tsk.remove(numTasks);            }        }        if (taskListFactory == null)            taskListFactory = new TaskListFactory();        taskListFactory.setTaskList(tasks.getTaskList());        return taskListFactory;    }        /**     * Getter for property numTasks.     * @return Value of property numTasks.     */    public int getNumTasks() {        return numTasks;    }        /**     * Setter for property numTasks.     * @param numTasks New value of property numTasks.     */    public void setNumTasks(int numTasks) {        this.numTasks = numTasks;    }        /**     * Getter for property validation.     * @return Value of property validation.     */    public boolean isValidation() {        return validation;    }        /**     * Setter for property validation.     * @param validation = true if the selection must be based on the validation RMSE (default=false).     */    public void setValidation(boolean validation) {        this.validation = validation;    }        /**     * Getter for property taskListFactory.     * @return Value of property taskListFactory.     */    public TaskListFactory getTaskListFactory() {        return taskListFactory;    }        /**     * Setter for property taskListFactory.     * @param taskListFactory New value of property taskListFactory.     */    public void setTaskListFactory(TaskListFactory taskListFactory) {        this.taskListFactory = taskListFactory;    }    }

⌨️ 快捷键说明

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