当前位置: 首页 > 知识库问答 >
问题:

为列车和测试数据集中的多列应用标签编码器[重复]

谯英彦
2023-03-14

我有一个数据集,它包含多个列,这些列的值是字符串格式的。现在我需要使用labelEncoder将这些文本列转换为数值。在下面的例子中,y是我的tain数据集的目标,A0到A13是不同的特征。还有50个特性,但我在这里提供了一个子集。现在,我如何将labelencoder应用于从A0到A8的数据集,并为创建模型创建一个新的编码数据帧?我知道我们可以像下面这样做,但这会说只编码一列。我希望编码器应用于从A0到A8的所有列,然后将数据提供给模型。我该怎么做?

    from sklearn.preprocessing import LabelEncoder
    gender_encoder = LabelEncoder()
    y = gender_encoder.fit_transform(y)

下面是示例数据

           y       A0 A1  A2 A3 A4  A5 A6 A8  A10  A12  A13
    0     130.81   k  v  at  a  d   u  j  o    0    0    1
    1      88.53   k  t  av  e  d   y  l  o    0    0    0
    2      76.26  az  w   n  c  d   A  j  A    0    0    0
    3      80.62  az  t   n  f  d   A  l  e    0    0    0
    4      78.02  az  v   n  f  d   h  d  n    0    0    0

共有2个答案

宗政权
2023-03-14

您可以使用列转换器和管道对所有分类列进行编码。之后还可以为数值列添加转换。

categorical_features = ['A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A8']
categorical_transformer = Pipeline(steps=[('le', LabelEncoder())])

preprocessor = ColumnTransformer(transformers=[('cat', 
                                                 categorical_transformer, 
                                                 categorical_features)])
pipeline = Pipeline(steps=[('preprocessor', preprocessor)])

pipeline.fit(X_train)
毋承基
2023-03-14

您可以使用来自skLearning的列变压器:

from sklearn.compose import make_column_transformer
from sklearn.preprocessing import OneHotEncoder

col_trans = make_column_transformer((OneHotEncoder(), ["A0:A8"]), remainder = "passthrough")

您可以在[]中列出各个列,并指定如何处理“剩余列”

 类似资料:
  • 问题内容: 我正在尝试使用来编码一大串字符串标签。由于数据框有许多(50+)列,因此我想避免为每一列创建一个对象。我宁愿只有一个可以在我所有数据列中使用的大对象。 将整个数据投入会产生以下错误。请记住,我在这里使用伪数据。实际上,我正在处理大约50列的字符串标记数据,因此需要一种不按名称引用任何列的解决方案。 追溯(最近一次通话最近):文件中的行1,在第y行中= 中的第306行文件引发(“错误的输

  • 我正在尝试使用Scikit-Learn的来编码字符串标签的pandas。由于dataframe有许多(50+)列,我希望避免为每个列创建对象;我宁愿只有一个大的对象,它可以跨我的所有数据列工作。 将整个抛入会产生以下错误。请记住,我在这里使用的是虚拟数据;实际上,我正在处理大约50列字符串标记的数据,因此需要一个不引用任何列名称的解决方案。 回溯(最近一次调用):文件“”,第1行,在文件“/use

  • 我的目标是通过传入我想要共享分类值的列,使其输出如下所示:

  • 我试图转换多个列,其中有一组分类值中的数据;但我在使用OneHotEncoder时遇到了一个错误 我的数据框 1) 分离X_普查和Y_普查中的列(X_普查包含分类值): 2)使用LabelEncoder处理X_census的分类值: 从sklearn。导入标签编码器的预处理 3)现在使用OneHotEncoder到我的X_2转换分类到数值: 错误

  • 我有一个Pandas DataFrame列,其中包含一个列表中的多个列表。类似于这样: 我想将列表拆分为多列,因此输出应该是这样的: 请帮我做这件事。预先感谢

  • 我一直在寻找通过python文档和论坛来选择列的方法,但是关于列索引的每个示例都过于简单。 假设我有一个10x10的数据帧 到目前为止,给出的所有文档只是一个简单的索引示例,如