{"action":"closed","number":43,"pull_request":{"url":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43","id":87322815,"html_url":"https://github.com/sevamoo/SOMPY/pull/43","diff_url":"https://github.com/sevamoo/SOMPY/pull/43.diff","patch_url":"https://github.com/sevamoo/SOMPY/pull/43.patch","issue_url":"https://api.github.com/repos/sevamoo/SOMPY/issues/43","number":43,"state":"closed","locked":false,"title":"Add function for calculating the topographic error","user":{"login":"ivallesp","id":7207415,"avatar_url":"https://avatars.githubusercontent.com/u/7207415?v=3","gravatar_id":"","url":"https://api.github.com/users/ivallesp","html_url":"https://github.com/ivallesp","followers_url":"https://api.github.com/users/ivallesp/followers","following_url":"https://api.github.com/users/ivallesp/following{/other_user}","gists_url":"https://api.github.com/users/ivallesp/gists{/gist_id}","starred_url":"https://api.github.com/users/ivallesp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivallesp/subscriptions","organizations_url":"https://api.github.com/users/ivallesp/orgs","repos_url":"https://api.github.com/users/ivallesp/repos","events_url":"https://api.github.com/users/ivallesp/events{/privacy}","received_events_url":"https://api.github.com/users/ivallesp/received_events","type":"User","site_admin":false},"body":"Hi another time,\r\n\r\nI just added something that I need! I wrote a function for calculating the topographic error, which in my opinion is equal or more important than the quantization error. It controls the proportion of units which model similar prototypes are contiguous. It is calculated as  the proportion of all data vectors for which first and second BMUs are not adjacent units.\r\n\r\nThe general strategy I follow for training reliable SOM is:\r\n- Generate several maps varying the seed and the accessible parameters like training_length, and radius.\r\n- Calculate the quantization and topographic errors\r\n- Choose, between the maps which have very low or 0 topographic errors, the one which have less quantization error. This way I am choosing a map which will be very interpretable... hint: it is a good idea, once all the maps have been trained, to draw a scatterplot representing the quantization error vs the topographic error.\r\n\r\nI modified the find_som function and the related ones for allowing the calculation of the 2nd BMU. If not specified, it works in a normal way","created_at":"2016-09-29T14:21:15Z","updated_at":"2016-09-30T21:32:37Z","closed_at":"2016-09-30T21:32:37Z","merged_at":"2016-09-30T21:32:36Z","merge_commit_sha":"c5b29bb9e21168dabcefa6fa043ba649d7a6ee0b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43/commits","review_comments_url":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43/comments","review_comment_url":"https://api.github.com/repos/sevamoo/SOMPY/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sevamoo/SOMPY/issues/43/comments","statuses_url":"https://api.github.com/repos/sevamoo/SOMPY/statuses/5f53f2fe6dc043896d508b5f1edda6eb4f951c4d","head":{"label":"ivallesp:feat-calculate-topographic-error","ref":"feat-calculate-topographic-error","sha":"5f53f2fe6dc043896d508b5f1edda6eb4f951c4d","user":{"login":"ivallesp","id":7207415,"avatar_url":"https://avatars.githubusercontent.com/u/7207415?v=3","gravatar_id":"","url":"https://api.github.com/users/ivallesp","html_url":"https://github.com/ivallesp","followers_url":"https://api.github.com/users/ivallesp/followers","following_url":"https://api.github.com/users/ivallesp/following{/other_user}","gists_url":"https://api.github.com/users/ivallesp/gists{/gist_id}","starred_url":"https://api.github.com/users/ivallesp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivallesp/subscriptions","organizations_url":"https://api.github.com/users/ivallesp/orgs","repos_url":"https://api.github.com/users/ivallesp/repos","events_url":"https://api.github.com/users/ivallesp/events{/privacy}","received_events_url":"https://api.github.com/users/ivallesp/received_events","type":"User","site_admin":false},"repo":{"id":69449483,"name":"SOMPY","full_name":"ivallesp/SOMPY","owner":{"login":"ivallesp","id":7207415,"avatar_url":"https://avatars.githubusercontent.com/u/7207415?v=3","gravatar_id":"","url":"https://api.github.com/users/ivallesp","html_url":"https://github.com/ivallesp","followers_url":"https://api.github.com/users/ivallesp/followers","following_url":"https://api.github.com/users/ivallesp/following{/other_user}","gists_url":"https://api.github.com/users/ivallesp/gists{/gist_id}","starred_url":"https://api.github.com/users/ivallesp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivallesp/subscriptions","organizations_url":"https://api.github.com/users/ivallesp/orgs","repos_url":"https://api.github.com/users/ivallesp/repos","events_url":"https://api.github.com/users/ivallesp/events{/privacy}","received_events_url":"https://api.github.com/users/ivallesp/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ivallesp/SOMPY","description":"A Python Library for Self Organizing Map (SOM)","fork":true,"url":"https://api.github.com/repos/ivallesp/SOMPY","forks_url":"https://api.github.com/repos/ivallesp/SOMPY/forks","keys_url":"https://api.github.com/repos/ivallesp/SOMPY/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ivallesp/SOMPY/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ivallesp/SOMPY/teams","hooks_url":"https://api.github.com/repos/ivallesp/SOMPY/hooks","issue_events_url":"https://api.github.com/repos/ivallesp/SOMPY/issues/events{/number}","events_url":"https://api.github.com/repos/ivallesp/SOMPY/events","assignees_url":"https://api.github.com/repos/ivallesp/SOMPY/assignees{/user}","branches_url":"https://api.github.com/repos/ivallesp/SOMPY/branches{/branch}","tags_url":"https://api.github.com/repos/ivallesp/SOMPY/tags","blobs_url":"https://api.github.com/repos/ivallesp/SOMPY/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ivallesp/SOMPY/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ivallesp/SOMPY/git/refs{/sha}","trees_url":"https://api.github.com/repos/ivallesp/SOMPY/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ivallesp/SOMPY/statuses/{sha}","languages_url":"https://api.github.com/repos/ivallesp/SOMPY/languages","stargazers_url":"https://api.github.com/repos/ivallesp/SOMPY/stargazers","contributors_url":"https://api.github.com/repos/ivallesp/SOMPY/contributors","subscribers_url":"https://api.github.com/repos/ivallesp/SOMPY/subscribers","subscription_url":"https://api.github.com/repos/ivallesp/SOMPY/subscription","commits_url":"https://api.github.com/repos/ivallesp/SOMPY/commits{/sha}","git_commits_url":"https://api.github.com/repos/ivallesp/SOMPY/git/commits{/sha}","comments_url":"https://api.github.com/repos/ivallesp/SOMPY/comments{/number}","issue_comment_url":"https://api.github.com/repos/ivallesp/SOMPY/issues/comments{/number}","contents_url":"https://api.github.com/repos/ivallesp/SOMPY/contents/{+path}","compare_url":"https://api.github.com/repos/ivallesp/SOMPY/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ivallesp/SOMPY/merges","archive_url":"https://api.github.com/repos/ivallesp/SOMPY/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ivallesp/SOMPY/downloads","issues_url":"https://api.github.com/repos/ivallesp/SOMPY/issues{/number}","pulls_url":"https://api.github.com/repos/ivallesp/SOMPY/pulls{/number}","milestones_url":"https://api.github.com/repos/ivallesp/SOMPY/milestones{/number}","notifications_url":"https://api.github.com/repos/ivallesp/SOMPY/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ivallesp/SOMPY/labels{/name}","releases_url":"https://api.github.com/repos/ivallesp/SOMPY/releases{/id}","deployments_url":"https://api.github.com/repos/ivallesp/SOMPY/deployments","created_at":"2016-09-28T09:46:40Z","updated_at":"2016-09-28T09:46:41Z","pushed_at":"2016-09-30T10:47:42Z","git_url":"git://github.com/ivallesp/SOMPY.git","ssh_url":"git@github.com:ivallesp/SOMPY.git","clone_url":"https://github.com/ivallesp/SOMPY.git","svn_url":"https://github.com/ivallesp/SOMPY","homepage":"","size":7336,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"sevamoo:master","ref":"master","sha":"4c51a3ddc1d6a78d2976f9638daec561050b3d4d","user":{"login":"sevamoo","id":516107,"avatar_url":"https://avatars.githubusercontent.com/u/516107?v=3","gravatar_id":"","url":"https://api.github.com/users/sevamoo","html_url":"https://github.com/sevamoo","followers_url":"https://api.github.com/users/sevamoo/followers","following_url":"https://api.github.com/users/sevamoo/following{/other_user}","gists_url":"https://api.github.com/users/sevamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/sevamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevamoo/subscriptions","organizations_url":"https://api.github.com/users/sevamoo/orgs","repos_url":"https://api.github.com/users/sevamoo/repos","events_url":"https://api.github.com/users/sevamoo/events{/privacy}","received_events_url":"https://api.github.com/users/sevamoo/received_events","type":"User","site_admin":false},"repo":{"id":23280070,"name":"SOMPY","full_name":"sevamoo/SOMPY","owner":{"login":"sevamoo","id":516107,"avatar_url":"https://avatars.githubusercontent.com/u/516107?v=3","gravatar_id":"","url":"https://api.github.com/users/sevamoo","html_url":"https://github.com/sevamoo","followers_url":"https://api.github.com/users/sevamoo/followers","following_url":"https://api.github.com/users/sevamoo/following{/other_user}","gists_url":"https://api.github.com/users/sevamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/sevamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevamoo/subscriptions","organizations_url":"https://api.github.com/users/sevamoo/orgs","repos_url":"https://api.github.com/users/sevamoo/repos","events_url":"https://api.github.com/users/sevamoo/events{/privacy}","received_events_url":"https://api.github.com/users/sevamoo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sevamoo/SOMPY","description":"A Python Library for Self Organizing Map (SOM)","fork":false,"url":"https://api.github.com/repos/sevamoo/SOMPY","forks_url":"https://api.github.com/repos/sevamoo/SOMPY/forks","keys_url":"https://api.github.com/repos/sevamoo/SOMPY/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sevamoo/SOMPY/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sevamoo/SOMPY/teams","hooks_url":"https://api.github.com/repos/sevamoo/SOMPY/hooks","issue_events_url":"https://api.github.com/repos/sevamoo/SOMPY/issues/events{/number}","events_url":"https://api.github.com/repos/sevamoo/SOMPY/events","assignees_url":"https://api.github.com/repos/sevamoo/SOMPY/assignees{/user}","branches_url":"https://api.github.com/repos/sevamoo/SOMPY/branches{/branch}","tags_url":"https://api.github.com/repos/sevamoo/SOMPY/tags","blobs_url":"https://api.github.com/repos/sevamoo/SOMPY/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sevamoo/SOMPY/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sevamoo/SOMPY/git/refs{/sha}","trees_url":"https://api.github.com/repos/sevamoo/SOMPY/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sevamoo/SOMPY/statuses/{sha}","languages_url":"https://api.github.com/repos/sevamoo/SOMPY/languages","stargazers_url":"https://api.github.com/repos/sevamoo/SOMPY/stargazers","contributors_url":"https://api.github.com/repos/sevamoo/SOMPY/contributors","subscribers_url":"https://api.github.com/repos/sevamoo/SOMPY/subscribers","subscription_url":"https://api.github.com/repos/sevamoo/SOMPY/subscription","commits_url":"https://api.github.com/repos/sevamoo/SOMPY/commits{/sha}","git_commits_url":"https://api.github.com/repos/sevamoo/SOMPY/git/commits{/sha}","comments_url":"https://api.github.com/repos/sevamoo/SOMPY/comments{/number}","issue_comment_url":"https://api.github.com/repos/sevamoo/SOMPY/issues/comments{/number}","contents_url":"https://api.github.com/repos/sevamoo/SOMPY/contents/{+path}","compare_url":"https://api.github.com/repos/sevamoo/SOMPY/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sevamoo/SOMPY/merges","archive_url":"https://api.github.com/repos/sevamoo/SOMPY/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sevamoo/SOMPY/downloads","issues_url":"https://api.github.com/repos/sevamoo/SOMPY/issues{/number}","pulls_url":"https://api.github.com/repos/sevamoo/SOMPY/pulls{/number}","milestones_url":"https://api.github.com/repos/sevamoo/SOMPY/milestones{/number}","notifications_url":"https://api.github.com/repos/sevamoo/SOMPY/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sevamoo/SOMPY/labels{/name}","releases_url":"https://api.github.com/repos/sevamoo/SOMPY/releases{/id}","deployments_url":"https://api.github.com/repos/sevamoo/SOMPY/deployments","created_at":"2014-08-24T12:06:09Z","updated_at":"2016-09-05T21:09:49Z","pushed_at":"2016-09-30T21:32:36Z","git_url":"git://github.com/sevamoo/SOMPY.git","ssh_url":"git@github.com:sevamoo/SOMPY.git","clone_url":"https://github.com/sevamoo/SOMPY.git","svn_url":"https://github.com/sevamoo/SOMPY","homepage":"","size":7377,"stargazers_count":76,"watchers_count":76,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":51,"mirror_url":null,"open_issues_count":8,"forks":51,"open_issues":8,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43"},"html":{"href":"https://github.com/sevamoo/SOMPY/pull/43"},"issue":{"href":"https://api.github.com/repos/sevamoo/SOMPY/issues/43"},"comments":{"href":"https://api.github.com/repos/sevamoo/SOMPY/issues/43/comments"},"review_comments":{"href":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43/comments"},"review_comment":{"href":"https://api.github.com/repos/sevamoo/SOMPY/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sevamoo/SOMPY/pulls/43/commits"},"statuses":{"href":"https://api.github.com/repos/sevamoo/SOMPY/statuses/5f53f2fe6dc043896d508b5f1edda6eb4f951c4d"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"sevamoo","id":516107,"avatar_url":"https://avatars.githubusercontent.com/u/516107?v=3","gravatar_id":"","url":"https://api.github.com/users/sevamoo","html_url":"https://github.com/sevamoo","followers_url":"https://api.github.com/users/sevamoo/followers","following_url":"https://api.github.com/users/sevamoo/following{/other_user}","gists_url":"https://api.github.com/users/sevamoo/gists{/gist_id}","starred_url":"https://api.github.com/users/sevamoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sevamoo/subscriptions","organizations_url":"https://api.github.com/users/sevamoo/orgs","repos_url":"https://api.github.com/users/sevamoo/repos","events_url":"https://api.github.com/users/sevamoo/events{/privacy}","received_events_url":"https://api.github.com/users/sevamoo/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":1,"additions":15,"deletions":6,"changed_files":1}}
{"actor":{"display_login":"sevamoo"}}