【问题标题】:What to do if we have multiple categorical columns multi class?如果我们有多个分类列多类怎么办?
【发布时间】:2019-06-12 18:04:18
【问题描述】:

如果数据集有多个分类值,那么我们需要对所有分类数据执行OneHotEncoding,然后如何去除虚拟变量的问题。

【问题讨论】:

  • 不清楚您的要求。是的,您可以一次性对所有分类变量进行编码,虚拟变量的问题是什么
  • 请参阅 stackoverflow 的指南以提出正确的问题。 stackoverflow.com/help/how-to-ask

标签: python deep-learning dataset one-hot-encoding dummy-variable


【解决方案1】:

从您的问题中不清楚您要达到什么目标。通常在机器学习中,您可以进行 one-hot 编码或标签编码,但您需要在将分类值传递给建模之前对其进行编码。

IMO,标签编码更简单,有助于经典回归/分类,当您计划应用深度学习时,可以使用 Onehot 编码。更多讨论:https://datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor

话虽如此,您可以像这样进行标签编码:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
numeric_cols = model_data_df._get_numeric_data().columns
for col in list(set(model_data_df.columns) - set(numeric_cols)):
        model_data_df[col] = le.fit_transform(model_data_df[col].astype(str))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    相关资源
    最近更新 更多