Use conda or a virtualenv to handle compatibility issues. Then you can control 
when upgrades occur. I’ve used conda with good effect to handle version issues 
such as yours.

Otherwise, use PMML. The Data Mining Group maintains a list of PMML producers 
and consumers. I think there is a Python wrapper for JPMML which is what you 
can use for a consumer.

http://dmg.org/pmml/products.html

__________________________________________________________________________________________
Dale Smith | Macy's Systems and Technology | IFS eCommerce | Data Science and 
Capacity Planning
| 5985 State Bridge Road, Johns Creek, GA 30097 | dale.t.sm...@macys.com

From: scikit-learn 
[mailto:scikit-learn-bounces+dale.t.smith=macys....@python.org] On Behalf Of 
Shi Yu
Sent: Wednesday, August 3, 2016 3:03 PM
To: Scikit-learn user and developer mailing list
Subject: Re: [scikit-learn] Model trained in 0.17 gives entirely different 
results in 0.15

⚠ EXT MSG:
Hi Andy,

Thanks for the feedback.  Indeed we think it would be a good idea to enforce 
version persistence something like in serialVersionUID Java here.

We deployed models trained on our laptop onto our clusters, and ran into this 
issue and paid a serious lesson for that.

Best,

Shi


---------- Forwarded message ----------
From: Andreas Mueller <t3k...@gmail.com<mailto:t3k...@gmail.com>>
Date: Wed, Aug 3, 2016 at 1:29 PM
Subject: Re: [scikit-learn] Model trained in 0.17 gives entirely different 
results in 0.15
To: Scikit-learn user and developer mailing list 
<scikit-learn@python.org<mailto:scikit-learn@python.org>>

Hi Shi.
In general, there is no guarantee that models built with one version will work 
in a different version.
In particular, loading in an older version when built in a newer version seems 
something that's tricky to achieve.

We might want to warn the user when doing this. The docs are not very explicit 
about this.

Opened an issue:
https://github.com/scikit-learn/scikit-learn/issues/7135

Andy

On 08/02/2016 05:02 PM, Shi Yu wrote:
Hello,

We trained SVM models in scikit-learn 0.17 and saved it as pickle files. When 
loading the models back in a lower version of scikit-learn 0.15, the outputs 
are entirely different.  Basically for binary classification problem, for the 
same test data,  it swapped the probabilities and gave an opposite prediction.  
In 0.17 the probability is [0.02668825,  0.97331175] and the prediction is 1.  
In 0.15 the probability is [0.97331175, 0.02668825] and the prediction is 0.

I wonder is anyone seeing the same issue, or it has been notified.  I could 
provide more details for error replication if required.

Best,

Shi


_______________________________________________

scikit-learn mailing list

scikit-learn@python.org<mailto:scikit-learn@python.org>

https://mail.python.org/mailman/listinfo/scikit-learn


_______________________________________________
scikit-learn mailing list
scikit-learn@python.org<mailto:scikit-learn@python.org>
https://mail.python.org/mailman/listinfo/scikit-learn

* This is an EXTERNAL EMAIL. Stop and think before clicking a link or opening 
attachments.
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to