'OrdinalEncoder' object has no attribute '_missing_indices'

### Describe the bug

I have fitted an OrdinalEncoder and saved the `categories_` attribute as a numpy array. I want to load these categories in, in a new module so I do not have to re-fit the model. When trying to transform the prefitted model, I get this Attribute Error. I see that `_missing_indicies` is not initialized in `__init__`, but instead is created in the `fit` function, which I intend to never call.

### Steps/Code to Reproduce

```
from sklearn.preprocessing import OrdinalEncoder
import pandas as pd
import numpy as np

df = pd.DataFrame({'cat': ['Low', 'Low', 'Med', 'High', 'Med']})

encoder = OrdinalEncoder()
encoder.fit(df)

np.save('cats.npy', encoder.categories_)

new_encoder = OrdinalEncoder()
new_encoder.categories_ = np.load('cats.npy', allow_pickle=True)

new_encoder.transform(df)
```

The error with trace is below

```
AttributeError                            Traceback (most recent call last)
<ipython-input-9-78339e8cfce1> in <module>
----> 1 new_encoder.transform(df)

/opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in transform(self, X)
    933         X_trans = X_int.astype(self.dtype, copy=False)
    934 
--> 935         for cat_idx, missing_idx in self._missing_indices.items():
    936             X_missing_mask = X_int[:, cat_idx] == missing_idx
    937             X_trans[X_missing_mask, cat_idx] = np.nan

AttributeError: 'OrdinalEncoder' object has no attribute '_missing_indices'
```

### Expected Results

No error is thrown. Data is fitted with 
```
array([[1.],
       [1.],
       [2.],
       [0.],
       [2.]])
```

### Actual Results

```
AttributeError                            Traceback (most recent call last)
<ipython-input-9-78339e8cfce1> in <module>
----> 1 new_encoder.transform(df)

/opt/conda/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py in transform(self, X)
    933         X_trans = X_int.astype(self.dtype, copy=False)
    934 
--> 935         for cat_idx, missing_idx in self._missing_indices.items():
    936             X_missing_mask = X_int[:, cat_idx] == missing_idx
    937             X_trans[X_missing_mask, cat_idx] = np.nan

AttributeError: 'OrdinalEncoder' object has no attribute '_missing_indices'
```

### Versions

```shell
System:
    python: 3.7.4 (default, Aug 13 2019, 20:35:49)  [GCC 7.3.0]
executable: /opt/conda/bin/python
   machine: Linux-3.10.0-1160.76.1.el7.x86_64-x86_64-with-debian-buster-sid

Python dependencies:
          pip: 20.0.2
   setuptools: 39.1.0
      sklearn: 1.0.2
        numpy: 1.19.5
        scipy: 1.6.0
       Cython: 0.29.21
       pandas: 0.25.1
   matplotlib: 3.3.3
       joblib: 1.0.0
threadpoolctl: 2.1.0

Built with OpenMP: True
```

COMMENT:
We don't support such use cases. You need to persist your Ordinal encoder.
We have some documentation here: https://scikit-learn.org/stable/model_persistence.html

Recently @adrinjalali works with people at HuggingFace to have more secure persistence than pickle. You can have a look at the package `skops`: https://skops.readthedocs.io/en/latest/persistence.html

Labels: Bug, Needs Triage