<p>我学到了三种标签编码方法。你知道吗</p>
<p><strong>删除包含分类数据的列</strong>
如果分类变量不多,那么从这个开始。你知道吗</p>
<p><strong>标签编码</strong>
第二种可能性将把您的值转换为数字,例如:['tuesday'、'most'、'three']到[1,2,3]。但是,如果您已经将数据拆分为train和test,请检查test data和train data中的唯一值是否不同。你知道吗</p>
<pre><code># Apply label encoder
encoderlab = LabelEncoder()
for col in cols:
label_X_train[col] = encoderlab.fit_transform(label_X_train[col])
label_X_valid[col] = encoderlab.transform(label_X_valid[col])
</code></pre>
<p><strong>一个热编码
第三种可能性是,对于每个包含分类数据的列,检查列中唯一值的数量。如果有许多大于10的唯一值,最好对它们进行<strong>标签编码,而其他小于10个唯一值的则进行一次热编码。你知道吗</p>
<pre><code>oh_encod = OneHotEncoder(handle_unknown='ignore', sparse=False)
OH_X_train = pd.DataFrame(oh_encod.fit_transform(X_train[low_cardinality_cols]))
OH_X_valid = pd.DataFrame(oh_encod.transform(X_valid[low_cardinality_cols]))
</code></pre>
<p>在Kaggle<a href="https://www.kaggle.com/abdoulsn/house-price-handling-categorical-variables" rel="nofollow noreferrer">handling-categorical-variables</a>(练习细节)或<a href="https://www.kaggle.com/alexisbcook/categorical-variables" rel="nofollow noreferrer">categorical-variables</a>中了解更多信息</p>