0 votes
I try to use a custom python model for predicting and I started by using the MajorityClassifier from http://scikit-learn.org/stable/developers/contributing.html#rolling-your-own-estimator

I get the following error when training this model: Can't pickle <class 'dataiku.doctor.prediction.common.MajorityClassifier'>

Is there a way around this?

1 Answer

+1 vote

Unfortunately, no workaround is possible "as-is". The pickle concept requires that the class be defined in a top level namespace, which is not the case here in a block of code which is evaluated dynamically.

The solution is to put your custom class in a separate file, and put that file in the DATA_DIR/lib/python folder of DSS. This folder is automatically added to the Python path. The code of your custom model then becomes only the instantiation of this class, which does not cause any issue.
1,328 questions
1,350 answers
11,898 users

©Dataiku 2012-2018 - Privacy Policy