首页 > 解决方案 > 机器学习网。mlContext.Transforms.Text.FeaturizeText 和 mlContext.Transforms.Categorical.OneHotEncoding 方法有什么区别?

问题描述

我遇到了分类问题,其中使用 FeaturizeText 方法将一些文本值转换为数字向量。出于相同的目的,在回归问题中使用了 OneHotEncoding 方法。那么区别是什么呢???提前致谢。我找不到任何对 Microsoft 文档有帮助的东西。

标签: c#ml.net

解决方案


OneHotVectorizer 是一个已弃用的 API。也许你可以使用 OneHotEncoding。基于 ML.NET API 参考:

FeaturizeText - 将文本转换为表示 n-gram 和 char-gram 计数的浮点数组。 OneHotEncoding - 通过基于数据构建类别字典并使用字典中的 id 作为数组中的索引,将分类值转换为指示符数组。

基本上,如果你有分类数据(不同的有限值),比如星期几、汽车品牌、任何表达类别的东西,你会想要使用 OneHotEncoding,然后将它们转换为数字。机器学习算法适用于数字,因此需要将文本/图像等转换为数字。

如果您有自由格式的文本,并试图理解其中的某些内容:比如整体情绪是什么,或者这段文本的主题是什么等,您会想要使用 FeaturizeText

用法示例:

FeatureizeText OneHotEncoding


推荐阅读