Hauptseite   Packages   Klassenhierarchie   ?bersicht   Auflistung der Dateien   Datenstruktur-Elemente  

EM.java

gehe zur Dokumentation dieser Datei
00001 /*
00002  * $Source: /shared/cvsroot/diplom/app/src/java/de/picana/clusterer/EM.java,v $
00003  * $Author: mstolpe $
00004  * $Date: 2003/04/22 09:51:27 $
00005  * $Revision: 1.6 $
00006  * $Release$ 
00007  *
00008  * Created on 28. Oktober 2002, 17:33
00009  *
00010  * Copyright 2002 by Marco Stolpe
00011  */
00012 
00013 package de.picana.clusterer;
00014 
00015 import de.picana.control.*;
00016 import de.picana.logging.*;
00017 
00018 import weka.core.*;
00019 import java.io.*;
00020 
00021 
00028 public class EM extends Clusterer {
00029     
00030     private weka.clusterers.EM algo;
00031     private int max_iterations;
00032     private long time_total;
00033 
00034     
00036     public EM() {
00037     }
00038 
00039     public void init(ParameterSet params, Logger logger) {
00040         
00041         super.init(params, logger);      
00042         
00043         max_iterations = -1;
00044         try {
00045             max_iterations = Integer.parseInt((String)params.getParameter("max_iterations"));
00046         } catch (NumberFormatException nfe) {}
00047     }
00048     
00049     public void buildClusterer(Instances set) throws TaskException {
00050     
00051         try {
00052             statwriter.println("algo_clusterer_name:EM");
00053             statwriter.println("algo_clusterer_training_set:" + infile);
00054             
00055             algo = new weka.clusterers.EM();
00056             algo.setNumClusters(num_clusters);
00057             if (max_iterations != -1) {
00058                 algo.setMaxIterations(max_iterations);
00059                 statwriter.println("algo_clusterer_maxiter:" + max_iterations);
00060             }
00061             time_total = System.currentTimeMillis();
00062             algo.buildClusterer(set);
00063             time_total = System.currentTimeMillis() - time_total;
00064             statwriter.println("time_clusterer_total:" + time_total);
00065         } catch (Exception e) {
00066             throw new TaskException(e.toString());
00067         }
00068     }
00069     
00070     public void saveModel(String filename) throws TaskException {
00071     
00072         try {
00073             File model = new File(filename);
00074             FileOutputStream fos = new FileOutputStream(model);
00075             ObjectOutputStream out = new ObjectOutputStream(fos);
00076             
00077             out.writeInt(algo.numberOfClusters());
00078             out.writeObject(algo);
00079             out.close();
00080             
00081         } catch (Exception e) {
00082             throw new TaskException(e.toString());
00083         }
00084     }
00085 }

Erzeugt am Tue Apr 22 11:22:55 2003 f?r Picana von doxygen1.2.18