001    /*

002     * JNI_SVM-light - A Java Native Interface for SVM-light

003     * 

004     * Copyright (C) 2005 

005     * Tom Crecelius & Martin Theobald 

006     * Max-Planck Institute for Computer Science

007     * 

008     * This program is free software; you can redistribute it and/or modify it under

009     * the terms of the GNU General Public License as published by the Free Software

010     * Foundation.

011     * 

012     * This program is distributed in the hope that it will be useful, but WITHOUT

013     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

014     * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

015     * details.

016     * 

017     * You should have received a copy of the GNU General Public License along with

018     * this program; if not, write to the Free Software Foundation, Inc., 51

019     * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

020     */

021    

022    package jnisvmlight;

023    

024    /**

025     * The TrainingParameters object combines the KernelParm and LearnParam objects.

026     * 

027     * @author Tom Crecelius & Martin Theobald

028     */

029    public class TrainingParameters {

030    

031      private KernelParam m_kp;

032    

033      private LearnParam m_lp;

034    

035      /**

036       * Initializes the training parameters with the default values for the kernel

037       * and the learning parameters.

038       */

039      public TrainingParameters() {

040        this(new LearnParam(), new KernelParam());

041      }

042    

043      /**

044       * Initializes the training parameters with customized values for the kernel

045       * and the learning parameters.

046       */

047      public TrainingParameters(LearnParam lp, KernelParam kp) {

048        m_lp = lp;

049        m_kp = kp;

050      }

051    

052      public LearnParam getLearningParameters() {

053        return m_lp;

054      }

055    

056      public KernelParam getKernelParameters() {

057        return m_kp;

058      }

059    

060      public void setLearningParameters(LearnParam lp) {

061        this.m_lp = lp;

062      }

063    

064      public void setKernelParameters(KernelParam kp) {

065        this.m_kp = kp;

066      }

067    

068      public TrainingParameters(String[] argv) {

069        this();

070        m_lp.argc = argv.length;

071        if (argv.length > 1 && (argv.length % 2) == 0) {

072          m_lp.argv = argv;

073        } else {

074          System.err.println("Wrong number of arguments!");

075        }

076      }

077    }