如何在ML分类中处理字符串数据

塔赫吉德·阿什法克

您好我是机器学习的初学者,我之前曾处理过一些二进制的ml任务,这些任务都是数值数据。现在,我面临的一个问题是我必须找到特定组合的可能性。我目前无法透露数据集或代码。我的数据是10列的数据框。我必须在8列上训练我的模型,并预测最后2列的可能性。那是我的标签是最后两列的组合。我面临的问题是,这些列值不是数字。我已经尝试了遇到的所有问题,但是找不到将其转换为数值的任何合适方法。我已经尝试了sklearn的LabelEncoder,该标签可与标签一起使用,但是如果再次使用它会引发内存错误。我尝试从pandas读取to_numeric,它将所有值读取为Nan。值的格式为“ 2be74fad-4d4”。任何有关如何处理此问题的建议将不胜感激。

Shweta香德尔

要将分类数据转换为数值数据,可以在sklearn中尝试以下方法:

  1. 标签编码
  2. 标签二值化器
  3. OneHot编码

现在,对于您的问题,可以使用LabelEncoder。但是有一个问题!在其他sklearn模型中,您可以声明一次,然后使用它进行拟合,然后在多个列上进行转换。

在LabelEncoding中,必须fit_transform将模型放在火车数据的一列上,然后transform在测试数据的同一列上。然后对下一个类别列进行相同的处理。

您可以遍历类别列的列表以使其变得简单。考虑以下代码段:

cat_cols = ['Item_Identifier', 'Item_Fat_Content', 'Item_Type', 'Outlet_Identifier', 
         'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type', 'Item_Type_Combined']
enc = LabelEncoder()

for col in cat_cols:
    train[col] = train[col].astype('str')
    test[col] = test[col].astype('str')
    train[col] = enc.fit_transform(train[col])
    test[col] = enc.transform(test[col])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 SAS 中处理字符串

如何在JavaScript中的模运算处理字符串

如何在Java中处理字符串

如何在Android中对字符串进行哈希处理?

如何在模板中处理字符串格式

如何在C ++中对字符串进行哈希处理?

如何在 JsonSlurper 中处理原始 JSON 字符串?

如何在jQuery中处理JSON字符串?

如何在c中处理字符串数组

如何在 Java 中处理 JSON 字符串?

如何从核心数据中的字符串获取已处理的字符串

如何在 Kotlin 中处理字符串和字符串操作?

如何处理字符串数据?

如何将字符串数据分类为整数?

在 R 中:如何从字符串加上列名加上分类变量创建数据框名称?

如何在Swift 3中的字符串中查找字符串以过滤数据

如何在表列数据中查找最长的字符串

如何在字符串中查找数据?

如何在Spark数据集中的字符串数组列中添加字符串

如何在数据框列中删除字符串的子字符串?

如何在Spark ml中处理决策树,随机森林的分类特征?

如何在C#和Javascript中处理字符串VS字符?

如何在批处理文件中的字符或字符串之前提取文本?

如何在字符串中搜索字符串?

如何在 Dataframe/Spark SQL/Spark Scala 中处理无效的 XML 字符串和无效的 JSON 字符串

在pandas数据框中预处理字符串数据

如何在python的字符串(句子)中打印函数返回的字典输出?(处理中)

如何在ANTLR 3中处理字符串文字中的转义序列?

处理列表时如何在spark中查找字符串中的索引?