See https://github.com/scikit-learn/scikit-learn/pull/2086#issuecomment-19869769, and note that the key must include precisely the parameters affecting steps prior to the current one being evaluated, and that cached `_fit` currently returns all the estimators up to the given step, rather than checking the cache for one at a time (probably an unnecessary optimisation).