source: src/main/java/weka/clusterers/SimpleClusterer.java @ 11

Last change on this file since 11 was 11, checked in by gnappo, 14 years ago

Un po' di refactoring e implementazione dell'algoritmo di raffinamento.

File size: 1.5 KB
Line 
1package weka.clusterers;
2
3
4import weka.clusterers.forMetisMQI.GraphAlgorithms;
5import weka.clusterers.forMetisMQI.graph.UndirectedGraph;
6import weka.core.Capabilities;
7import weka.core.Instance;
8import weka.core.Instances;
9import weka.core.Capabilities.Capability;
10
11public class SimpleClusterer extends AbstractClusterer {
12
13        private int numberOfClusters = 0;
14
15        /**
16         *
17         */
18        private static final long serialVersionUID = 1L;
19
20        @Override
21        public void buildClusterer(Instances data) throws Exception {
22                getCapabilities().testWithFail(data);
23               
24                UndirectedGraph g = new UndirectedGraph();
25                g.loadFromInstance(data);
26                GraphAlgorithms ga = new GraphAlgorithms();
27                ga.METIS(g);
28                numberOfClusters = 1;
29        }
30
31        @Override
32        public int clusterInstance(Instance instance) throws Exception {
33                return 0;
34        }
35
36        @Override
37        public double[] distributionForInstance(Instance instance) 
38        throws Exception {
39                double[] d = new double[numberOfClusters()];
40                d[clusterInstance(instance)] = 1.0;
41                return d;
42        }
43
44        @Override
45        public Capabilities getCapabilities() {
46                Capabilities result = super.getCapabilities();
47                result.enable(Capability.NUMERIC_ATTRIBUTES);
48                result.enable(Capability.NO_CLASS);
49                return result;
50        }
51
52        @Override
53        public int numberOfClusters() throws Exception {
54                return numberOfClusters;
55        }
56
57        /**
58         * Main method for executing this clusterer.
59         *
60         * @param args
61         *            the options, use "-h" to display options
62         */
63        public static void main(String[] args) {
64                AbstractClusterer.runClusterer(new SimpleClusterer(), args);
65        }
66
67}
Note: See TracBrowser for help on using the repository browser.