Contoh penerapan Self-Organizing Map (SOM) untuk klaterisasi menggunakan library SOMPY. Sebelum memulai, pastikan Anda telah menginstal library SOMPY. JIka dalam library tidak ditemukan SOMPY bisa menggunakan minisom. Dalam Praktikum ini akan menggunakan library MiniSom untuk implementasi SOM dengan ukuran yang lebih kecil.
instalasi SOM
pip install minisom
Collecting minisom
Downloading MiniSom-2.3.1.tar.gz (10 kB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: minisom
Building wheel for minisom (setup.py) ... done
Created wheel for minisom: filename=MiniSom-2.3.1-py3-none-any.whl size=10588 sha256=178f276eea9d63231b1e952382ee6cbd998755ab8b6d1e6bf6b37b5146b4ef57
Stored in directory: /root/.cache/pip/wheels/c7/92/d2/33bbda5f86fd8830510b16aa98c8dd420129b5cb24248fd6db
Successfully built minisom
Installing collected packages: minisom
Successfully installed minisom-2.3.1
from minisom import MiniSomimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasets
Menggunakan peta hasil pelatihan untuk visualisasi. Dalam praktikum ini, akan menampilkan peta dengan warna dan menandai pemenang untuk setiap sampel.
# Visualisasi hasil SOMplt.figure(figsize=(8, 8))for i, x inenumerate(data): w = som.winner(x)# Pemenang untuk sampel x plt.text(w[0]+.5, w[1]+.5, str(i+1), color='k', fontdict={'weight': 'bold', 'size': 11})plt.pcolor(som.distance_map().T, cmap='bone_r', alpha=.2)plt.colorbar()plt.show()