Text 在ML模型中使用特征列表

Text 在ML模型中使用特征列表,text,machine-learning,nlp,feature-selection,Text,Machine Learning,Nlp,Feature Selection,我想对一些数据运行一个机器学习算法,所以我首先将数据导出到一个文件中 但是我正在分类的文本的一个特点是标签列表, 每个文本可以有多个标签,例如([“神秘”、“惊悚”]) 建议在写入CSV文件以导出数据时,将整个列表作为数据的一个功能(“标记”功能)写入。 或者最好为每个标记创建一个单独的特性。唯一的问题是大多数示例只有一个标记,因此这些示例的其他功能列将为空 因此,似乎将此标签列表作为一个功能来编写最有意义,但在对其进行分析以进行培训时,我会将该列表中的每个元素仍视为其自己的功能还是不?如果将其

我想对一些数据运行一个机器学习算法,所以我首先将数据导出到一个文件中

但是我正在分类的文本的一个特点是标签列表, 每个文本可以有多个标签,例如([“神秘”、“惊悚”])

建议在写入CSV文件以导出数据时,将整个列表作为数据的一个功能(“标记”功能)写入。 或者最好为每个标记创建一个单独的特性。唯一的问题是大多数示例只有一个标记,因此这些示例的其他功能列将为空


因此,似乎将此标签列表作为一个功能来编写最有意义,但在对其进行分析以进行培训时,我会将该列表中的每个元素仍视为其自己的功能还是不?如果将其作为单个功能来编写,请确保使用一些分隔符来分隔不会出现在任何标签中的标签,而且也不是逗号(因为这会弄乱csv格式),类似|的东西可能会很好。当您构建模型并读入标记列表时,您可以基于该分隔符将其拆分。在Java中,这看起来像:

String[] tagList = inputString.split("|");

我相信大多数语言都会有类似的方法来实现这一点

对,这正是我现在正在做的(使用|)。我真正的问题(更新了我原始问题的最后一行)是,这是否是实际编码同类功能列表的推荐方法。我应该把它们分开吗?选择如何组合功能不是一个明确的决定。这实际上取决于实验和经验,因为结果可能会有很大的差异。一般来说,我倾向于特征分解,更喜欢二进制特征,但这绝不是一条硬性规定。这是一篇关于数据准备的文章。不管你用它们做什么。最后,当您将它们提供给ML算法时,它们将被转换为不同的列,每个列对应一个不同的标记