From: Irene K. <ir...@cb...> - 2008-07-22 14:57:07
|
Hi, I have a list of items assigned into two classes. I train ESOM and the produced map shows best-matches of the two colors, depending on the pre-assigned class of the majority of the items that it is best-match to (as I understand it). I would now like to create a list of the items that are behind the best-matches of color 1 and those behind the best-matches of color 2. Is this possible? Thanks Irene |
From: Fabian M. <fa...@my...> - 2008-07-23 00:14:33
|
Irene, I'm not sure if I understand correctly. If you have predefined classes, you already have the assignment of data examples to classes in the *.cls file you loaded. If you create a new classification based on a trained ESOM you can also save this to a *.cls file that stores data example id <-> class if pairs. Note, that ESOM training does not make use of any prior class information as it is an unsupervised algorithm. bye fabian Irene Kouskoumvekaki wrote: > > Hi, > > > > I have a list of items assigned into two classes. I train ESOM and the > produced map shows best-matches of the two colors, depending on the > pre-assigned class of the majority of the items that it is best-match > to (as I understand it). I would now like to create a list of the > items that are behind the best-matches of color 1 and those behind the > best-matches of color 2. Is this possible? > > Thanks > > Irene > > > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > ------------------------------------------------------------------------ > > _______________________________________________ > Databionic-ESOM-User mailing list > Dat...@li... > https://lists.sourceforge.net/lists/listinfo/databionic-esom-user > |
From: Irene K. <ir...@cb...> - 2008-07-23 10:13:13
|
Thank you Fabian, Let me try to explain it a bit better. At the end of the training I end up with a map with best-matches colored as class 1 and best-matches colored class 2. However, if I select an area that contains only best-matches of one color, I can see that it contains compounds of both classes (so, I guess that the color depends on which of the two has the majority). So, I want to see how many of the compounds of class 2 are found under best-matches colored as class 1 (and vice versa). Or, in other words, how many mixed neurons my map has and how many compounds of each class are found in the mixed neurons. If I do classification of the same dataset on the trained map and then save the .cls file, this file is exactly the same as the original one. And the only new file that is created during the classification is a projected.bm, with the coordinates of the dataset on the map, which of course is the same as the original .bm file, as I am using the same dataset. Am I doing something wrong here? best, Irene -----Original Message----- From: dat...@li... [mailto:dat...@li...] On Behalf Of Fabian Mörchen Sent: Wednesday, July 23, 2008 2:14 AM To: dat...@li... Subject: Re: [Databionic-ESOM-User] data behind best-matches Irene, I'm not sure if I understand correctly. If you have predefined classes, you already have the assignment of data examples to classes in the *.cls file you loaded. If you create a new classification based on a trained ESOM you can also save this to a *.cls file that stores data example id <-> class if pairs. Note, that ESOM training does not make use of any prior class information as it is an unsupervised algorithm. bye fabian Irene Kouskoumvekaki wrote: > > Hi, > > > > I have a list of items assigned into two classes. I train ESOM and the > produced map shows best-matches of the two colors, depending on the > pre-assigned class of the majority of the items that it is best-match > to (as I understand it). I would now like to create a list of the > items that are behind the best-matches of color 1 and those behind the > best-matches of color 2. Is this possible? > > Thanks > > Irene > > > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > ------------------------------------------------------------------------ > > _______________________________________________ > Databionic-ESOM-User mailing list > Dat...@li... > https://lists.sourceforge.net/lists/listinfo/databionic-esom-user > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Databionic-ESOM-User mailing list Dat...@li... https://lists.sourceforge.net/lists/listinfo/databionic-esom-user |
From: Niko E. <ne...@ne...> - 2008-07-23 10:46:52
|
On 0, Irene Kouskoumvekaki <ir...@cb...> wrote: > Thank you Fabian, > Let me try to explain it a bit better. At the end of > the training I end up with a map with best-matches colored as class 1 > and best-matches colored class 2. However, if I select an area that > contains only best-matches of one color, I can see that it contains > compounds of both classes (so, I guess that the color depends on which > of the two has the majority). Actually the color depends on whatever your .cls file contained before training. So areas with mixed colors just mean, that your classification does not agree with the ESOM's. To actually classify with an ESOM you have so select the areas that are surrounded by "mountains" on the map by hand and assign them Classes. > So, I want to see how many of the compounds of class 2 are found under > best-matches colored as class 1 (and vice versa). Or, in other words, > how many mixed neurons my map has and how many compounds of each class > are found in the mixed neurons. Well what you probably want to do is, train a Map without a .cls file (it isn't used in the training anyway, but you can avoid getting biased by the colors ;). Classify your data according to the "mountain lines" on the map. Save the .cls file and then compare it with the original. There is a "save .cls" in the file menu, if I recall correctly. > If I do classification of the same dataset on the trained map and then save > the .cls file, this file is exactly the same as the original one. And the > only new file that is created during the classification is a projected.bm, > with the coordinates of the dataset on the map, which of course is the same > as the original .bm file, as I am using the same dataset. Am I doing > something wrong here? I'm not really sure what you are doing. It could be a bug or maybe you are just doing something wrong... But I think you are confusing Training (= the generation of the map) and classification (= what you have to do after the map is trained). Classification with ESOM is a manual process. Greets, Niko |
From: Irene K. <ir...@cb...> - 2008-07-23 11:04:01
|
\\Actually the color depends on whatever your .cls file contained before training. So areas with mixed colors just mean, that your classification does not agree with the ESOM's. To actually classify with an ESOM you have so select the areas that are surrounded by "mountains" on the map by hand and assign them Classes. Well, I want to avoid manual classification and I am not interested in that anyway. I just want to see where esom is placing the items of the dataset during training. Seeing into the mixed neurons will give me an idea of what percentage of each of my two classes is VERY similar to each other. If I won't include the class information during training, I will still have the same problem, as long as I cannot retrieve a list of all items sharing the same best-match. \\I'm not really sure what you are doing. It could be a bug or maybe you are just doing something wrong... But I think you are confusing Training (= the generation of the map) and classification (= what you have to do after the map is trained). Classification with ESOM is a manual process. I agree completely. I am just trying different things to see the output I get... Is it possible to view as colored points the items on the map, instead of the best-matches? |
From: Niko E. <ne...@ne...> - 2008-07-23 11:34:18
|
On 0, Irene Kouskoumvekaki <ir...@cb...> wrote: > Well, I want to avoid manual classification and I am not interested in that > anyway. I just want to see where esom is placing the items of the dataset > during training. Seeing into the mixed neurons will give me an idea of what > percentage of each of my two classes is VERY similar to each other. If I > won't include the class information during training, I will still have the > same problem, as long as I cannot retrieve a list of all items sharing the > same best-match. Well the neurons don't belong to class. So there are no mixed neurons. That said, you want the nearest data point on the ESOM for each data point. Am I correct? Without writing some Code you are probably out of luck. You could however do a flood-fill on the weight matrix starting at each Data point best match and stopping as soon as you find another best match. Or something like that... That said, I am not sure that ESOM, is the right tool for your job. You will probably have very similar results if you just calculate all euclidean distances for each data point and take the lowest. Fabian, what do you think? Greets Niko |
From: Irene K. <ir...@cb...> - 2008-07-23 12:38:46
|
When I say mixed neurons (or best-matches), I mean neurons that are best-matches to items that belong to both my pre-assigned classes. It must be somehow possible to retrieve this information from the map, because it is something that you can do by simply clicking on each best-match, one at a time. I just want to do it in a high-throughput way. But maybe you are right and I need to write a code for that... -----Original Message----- From: dat...@li... [mailto:dat...@li...] On Behalf Of Niko Efthymiou Sent: Wednesday, July 23, 2008 1:33 PM To: dat...@li... Subject: Re: [Databionic-ESOM-User] data behind best-matches On 0, Irene Kouskoumvekaki <ir...@cb...> wrote: > Well, I want to avoid manual classification and I am not interested in that > anyway. I just want to see where esom is placing the items of the dataset > during training. Seeing into the mixed neurons will give me an idea of what > percentage of each of my two classes is VERY similar to each other. If I > won't include the class information during training, I will still have the > same problem, as long as I cannot retrieve a list of all items sharing the > same best-match. Well the neurons don't belong to class. So there are no mixed neurons. That said, you want the nearest data point on the ESOM for each data point. Am I correct? Without writing some Code you are probably out of luck. You could however do a flood-fill on the weight matrix starting at each Data point best match and stopping as soon as you find another best match. Or something like that... That said, I am not sure that ESOM, is the right tool for your job. You will probably have very similar results if you just calculate all euclidean distances for each data point and take the lowest. Fabian, what do you think? Greets Niko ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Databionic-ESOM-User mailing list Dat...@li... https://lists.sourceforge.net/lists/listinfo/databionic-esom-user |
From: Niko E. <ne...@ne...> - 2008-07-23 13:05:25
|
On 0, Irene Kouskoumvekaki <ir...@cb...> wrote: > When I say mixed neurons (or best-matches), I mean neurons that are > best-matches to items that belong to both my pre-assigned classes. It must > be somehow possible to retrieve this information from the map, because it is > something that you can do by simply clicking on each best-match, one at a > time. I just want to do it in a high-throughput way. But maybe you are right > and I need to write a code for that... Now I understand :) Well then can take the .bm file [1]. Sort it, according to the second and third column and look at adjacent lines.. If the second and third column are equal with the next/previous line, then the data points (index is in the first column) have the same bestmatch. If you need something more sophisticated you can take a look at the Java-API [2]. I'm sure there will be a way to get the data point for a best match somewhere. Unfortunately its been quite a while, and I can't give you a direct pointer, but I'd start by looking at the BMInfoPanel class. [1] http://databionic-esom.sourceforge.net/user.html#File_formats [2] http://databionic-esom.sourceforge.net/devel.html |
From: Irene K. <ir...@cb...> - 2008-07-23 13:08:38
|
That was exactly what I needed! Thanks Irene -----Original Message----- From: dat...@li... [mailto:dat...@li...] On Behalf Of Niko Efthymiou Sent: Wednesday, July 23, 2008 3:04 PM To: dat...@li... Subject: Re: [Databionic-ESOM-User] data behind best-matches On 0, Irene Kouskoumvekaki <ir...@cb...> wrote: > When I say mixed neurons (or best-matches), I mean neurons that are > best-matches to items that belong to both my pre-assigned classes. It must > be somehow possible to retrieve this information from the map, because it is > something that you can do by simply clicking on each best-match, one at a > time. I just want to do it in a high-throughput way. But maybe you are right > and I need to write a code for that... Now I understand :) Well then can take the .bm file [1]. Sort it, according to the second and third column and look at adjacent lines.. If the second and third column are equal with the next/previous line, then the data points (index is in the first column) have the same bestmatch. If you need something more sophisticated you can take a look at the Java-API [2]. I'm sure there will be a way to get the data point for a best match somewhere. Unfortunately its been quite a while, and I can't give you a direct pointer, but I'd start by looking at the BMInfoPanel class. [1] http://databionic-esom.sourceforge.net/user.html#File_formats [2] http://databionic-esom.sourceforge.net/devel.html ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Databionic-ESOM-User mailing list Dat...@li... https://lists.sourceforge.net/lists/listinfo/databionic-esom-user |