title: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility
body: <p>I have this error for trying to load a saved SVM model. I have tried uninstalling sklearn, NumPy and SciPy, reinstalling the latest versions all-together again (using pip). I am still getting this error. Why?</p>
  
  <pre><code>In [1]: import sklearn; print sklearn.__version__
  0.18.1
  In [3]: import numpy; print numpy.__version__
  1.11.2
  In [5]: import scipy; print scipy.__version__
  0.18.1
  In [7]: import pandas; print pandas.__version__
  0.19.1
  
  In [10]: clf = joblib.load('model/trained_model.pkl')
  ---------------------------------------------------------------------------
  RuntimeWarning                            Traceback (most recent call last)
  &lt;ipython-input-10-5e5db1331757&gt; in &lt;module&gt;()
  ----&gt; 1 clf = joblib.load('sentiment_classification/model/trained_model.pkl')
  
  /usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/numpy_pickle.pyc in load(filename, mmap_mode)
      573                     return load_compatibility(fobj)
      574
  --&gt; 575                 obj = _unpickle(fobj, filename, mmap_mode)
      576
      577     return obj
  
  /usr/local/lib/python2.7/dist-packages/sklearn/externals/joblib/numpy_pickle.pyc in _unpickle(fobj, filename, mmap_mode)
      505     obj = None
      506     try:
  --&gt; 507         obj = unpickler.load()
      508         if unpickler.compat_mode:
      509             warnings.warn("The file '%s' has been generated with a "
  
  /usr/lib/python2.7/pickle.pyc in load(self)
      862             while 1:
      863                 key = read(1)
  --&gt; 864                 dispatch[key](self)
      865         except _Stop, stopinst:
      866             return stopinst.value
  
  /usr/lib/python2.7/pickle.pyc in load_global(self)
     1094         module = self.readline()[:-1]
     1095         name = self.readline()[:-1]
  -&gt; 1096         klass = self.find_class(module, name)
     1097         self.append(klass)
     1098     dispatch[GLOBAL] = load_global
  
  /usr/lib/python2.7/pickle.pyc in find_class(self, module, name)
     1128     def find_class(self, module, name):
     1129         # Subclasses may override this
  -&gt; 1130         __import__(module)
     1131         mod = sys.modules[module]
     1132         klass = getattr(mod, name)
  
  /usr/local/lib/python2.7/dist-packages/sklearn/svm/__init__.py in &lt;module&gt;()
       11 # License: BSD 3 clause (C) INRIA 2010
       12
  ---&gt; 13 from .classes import SVC, NuSVC, SVR, NuSVR, OneClassSVM, LinearSVC, \
       14         LinearSVR
       15 from .bounds import l1_min_c
  
  /usr/local/lib/python2.7/dist-packages/sklearn/svm/classes.py in &lt;module&gt;()
        2 import numpy as np
        3
  ----&gt; 4 from .base import _fit_liblinear, BaseSVC, BaseLibSVM
        5 from ..base import BaseEstimator, RegressorMixin
        6 from ..linear_model.base import LinearClassifierMixin, SparseCoefMixin, \
  
  /usr/local/lib/python2.7/dist-packages/sklearn/svm/base.py in &lt;module&gt;()
        6 from abc import ABCMeta, abstractmethod
        7
  ----&gt; 8 from . import libsvm, liblinear
        9 from . import libsvm_sparse
       10 from ..base import BaseEstimator, ClassifierMixin
  
  __init__.pxd in init sklearn.svm.libsvm (sklearn/svm/libsvm.c:10207)()
  
  RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 80
  </code></pre>
  
  <p><strong>UPDATE:</strong> OK, by following <a href="https://stackoverflow.com/questions/25752444/scipy-error-numpy-dtype-size-changed-may-indicate-binary-incompatibility-and">here</a>, and</p>
  
  <pre><code>pip uninstall -y scipy scikit-learn
  pip install --no-binary scipy scikit-learn
  </code></pre>
  
  <p>The error has now gone, though I still have no idea why it occurred in the first place...</p>