Closed comadan closed 9 years ago
It is a hidden feature. You can access it with the method saveToBinaryFile(filename) And load the model weights with: loadFromBinaryFile(filename) Both in src/util/matrix.h
Shouldn't be too hard.
Tell me if you need any more help.
Thank you!
This is an incredible piece of machine learning kit by the way. Thank you for your work on this!!!
Dan
On Oct 1, 2014, at 12:27 PM, thierry-silbermann notifications@github.com wrote:
It is a hidden feature. You can access it with the method saveToBinaryFile(filename) And load the model weights with: loadFromBinaryFile(filename) Both in src/util/matrix.h
Shouldn't be too hard.
Tell me if you need any more help.
— Reply to this email directly or view it on GitHub.
Is there a way to access this method from the command line interface?
Thanks!
Dan
On Oct 1, 2014, at 12:27 PM, thierry-silbermann notifications@github.com wrote:
It is a hidden feature. You can access it with the method saveToBinaryFile(filename) And load the model weights with: loadFromBinaryFile(filename) Both in src/util/matrix.h
Shouldn't be too hard.
Tell me if you need any more help.
— Reply to this email directly or view it on GitHub.
I didn't write any of the code on this repository so you should thanks Steffen Rendle for that, I'm just one of his PhD Student using it.
For now there is no way to access it from the command line interface and I don't think it is planned to change as it may impact a lot of things.
After more thinking, it might be not that easy to do some new prediction using a saved model. For your purpose, you have to be careful. Issues that I have from the top of my mind is:
1) Importing a new test might not work that easily because all the parameters are created during the training the first time (using train and test file). If you save, reload and import a new test data, you risk to create new parameter that were not initialize the first time and you will run into problem. (Just be sure that you have the same number of features each time)
2) if you are using MCMC method, it's completely different because then you need to save the parameters at each iteration (each chain) and not just the last one...
I think with some work you can do it but it's not going to be that simple in fact... For now, training a model each time is the simpler (but slower) way.
One more thing that can help is to use a seed to be able to replicate your experiment and not have different results each time you train a model. (I'll ask for a pull request soon on that)
For classifications, how are the scores converted into probabilities? Using the parameter outputs, I have a score of -0.401806. LibFM converts this into a probability of 0.345043, which is almost 0.343913, the value from the CDF of the normal distribution with mean 0 and std 1, but not exactly.
In the fm_learn_mcmc_simultaneous.h script, the code appears to simply do the conversion by taking p = cdf_gaussian(p);
Many thanks.
Can you give me more details? (Like what are the option you are using, what do you mean by parameter outputs?)
And for question, please try to post here instead: https://groups.google.com/forum/#!forum/libfm
Thanks for responding so quickly. I've posted the question, with more details, in the Google Group.
Cheers
It would be great to have an option to save the predictive model after training. This way a trained model could be applied to a number of test sets without having to retrain.