文本标记/自动化分类

时间:2019-05-22 08:23:32

标签: python machine-learning classification

我有机会自动化并使用ML释放时间 在DevOps jerkin Automation中,我需要标准化阶段名称,但是在企业中有2000 +项目的情况下,某些阶段名称会基于项目名称自动构图,而存储库名称可能不符合标准。有一个报告可以提取所有这些未分类的新Pipe-line阶段名称,并使用模式匹配将它们手动分类到不同的存储桶中。 当我尝试使用sci工具包时,大多数算法都不接受字符串作为输入。 该小组中的任何人都可以指出正确的算法和示例以供使用

1 个答案:

答案 0 :(得分:0)

这是机器学习中的常见问题,许多算法都假定您已将分类列更改为数值列。

首先,您可以使用LabelEncoder

  

使用0到n_classes-1之间的值编码标签。

此方法会将您的字符串转换为整数。

然后,您需要考虑此方法是否相关。通常不是这样,因为您的不同单词之间会有层次结构,算法可能会认为单词5大于单词4(不是)。

您可以使用OneHotEncoder(在使用LabelEncoder之后,因为OneHotEncoder编码数字列)。

  

这将为每个类别创建一个二进制列,并返回稀疏矩阵或密集数组。

请注意,OneHotEncoder将使功能数量成倍增加,这对于训练模型可能是一个问题。

您也可以使用get_dummies from pandas代替LabelEncoder和OneHotEncoder。参见比较两个方法的article

许多NLP算法也使用“ bag of words”模型。看一下NLTK库,它可以帮助您解决问题。