Closed brandenkmurray closed 7 years ago
Hey @brandenkmurray . Thank you for letting me know . This is what happened : The default value for UseConstant=True; so if you misspell or don't include this, you get True by default. However when you give the parameters (in all cases, not just in Libfm) , the model understands only 'True' with uppercase 'T' not 'true'. If it is not 'True', the model thinks it is false. This is how it has been set up. You can see in the parameter files all 'Trues' are with capital 'T'. I will change it in the future to include lower case. For the meantime, please use 'True' if you need a feature and not 'true'.
@kaz-Anova Ahh, I see. The "Parameter's File" section in the README uses lower case, that's what was throwing me off. Thanks.
That should be fixed now.
I accidentally misspelled
UseConstant:true
asUseConstance:true
in my params file. After correcting my mistake I noticed that my CV results got worse. I then changed toUseConstant:false
and I get the same exact result asUseConstant:true
. I then got rid ofUseConstant
completely and got the same results as when I misspelled it, as I'd expect. It seems as if the mere presence ofUseConstant
determines whether a constant is used and not the actual true/false setting. Is this the expected behavior?