Hi, i'm new to RapidMiner and i'm trying to develop a clustering application for a university project. I had to create my own custom similarity function and, as I read in this thread
http://rapid-i.com/rapidforum/index.php/topic,604.0.html, I tried to use
DistanceMeasures.registerMeasure
Here is the beginning of my application code:
public static void main(String[] args) {
try{
RapidMiner.init();
DistanceMeasures.registerMeasure(DistanceMeasures.MIXED_MEASURES_TYPE, "AxmedisObjectsDistance", AxmedisObjectsDistance.class);
Process process = new Process(new File("ClusteringObjects.xml"));
IOContainer io = process.run();
...
The process is described by ClusteringObjects.xml and it should use KMedoids operator with my distance function, which is AxmedisObjectsDistance created extending DistanceMeasure class.
Problem is that when i try to run the code written above, the application fails at
IOContainer io = process.run();
with the following error message:
java.lang.ArrayIndexOutOfBoundsException: 1
at com.rapidminer.tools.math.similarity.DistanceMeasures.createMixedMeasure(DistanceMeasures.java:238)
at com.rapidminer.tools.math.similarity.DistanceMeasures.createMeasure(DistanceMeasures.java:216)
at com.rapidminer.operator.clustering.clusterer.AgglomerativeClustering.apply(AgglomerativeClustering.java:69)
at com.rapidminer.operator.Operator.apply(Operator.java:671)
at com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:424)
at com.rapidminer.operator.Operator.apply(Operator.java:671)
at com.rapidminer.Process.run(Process.java:735)
at com.rapidminer.Process.run(Process.java:704)
at com.rapidminer.Process.run(Process.java:694)
at AxmedisClustererAgglomerative.main(AxmedisClustererAgglomerative.java:38)
Obviously i'm missing something, but i'm really not seeing what, could you please help me?