Well, all of the clustering code is based upon clustering points in an n-dimensional vector space and all of the APIs operate upon Vectors. We do support the ability to attach a label binding Map to a Vector which can map Strings into integer index values. Once this has been done you can access the vector values symbolically. I'm not sure this will help with your problem and you may need to write your own Canopy.

If you can post some examples of the values you wish to cluster and something of your distance measure then I will see if I can figure out a way to help you further.

Jeff



Juan Francisco Contreras Gaitan wrote:
Thank you so much for your quick reply.

Unfortunately, I'm afraid that there is no way of massaging my strings into 
doubles, because the distance measure would have no sense in terms of doubles. 
Could you please give me some clue to write the required code in order to solve 
this difficulty?

Thank you very much again.

Regards,
jfcg

Date: Fri, 28 Aug 2009 08:49:38 -0700
From: [email protected]
To: [email protected]
Subject: Re: String clustering and other newbie questions

Juan Francisco Contreras Gaitan wrote:
Hello,

I would like to do some clustering by using Hadoop and I found Mahout. I am 
really impressed, but as a newbie I got stuck and I have several questions. The 
idea is to do string clustering: I have properties values expressed as strings 
of some resources, and I would like to aggregate these resources. I use Eclipse 
as IDE, and I have two Mahout working projects, one with release version (0.1) 
and the other one with SVN version. I am able to compile examples and to run 
them on my own Hadoop cluster. I have focused on Synthetic Control Data example 
using Canopy algorithm because of its similarity to my problem.

- on release version with default parameter values I get all the items on the 
same cluster (C1), is it normal?
Are you running the Synthetic Control example data here? That example - I just ran it on trunk - should produce 6 clusters in one file. It is binary encoded though, and difficult to interpret in textual representation. If you search for the string 'SparseVector' in the canopies/part-0000 file you should see six instances.
- on SVN version I don't have a readable output because there is no implemented 
OutputDriver. If I use the same as release version, I got exceptions (I think 
that format has changed between releases, for example using '{' symbol instead 
of '[')
The output formats of all the clustering routines are now sequence files which are binary encoded. The old OutputDriver won't handle it.
- I use string values instead of double values. I have implemented my own 
string distance that returns a double when parameters are string, but I think 
that Mahout Vectors are implemented just to store double values. Is there any 
chance to use string values?
Vectors are double only and you will need to massage your data into numeric format to use out of the box clustering. Is there a way to convert your property values into doubles?
I would be very grateful if anyone could help me.
I'm going to be working on converting clustering to Hadoop 0.20 in the next weeks. Let's continue our dialog.
Thank you very much in advance.

Regards,
jfcg

_________________________________________________________________
¿Quieres los nuevos emoticonos en 3D? ¡Descárgatelos gratis!
http://www.vivelive.com/emoticonos3d/index2.html

_________________________________________________________________
Internet Explorer 8 más sencillo y seguro ¡Descárgatelo gratis!
http://events.es.msn.com/noticias/internet-explorer-8/

Reply via email to