Let me first translate your problem a little to make it more tangible. Suppose you have data of the following format [Item Longitude Latitude Altitude]:
You can convert this into Mahout NamedVectors, where the name=Item and the vector values are [Longitude, Latitude, Altitude]. Look in utils/src/main/java/m/a/o/clustering/conversion for some example jobs for starting points. You will likely need to write your own conversion job to create the NamedVectors the way you want from your input data in its encoding format. Now, you can cluster this data using any of the Mahout algorithms, but the clustering will treat all your vector elements equally. I get that you really want to cluster mostly based on Altitude (cluster all the Lon/Lat items which have similar Altitudes). If this is the case then you can use one of our WeightedDistanceMeasures to minimize (or eliminate) the effects of Lon/Lat and focus mostly (or entirely) on Altitudes. Or, better, you can write your own SphericalDistanceMeasure (to deal with the fact that Lon=001 is quite close to Lon=359, for example). Hope this helps, Jeff -----Original Message----- From: john abbott [mailto:[email protected]] Sent: Thursday, February 17, 2011 8:49 AM To: [email protected] Subject: Clustering assistance, mean shift Hi, I was wondering whether someone might be able to help me out. I'd like to use Mahout via Elastic map Reduce to cluster some datasets but I'm not sure I've got the right use case. I'm hoping someone might be able to comment and perhaps point me in the direction of some further advice. I have a dataset which is stored in a database and structured as follows: Item Value X Value Y Value Z A 2 4 3 A 3 5 6 A 6 7 9 B 5 8 2 B 2 4 7 ... I would like to create a series of clusters for each item based on the values of X and Y and Z. X and Y are geographic co-ordinates i.e. real world places and Z is a value observed in those places. What I'd like to end up with is (for each Item) a series of clusters saying these Values of Z are coincident at this place (represented by Value X and Y). I've looked through and played with the quickstarts and that's all fine but I'm wondering: 1. Is this sort of analysis possible? 2. How I convert my numeric data into the correct format to be processed by a Job 3. Any pointers to how I might configure my job in a way that can be distributed and create a cluster for each item Thank you to anyone who might be able to help, I'm really excited to get started with Mahout but I'm struggling to understand whether it's suitable and how to get started. Thanks very much, John
