Metadata-Version: 1.1
Name: SimpSOM
Version: 1.1.2
Summary: A lightweight Python library for Kohonen Self-Organising Maps
Home-page: https://github.com/fcomitani/SimpSOM
Author: Federico Comitani
Author-email: federico.comitani@gmail.com
License: MIT
Download-URL: https://github.com/fcomitani/SimpSOM/archive/1.1.2.tar.gz
Description: SimpSOM (Simple Self-Organizing Maps) 

        =====================================

        

        Version 1.1

        ------------

        

        SimpSOM is a lightweight implementation of Kohonen Self-Organising Maps (SOM) for Python 2.7, 

        useful for unsupervised learning, clustering and dimensionality reduction.

        

        The package is now available on PyPI, to retrieve it just type ``pip install SimpSOM`` or download it from here

        and install with ``python setup.py install``.

        

        It allows to build and train SOM on your dataset, save/load the trained network weights, and display or print graphs 

        of the network with selected features. 

        The function ``run_colorsExample()`` will run a toy model, where a number of colors will be mapped from the 3D

        RGB space to the 2D network map and clustered according to their similarity in the origin space.

        

        Dependencies

        ------------

        

        - Numpy 1.11.0 (older versions may work);

        - Matplotlib 1.5.1 (older versions may work);

        - Sklearn 0.15 (older versions may work), optional, needed only for clustering with algorithms other than Quality Threshold.

        

        Example of Usage

        ----------------

        

        Here is a quick example on how to use the library with a ``raw_data`` dataset::

        

        	#Import the library

        	import SimpSOM as sps

        

        	#Build a network 20x20 with a weights format taken from the raw_data. 

        	net = sps.somNet(20, 20, raw_data)

        

        	#Train the network for 10000 epochs and with initial learning rate of 0.1. 

        	net.train(10000, 0.01)

        

        	#Save the weights to file

        	net.save('filename_weights')

        	

        	#Print a map of the network nodes and colour them according to the first feature (column number 0) of the dataset

        	#and then according to the distance between each node and its neighbours.

        	net.nodes_graph(colnum=0)

        	net.diff_graph()

        	

        	#Project the datapoints on the new 2D network map.

        	net.project(raw_data, labels=labels)

        

        	#Cluster the datapoints according to the Mean Shift algorithm from sklearn.

        	net.cluster(raw_data, type='MeanShift')

        	

        What's New

        ------------------------

        

        - Clustering is now possible with the ``cluster`` command, Quality Threshold and a few sklearn clustering algorithms are availabe.

        	

        TO DOs:

        -------

        

        - Update the available cluster algorithms from sklearn;

        - Add documentation.
Keywords: kohoen self organising maps
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
