yinlou / mltk

Machine Learning Tool Kit
BSD 3-Clause "New" or "Revised" License
136 stars 74 forks source link

Fixing broken GLM serialization/deserialization #9

Closed michaellavelle closed 8 years ago

michaellavelle commented 8 years ago

When attempting to write() and then read() a GLM instance, the following exception is thrown:

java.lang.IllegalArgumentException: Unknown link function: identityIntercept at mltk.predictor.LinkFunction.get(LinkFunction.java:28) at mltk.predictor.glm.GLM.read(GLM.java:132)

This PR corrects the format of the output of the write method and modifies the read method accordingly

michaellavelle commented 8 years ago

Thanks for your reply @yinlou - I've now added Javadoc to the GLM.read() method to indicate that the method is intended to be used internally and that PredictorReader.read should be used instead, and I've removed the readLine() addition from GLM.read(). In the testing I've done, it seems the fix I added to the GLM.write() method for the line break is still needed - do let me know if there are any issues with this.

Thanks,

Michael

yinlou commented 8 years ago

Hi @michaellavelle, thanks for adding the comment. I think in stead of adding comments for each predictor, it's better to override the document for Predictor.read() and Predictor.write(). You can see the diff in latest version. To prevent confusion in the future, I will sketch out a wiki detailing how to work with this package. Thanks for you contribution!

michaellavelle commented 8 years ago

Thanks @yinlou - I've now updated our fork with your fixes - many thanks for all your work on this project