Closed parevalo closed 8 years ago
Yeah that recommendation is for other users. My fork, specifically, is a dependency of YATSM and is the only one that works similar enough to sklearn to be useful.
I don't have read permissions to view your Python installation files but I'd be happy to take a look tomorrow in person. My guesses are either:
I'll have to check, but I think you can use one of the pickles built when you install YATSM alongside fit options. Looks like I check for the actual pickle file being "built-in" to YATSM before I go looking for it where the user specifies in config_parser.py
. If not, change it to allow:
YATSM:
prediction: BUILT_IN_ESTIMATOR
...
BUILT_IN_ESTIMATOR:
# no need to specify since it's included in package
# pickle: some_file.pkl
fit:
penalties: [1, 1, 1, 1, 1, 1]
Ahh, the problem must be the pickle version then. I wasn't aware that they needed to be the same version, I was just lazy and used the same ones that were available for release 0.5.5. The reason why I used those was because there seemed to be no "pre-built" pickles in your latest version.
On Mon, Mar 7, 2016 at 9:11 PM, Chris Holden notifications@github.com wrote:
Yeah that recommendation is for other users. My fork, specifically, is a dependency of YATSM and is the only one that works similar enough to sklearn to be useful.
I don't have read permissions to view your Python installation files but I'd be happy to take a look tomorrow in person. My guesses are either:
- Maybe glmnet dependency is out of date
- Pickle could be out of date. The version of the code in the pickle you're trying to import needs to be the same version as the code you're trying to run.
- A bug in parsing your weights
I'll have to check, but I think you can use one of the pickles built when you install YATSM alongside fit options. Looks like I check for the actual pickle file being "built-in" to YATSM before I go looking for it where the user specifies in config_parser.py. If not, change it to allow:
YATSM: prediction: BUILT_IN_ESTIMATOR
...BUILT_IN_ESTIMATOR:
no need to specify since it's included in package
# pickle: some_file.pkl fit: penalties: [1, 1, 1, 1, 1, 1]
— Reply to this email directly or view it on GitHub https://github.com/ceholden/yatsm/issues/82#issuecomment-193556833.
OK let's make sure it's the problem tomorrow then and I'll try to write up something instructive.
What you're basically a victim of a transition out of a bad design decision. There's a good Python talk on YouTube on science model serialization I'll try to dig up that is relevant to this discussion, but I haven't found it just yet.
Issue resolved. Configuration file in question used 4 coefficients but specified 6 penalties
for Lasso.
Follow up: document model fit option specification in configuration docs (#37)
I'm trying to run yatsm line and getting the following error:
I'm not even sure how to try to debug it myself or trace the cause of the problem. Also, I checked your glmnet-python repository and you suggested using the fork by the user "shuras" and tried to install that to see if it fixed the problem but the installation was unsuccessful.