Giter Club home page Giter Club logo

soinn's Introduction

Introduction

SOINN(Self-Organizing Incremental Neural Network) implemented by Python. This project is fork from soinn-python (https://github.com/nkmry/soinn_python). Thanks for Nakamura-san!

Differences from Original project.
  • Enable to save/load learned model by joblib.
  • Performance Improvement (about 50% faster).
  • Appended MNIST clastering Example.
  • Corresponding to Python 3.4

SOINN

Software Requirements

  • Python (3.4 or later)
  • numpy, scipy, matplotlib, scikit-learn, joblib

Installation

git clone https://github.com/fukatani/soinn.git

Usage

Try MNIST exmple,

python train_mnist.py

Execute test,

python test_soinn.py

License

MIT License. (http://opensource.org/licenses/mit-license.php)

Copyright

Copyright (C) 2016, Ryosuke Fukatani

Copyright (C) 2016, Yoshihiro Nakamura (Original soinn-python)

soinn's People

Contributors

fukatani avatar

Stargazers

Lin Huangxuan avatar  avatar Jiaxiong Yang avatar yhyet avatar  avatar  avatar SinoKX avatar  avatar  avatar  avatar Süleyman Çetiner avatar Aflah avatar  avatar  avatar Junyi Shi avatar Zhaoli Liu avatar  avatar  avatar Stuart Farmer avatar e1ysium avatar  avatar Samuel avatar Dennis Hou avatar  avatar hachimada avatar ayesd avatar Ye Anhao avatar fancy avatar Nima avatar  avatar 鱼香肉丝-土豆丝-素烧茄子 avatar Chunghyeon Nam avatar so~cold panda avatar  avatar  avatar GuoZonE avatar haohy avatar Kohei Matsumoto avatar Ishikawa Koji avatar Vadim K. avatar Naoya Muramatsu avatar Emily Johnson avatar  avatar  avatar Morgan Lefranc avatar ; avatar  avatar Boris Mocialov avatar Chrinide avatar Leandro A. Bugnon avatar Nitin Bansal avatar lanius avatar

Watchers

James Cloos avatar Ishikawa Koji avatar  avatar Boris Mocialov avatar

soinn's Issues

storing MNIST data file and results image

Hello,

I have recently come across your Python implementation of SOINN and as I am not too good yet with Python, I am wondering if there is a way to adjust the code so that it only downloads the MNIST samples data file one time and stores it locally so that I do not have to keep downloading it with each test?

Also, I was able to generate visualization of the image for the MNIST data as shown on your github site, but do not know how to interpret the our put since the image does not show any useful error for each test cluster and am not sure what the output within my Debian Linux console is relaying in that there seems to be no explanation in the README

I am trying to determine the accuracy and error associate with the training set and test set which is why I would like to have them in 2 different image files or some way to let me find the accuracy of your implementation.

Any help that you could provide would be greatly appreciated.

MNIST TRAIN DATA OUTPUT BELOW
load MNIST dataset
node[77] radius: 1006862.6840245643
values:[7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[48] radius: 2055892.612421127
values:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[74] radius: 2803877.9182709735
values:[2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 8, 3, 2, 2, 2, 2, 2]
node[47] radius: 1589698.2234233427
values:[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
node[53] radius: 2189346.7515079705
values:[3, 2, 2, 2, 2, 2, 2, 2, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
node[24] radius: 2313964.3231457938
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
node[2] radius: 1958622.2561858876
values:[2, 5, 3, 5, 5, 2, 5, 8, 2, 8, 5, 6, 2, 5, 0, 5, 8, 1, 5, 5, 5, 5, 0, 6, 8, 8, 2, 0, 3, 5, 1, 0, 4, 0, 2, 3]
node[37] radius: 1674947.9605605355
values:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[83] radius: 814940.51219436
values:[2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
node[84] radius: 1282872.4960291702
values:[4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
node[30] radius: 1397092.6506743075
values:[7, 4, 9, 9, 9, 9, 9, 8, 9, 9, 9, 4, 9, 7, 9, 9, 9, 9, 9]
node[18] radius: 2182453.2735853624
values:[3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
node[61] radius: 3179987.725172092
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[32] radius: 2009018.3678275065
values:[4, 4, 9, 4, 4, 9, 9, 9, 5, 5, 9, 9, 5, 9, 7, 4, 5, 4, 9, 7, 4, 9, 7, 9, 9, 4, 4, 9, 4, 9, 9, 9, 9, 9, 4, 8, 4, 9, 4, 7, 9, 5, 4, 9, 3, 9, 9]
node[66] radius: 76699.45808342959
values:[5, 5, 5, 5, 5, 8, 5, 5, 5, 5, 4, 8, 5, 5, 5, 5, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 5, 5, 5, 6]
node[97] radius: 1365080.889881407
values:[6, 6, 0, 6, 6, 6, 6, 6]
node[25] radius: 1553724.2405975135
values:[9, 4, 4, 9, 9, 4, 9, 7, 9, 9, 9, 9, 4, 4, 4, 9]
node[64] radius: 2592664.948532083
values:[0, 0, 0, 0, 0, 0, 0]
node[108] radius: 3420238.023910229
values:[0, 9, 3, 8, 3, 9, 8, 9]
node[51] radius: 960982.2284155119
values:[5, 0, 8, 8, 5, 3, 3, 0, 5, 3, 3, 8, 0, 5, 5, 0, 5, 3, 0, 5, 5, 0, 5, 5, 5, 5, 8, 0, 0, 8, 5, 5, 3]
node[75] radius: 1067461.2544764432
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[107] radius: 1030470.6236275476
values:[0, 0, 0, 0, 0]
node[54] radius: 1697015.6941282297
values:[5, 5, 5, 5, 5, 6, 8, 5, 6, 5, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 0, 5, 5, 3, 5, 5, 9, 5]
node[94] radius: 833445.2675571315
values:[4, 4, 4, 4, 4]
node[45] radius: 1965988.088185733
values:[0, 0, 0, 0, 0, 0, 0, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[40] radius: 2586148.3919734578
values:[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
node[121] radius: 1106276.235591081
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[70] radius: 2105001.5346160783
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[102] radius: 2055892.612421127
values:[0, 5, 0]
node[44] radius: 2054954.9537552756
values:[8, 8, 8, 2, 8, 8, 3, 8, 8, 8, 8, 8, 3, 8, 8, 8]
node[49] radius: 889473.445591365
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[58] radius: 905309.5936851067
values:[7, 7, 9, 8, 7, 7, 7, 3, 8, 1, 2, 7, 1, 1, 2, 9, 3, 2, 7, 1, 2, 1, 7, 8, 2, 2, 4, 7]
node[15] radius: 1745527.1502629442
values:[9, 3, 3, 5, 3, 8, 5, 5, 3, 3, 8, 3, 3, 3, 8, 8, 3, 8, 8, 5, 3, 3, 5, 8, 3, 8, 3, 3, 8, 3, 3, 3, 5, 3, 3, 3, 3, 3]
node[113] radius: 1812821.301926745
values:[6, 6]
node[88] radius: 1828841.397054696
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
node[31] radius: 1282872.4960291702
values:[9, 4, 4, 9, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 4, 4, 9, 4, 9, 9, 9, 4]
node[6] radius: 1409244.740075773
values:[3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 2]
node[93] radius: 2127965.2113910075
values:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[86] radius: 1880336.6563626723
values:[7, 9, 9, 9, 9, 9, 9]
node[78] radius: 1572411.6579405556
values:[0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[85] radius: 1938732.3911887428
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
node[109] radius: 661817.8339324639
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[72] radius: 1954324.9941634636
values:[2, 2, 4, 2, 2, 2, 2, 2, 2]
node[71] radius: 627129.33320873
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[29] radius: 2189346.7515079705
values:[3, 2, 1, 1, 7, 2, 7, 2, 1, 1, 1]
node[34] radius: 1027440.4405390156
values:[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 8, 3, 3, 3, 3, 3, 3]
node[105] radius: 1614217.3147364527
values:[6, 6, 6, 4, 6]
node[3] radius: 1106276.235591081
values:[6, 8, 8, 8, 2, 2, 2, 8, 7, 4, 6, 7, 1, 5, 2, 6]
node[117] radius: 2708445.2061166666
values:[4, 4, 4, 4, 4, 4]
node[62] radius: 218963.18622996355
values:[8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8]
node[67] radius: 1505519.6034587217
values:[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2]
node[110] radius: 1131392.8328195193
values:[0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0]
node[20] radius: 1653917.7326203
values:[8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]
node[28] radius: 1072297.9178656086
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 7, 7, 7]
node[80] radius: 1200927.2965977583
values:[4, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
node[43] radius: 1012019.3218786094
values:[7, 7, 7, 7, 7, 7, 7, 7, 7]
node[55] radius: 1639945.1900227857
values:[8, 8, 8, 8, 8, 8, 8, 8]
node[4] radius: 1041526.0250892516
values:[2, 8, 4, 1, 1, 8, 2, 3, 2, 9, 1, 8, 2, 5, 8, 8, 1, 2, 3, 8, 3, 2, 1, 1, 5]
node[12] radius: 1795009.3704005028
values:[5, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 5, 3, 3, 3, 3, 3, 3, 5, 3, 5, 3, 8]
node[57] radius: 1994430.429905607
values:[3, 3, 3, 3, 3, 5, 3, 3, 3, 5, 3, 8, 5, 3, 8, 5, 3, 3]
node[76] radius: 647882.8738806291
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[27] radius: 1828841.397054696
values:[6, 6, 6, 9, 6, 0, 6, 6, 4, 6, 6]
node[10] radius: 871235.4217869883
values:[3, 5, 3, 3, 3, 3, 3, 3, 3, 5, 5, 3, 5, 3, 3, 5, 3, 3, 2, 5, 5, 3, 3, 5, 3, 5]
node[1] radius: 1417371.4280338534
values:[6, 8, 2, 6, 2, 6, 0, 2, 4, 6, 2, 0, 3, 2, 8, 9, 6, 6, 0, 6]
node[35] radius: 1639945.1900227857
values:[8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 2, 8, 8, 8, 8, 2, 8, 2, 8]
node[112] radius: 1549366.88827492
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
node[13] radius: 1755539.099379146
values:[3, 3, 3, 5, 3, 3, 3, 3, 5, 8, 5, 3, 3, 5, 5, 3, 8, 5, 3, 5, 3, 5, 5, 5, 3, 8, 5, 3, 3, 5, 3, 5, 3, 3, 5, 3, 3, 5, 5, 3, 3, 3, 5, 5, 5, 3, 3, 8, 5]
node[19] radius: 2442982.3045352194
values:[0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
node[90] radius: 958069.3876894325
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6]
node[87] radius: 2803877.9182709735
values:[2, 2, 2]
node[56] radius: 1691106.5856052956
values:[4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
node[114] radius: 829883.5827572967
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[50] radius: 1072297.9178656086
values:[2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[41] radius: 1367638.4157318105
values:[9, 4, 4, 4, 4, 2, 9, 4, 9, 9, 4, 4, 2, 4, 9, 4, 4, 4]
node[33] radius: 2127965.2113910075
values:[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0]
node[98] radius: 327574.9450201293
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
node[81] radius: 1541072.1725683375
values:[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
node[9] radius: 1613903.5325482003
values:[2, 4, 9, 9, 9, 4, 7, 4, 4, 4, 4, 4, 4, 9, 4, 4]
node[0] radius: 1777907.4305856107
values:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
node[16] radius: 1482659.99821941
values:[4, 4, 4, 9, 4, 9, 4, 4, 2, 4, 4, 9, 4, 4, 4, 4, 4, 9, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4]
node[116] radius: 583818.9225197585
values:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4]
node[100] radius: 1938732.3911887428
values:[6, 6, 6, 6, 4, 0, 6, 3]
node[36] radius: 1613903.5325482003
values:[7, 7, 9, 9, 5, 7, 7, 7, 7, 7, 7, 5, 7]
node[5] radius: 1880336.6563626723
values:[9, 7, 9, 7, 9, 4, 9, 4, 9, 9, 4, 4, 4, 4, 9, 4, 7, 9, 9, 8, 4]
node[23] radius: 2105001.5346160783
values:[7, 4, 4, 7, 2, 4, 2]
node[11] radius: 1063093.9746115007
values:[9, 7, 7, 7, 7, 7, 7, 5, 9, 7, 7, 7, 9, 7, 9, 9, 4, 7, 4, 5, 9, 9, 7]
node[14] radius: 2503867.6894264473
values:[6, 4, 6, 6, 6, 6, 6, 6, 6]
node[7] radius: 1012019.3218786094
values:[7, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 9, 9, 4, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7]
node[17] radius: 2850198.001228178
values:[4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
node[91] radius: 1482659.99821941
values:[4, 4, 4, 4, 4, 4]
node[79] radius: 2264421.2681442825
values:[0, 0, 0, 7, 0, 0]
node[8] radius: 1192262.7427469052
values:[9, 7, 7, 7, 9, 7, 9, 7, 9, 4, 9, 9, 9, 3, 7, 9, 5, 8, 9, 9, 7, 9, 9, 7]
node[26] radius: 1499581.5100873546
values:[4, 9, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9]
node[69] radius: 1499581.5100873546
values:[8, 8, 8, 3, 8, 1, 3]
node[60] radius: 1020736.7214260544
values:[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
node[46] radius: 1455358.1834932477
values:[5, 8, 5, 5, 8, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 5, 6, 5]
node[38] radius: 1061270.2887318097
values:[9, 4, 9, 8, 4, 8, 7, 8, 8, 7, 6, 7, 8, 7]
node[68] radius: 1397092.6506743075
values:[9, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
node[22] radius: 1594841.7496724776
values:[8, 2, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]
node[103] radius: 824072.026885825
values:[9, 4, 7, 7, 9, 9, 7, 9, 7, 9, 7, 7, 7, 9, 7, 7, 4, 7]
node[59] radius: 2541728.3277975423
values:[3, 8, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5]
node[124] radius: 3179987.725172092
values:[7, 7]
node[42] radius: 187984.72066806146
values:[4, 4, 4, 4, 4, 4]
node[21] radius: 1682465.8867883435
values:[6, 6, 4, 6, 6, 4, 6, 6, 6, 2, 2, 6, 6, 6, 6, 6, 8, 6, 3, 2, 4, 6, 6, 6, 6]
node[126] radius: 2708445.2061166666
values:[4, 4]
node[96] radius: 1691106.5856052956
values:[4]
node[65] radius: 2592664.948532083
values:[0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0]
node[104] radius: 1541152.5807008303
values:[9, 9, 9, 9]
node[120] radius: 3420238.023910229
values:[3, 3, 3]
node[63] radius: 848676.2250450123
values:[9, 9, 9, 4, 4, 9, 9]
node[115] radius: 2403062.2162237703
values:[7]
node[82] radius: 1777907.4305856107
values:[6, 6, 6, 6, 6, 6]
node[92] radius: 1975981.9828305878
values:[4, 4, 4, 4, 4]
node[39] radius: 1192262.7427469052
values:[7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
node[95] radius: 1367380.3038148019
values:[6, 6, 6, 6, 6, 6, 6]
node[89] radius: 1888545.852087907
values:[2, 2, 2]
node[125] radius: 1177199.6322504024
values:[7, 7, 7, 7]
node[101] radius: 1793315.415443515
values:[6]
node[99] radius: 2054954.9537552756
values:[2]
node[111] radius: 2850198.001228178
values:[4]
node[106] radius: 2541728.3277975423
values:[5, 5]
node[123] radius: 1455358.1834932477
values:[5, 5]
node[52] radius: 2352823.178494309
values:[0]
Total Nodes: 127

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.