擅长:python、mysql、java
<pre class="lang-py prettyprint-override"><code>import numpy as np
from sklearn.preprocessing import OrdinalEncoder
X_train = np.array(["USA", "Sweden", "USA"], dtype=object).reshape(-1, 1)
X_test = np.array(["Sweden", "USA"], dtype=object).reshape(-1, 1)
encoder = OrdinalEncoder()
encoder.fit(X_train)
encoder.transform(X_train)
encoder.transform(X_test)
</code></pre>
<p>如果您认为测试中可能存在未知类别,您可以在进行培训/测试拆分之前记录所有类别:</p>
<pre class="lang-py prettyprint-override"><code>categories = [np.unique(np.vstack([X_train[:, [i]], X_test[:, [i]]]))
for i in range(X_train.shape[1])]
encoder = OrdinalEncoder(categories=categories)
</code></pre>