{"action":"created","issue":{"url":"https://api.github.com/repos/nicodv/kmodes/issues/44","repository_url":"https://api.github.com/repos/nicodv/kmodes","labels_url":"https://api.github.com/repos/nicodv/kmodes/issues/44/labels{/name}","comments_url":"https://api.github.com/repos/nicodv/kmodes/issues/44/comments","events_url":"https://api.github.com/repos/nicodv/kmodes/issues/44/events","html_url":"https://github.com/nicodv/kmodes/pull/44","id":234066623,"number":44,"title":"Implemented Ng et al.'s dissimilarity measure","user":{"login":"benandow","id":3586945,"avatar_url":"https://avatars3.githubusercontent.com/u/3586945?v=3","gravatar_id":"","url":"https://api.github.com/users/benandow","html_url":"https://github.com/benandow","followers_url":"https://api.github.com/users/benandow/followers","following_url":"https://api.github.com/users/benandow/following{/other_user}","gists_url":"https://api.github.com/users/benandow/gists{/gist_id}","starred_url":"https://api.github.com/users/benandow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benandow/subscriptions","organizations_url":"https://api.github.com/users/benandow/orgs","repos_url":"https://api.github.com/users/benandow/repos","events_url":"https://api.github.com/users/benandow/events{/privacy}","received_events_url":"https://api.github.com/users/benandow/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2017-06-07T01:21:42Z","updated_at":"2017-06-09T15:39:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nicodv/kmodes/pulls/44","html_url":"https://github.com/nicodv/kmodes/pull/44","diff_url":"https://github.com/nicodv/kmodes/pull/44.diff","patch_url":"https://github.com/nicodv/kmodes/pull/44.patch"},"body":"Implemented Ng et al.'s dissimilarity measure[1] including necessary modifications to the base libraries. Feel free to pull into the main branch.\r\n\r\n\r\n[1] Michael K. Ng, Mark Junjie Li, Joshua Zhexue Huang, and Zengyou He, \"On the Impact of Dissimilarity Measure in k-Modes Clustering Algorithm\", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 29, No. 3, January, 2007\r\n"},"comment":{"url":"https://api.github.com/repos/nicodv/kmodes/issues/comments/307423545","html_url":"https://github.com/nicodv/kmodes/pull/44#issuecomment-307423545","issue_url":"https://api.github.com/repos/nicodv/kmodes/issues/44","id":307423545,"user":{"login":"benandow","id":3586945,"avatar_url":"https://avatars3.githubusercontent.com/u/3586945?v=3","gravatar_id":"","url":"https://api.github.com/users/benandow","html_url":"https://github.com/benandow","followers_url":"https://api.github.com/users/benandow/followers","following_url":"https://api.github.com/users/benandow/following{/other_user}","gists_url":"https://api.github.com/users/benandow/gists{/gist_id}","starred_url":"https://api.github.com/users/benandow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benandow/subscriptions","organizations_url":"https://api.github.com/users/benandow/orgs","repos_url":"https://api.github.com/users/benandow/repos","events_url":"https://api.github.com/users/benandow/events{/privacy}","received_events_url":"https://api.github.com/users/benandow/received_events","type":"User","site_admin":false},"created_at":"2017-06-09T15:39:24Z","updated_at":"2017-06-09T15:39:24Z","body":"@nicodv I added the test cases in test_kmodes and test_kprototypes to show that the end-to-end flow works and the results are expected when using the Ng dissimilarity measure. \r\n\r\nAfter testing, I also submitted a bug fix that occurred when invoking fit and then trying to predict new data. I overlooked that we need to keep track of initial encoded feature vector for the attribute frequency calculation in Ng's dissimilarity measure. I implemented the patch. However, this means that the encoded FV will not be freed by the GC. An alternative solution is to build a map of attribute frequencies at the beginning, so that we can allow the encoded FV to be freed, but this adds unnecessary memory overhead if not predicting new data (e.g., if you're just invoking fit or fit_predict). Therefore, I believe that maintaining a reference to the encoded FV is the best choice."}}
{"actor":{"display_login":"benandow"}}