【问题标题】:I want to use OneHotEncoder in Single Categorical column我想在 Single Categorical 列中使用 OneHotEncoder
【发布时间】:2020-07-30 02:09:40
【问题描述】:

这里 df 的形状是 (190,2),其中第一列是 x,是一个分类值,@nd 列是整数。

X = df.iloc[:,0].values
y = df.iloc[:,-1].values

# Encoding categorical data

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder = LabelEncoder()
X = labelencoder.fit_transform(X)
X.reshape(-1,1)
onehotencoder = OneHotEncoder(categories = [0])
X = onehotencoder.fit_transform(X).toarray()

在这里,我想使用 OneHotEncoder 更改分类值 X 来预测 y。但是当我运行这段代码时,我得到了一个错误。

ValueError: bad input shape ()

谁能帮我解决这个问题。谢谢

【问题讨论】:

    标签: python machine-learning one-hot-encoding


    【解决方案1】:

    目前OneHotEncoder 不要求输入特征是数字的。所以你可以直接给它分类特征:

    onehotencoder = OneHotEncoder()
    X_oh = onehotencoder.fit_transform(X).toarray()
    

    如果有1D 数组,通常是y,您需要将数组重新整形为2D 之一:

    onehotencoder = OneHotEncoder()
    X_oh = onehotencoder.fit_transform(X.reshape(-1,1)).toarray()
    

    但请注意以下几点:

    X.reshape(-1,1)
    

    什么都不做。它没有执行就地操作。您必须将其分配回一个变量。

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 2016-03-14
      • 2020-07-15
      • 2021-09-11
      • 2019-07-27
      • 2022-01-27
      • 2016-02-24
      • 2011-06-18
      • 1970-01-01
      相关资源
      最近更新 更多