-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
WIP : Self-Organizing Map #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thank you very much for you contribution. I won't have time to review your code today but hope to do so soon enough. In the meantime, if other want to give it a look :) |
it would also be good to add a reference to the paper. I still have to run the code. I just browsed it. |
Hi Sebastian! Great to see you around, some quick comments:
Thanks, Fabian |
…sing color and calinski function to measure clustering quality
Thanks for yours remarks, i made corrections and recyle color map unit test as example using pylab. |
also it should be SelfOrganizingMap rather than SelfOrganisingMap |
merge SOM and Kohonen class, improve variable name, add and example using color and calinski function to measure clustering quality
here is a pull request for my code review what is unclear to me is if this code can actually do clustering of more than 2D data. grep for XXX for my comments. |
In general this is looking very good. They are many places where you should add spaces after comas. As Alex, I wonder: it seems to me that the code only works on features that are 2D images. Can you confirm this? This should be clearly indicated. Is there any chance that you could make the code work on 3D images as well as 1D datasets too by testing the size of the input data, and completing the shape of the array with empty dimensions to make it a 3D array, on which you could apply a generic 3D SOM code. It would make the module usable in much more general settings. Finally, could you please add a small entry in the main documentation describing what SOMs are, giving a picture (generated from your examples) and links to the examples. |
@seb: i'm wondering how your implementation compares with the one of pymvpa http://www.pymvpa.org/examples/som.html could you also answer when you have time to both gael's and my remarks (see above). |
If i understand correctly, this implementation of SOM is restricted to square maps. In the general case, you need to define a topology (a graph) between your neurons. I think the class should be renamed accordingly. |
unless someone has an objection I close this one |
…spec-deprecated MAINT: inspect.getfullargspec is deprecated in Py3.5
계림금속 PID 온도 제어기 매뉴얼
#### Reference Issues/PRs Fixes README and wheel building --------- Signed-off-by: Adam Li <adam2392@gmail.com>
i added the SOM clustering (using a square grid in 2 dimensions) in my branch : https://github.com/scampion/scikit-learn
I also added the calinski_index mesure to evaluate clustering quality.
I don't know if i made a mistake but I'm a bit surprised by the comparaison between KMeans and SOM using digits dataset in example.
Self-Organizing Map done in 2.328s
calinski index 16.19 | 94.18%
KMeans done in 15.618s
calinski index 9.02 | 90.02%
Due to the SOM shape, i also use 16 clusters in the kmeans.
I don't know if my implemention is good or not.
At last, the unit test test_som.py produce a color map of the neurons as example.