{"action":"created","issue":{"url":"https://api.github.com/repos/linkedin/photon-ml/issues/134","repository_url":"https://api.github.com/repos/linkedin/photon-ml","labels_url":"https://api.github.com/repos/linkedin/photon-ml/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/linkedin/photon-ml/issues/134/comments","events_url":"https://api.github.com/repos/linkedin/photon-ml/issues/134/events","html_url":"https://github.com/linkedin/photon-ml/issues/134","id":163241073,"number":134,"title":"Decoupling index map from the driver","user":{"login":"XianXing","id":2010084,"avatar_url":"https://avatars.githubusercontent.com/u/2010084?v=3","gravatar_id":"","url":"https://api.github.com/users/XianXing","html_url":"https://github.com/XianXing","followers_url":"https://api.github.com/users/XianXing/followers","following_url":"https://api.github.com/users/XianXing/following{/other_user}","gists_url":"https://api.github.com/users/XianXing/gists{/gist_id}","starred_url":"https://api.github.com/users/XianXing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XianXing/subscriptions","organizations_url":"https://api.github.com/users/XianXing/orgs","repos_url":"https://api.github.com/users/XianXing/repos","events_url":"https://api.github.com/users/XianXing/events{/privacy}","received_events_url":"https://api.github.com/users/XianXing/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/linkedin/photon-ml/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-06-30T18:52:13Z","updated_at":"2016-06-30T19:17:31Z","closed_at":null,"body":"This is a design issue, also may be related to the bigger theme \"decouple the Photon client code from Photon core code\".\r\n\r\nIt looks like the method ```indexMapLoader``` is not necessary for all types of ```InputDataFormat```, because currently the concept of \"index map\" only exists if the input data is in Avro format, and even for ```AvroInputDataFormat``` we can initialize the index map as part of the ```loadLabeledPoints``` function, and the ```indexMapLoader``` is not absolutely necessary. \r\n\r\nAs a result, decoupling index map from the driver might be helpful, for example, if we decide to add feature hashing based method to Photon (like what [Vowpal Wabbit](https://github.com/JohnLangford/vowpal_wabbit) does).\r\n\r\nHowever, I see that currently the Photon driver is tightly coupled with index maps almost everywhere, e.g. in ```writeModelsInText``` and all types of diagnostics, so I don't expect any major refactoring that decouples index map from the driver would happen very soon. But let's be mindful and try to reduce the dependency on index maps for the newly added components for Photon."},"comment":{"url":"https://api.github.com/repos/linkedin/photon-ml/issues/comments/229760668","html_url":"https://github.com/linkedin/photon-ml/issues/134#issuecomment-229760668","issue_url":"https://api.github.com/repos/linkedin/photon-ml/issues/134","id":229760668,"user":{"login":"timyitong","id":1464240,"avatar_url":"https://avatars.githubusercontent.com/u/1464240?v=3","gravatar_id":"","url":"https://api.github.com/users/timyitong","html_url":"https://github.com/timyitong","followers_url":"https://api.github.com/users/timyitong/followers","following_url":"https://api.github.com/users/timyitong/following{/other_user}","gists_url":"https://api.github.com/users/timyitong/gists{/gist_id}","starred_url":"https://api.github.com/users/timyitong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timyitong/subscriptions","organizations_url":"https://api.github.com/users/timyitong/orgs","repos_url":"https://api.github.com/users/timyitong/repos","events_url":"https://api.github.com/users/timyitong/events{/privacy}","received_events_url":"https://api.github.com/users/timyitong/received_events","type":"User","site_admin":false},"created_at":"2016-06-30T19:17:31Z","updated_at":"2016-06-30T19:17:31Z","body":"@XianXing good call! If Photon core codes only care about ```LabelPoint```, we could leave the model serialization and LabelPoints loading to others. Then ```InputDataFormat``` don't need to care about ```indexMap``` anymore."}}
{"actor":{"display_login":"timyitong"}}