【问题标题】:How to one hot encode multiple columns in CSV file using sklearn?如何使用 sklearn 对 CSV 文件中的多列进行一次热编码?
【发布时间】:2020-10-28 06:17:38
【问题描述】:

我的 CSV 文件中有以下代码用于对一列进行一次热编码。

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0])], remainder='passthrough')
X = np.array(ct.fit_transform(X))

现在我想通过仅使用索引号而不是该列的名称对该 CSV 文件中的多个列进行一次热编码,我该怎么做?

【问题讨论】:

    标签: python machine-learning scikit-learn data-science


    【解决方案1】:

    如果我没记错的话,transformers=[] 的第三个参数是一个热编码的列索引列表。例如,如果您想对索引为 0 和 1 的列进行一次热编码,则第三行可能如下所示:

    ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0,1])], remainder='passthrough')
    

    我发现此链接很有帮助:https://machinelearningmastery.com/columntransformer-for-numerical-and-categorical-data/

    【讨论】:

      猜你喜欢
      • 2017-12-18
      • 2017-01-10
      • 2018-04-28
      • 2020-10-06
      • 2018-10-29
      • 2017-05-02
      • 2018-04-21
      • 2021-11-16
      相关资源
      最近更新 更多