在构建和训练机器学习模型时,如何确定变量是否应被视为分类变量?

问题描述

我有一个数据集,其中总共有 10,000 行和 11 个特征(customerId、firstVisitDate、secondVisitDate、articleId、section、作者、标题、topicKeywords、totalVisits、wordCount 和 videoCount)。

我正在构建一个具有上述特征的机器学习模型,用于预测首次访问者返回文章的可能性。换言之,文章的首次访问者转化为同一文章的第二次访问者的可能性。

在这个问题中,我需要将 articleId 作为一个特征来训练具有其他重要特征的模型,但 articleId 是一个具有 1206 个唯一值的字符串变量。

问题:将具有 1206 个唯一值的 articleId 视为分类变量,然后对其进行虚拟编码是否合理?如何解决这个问题。任何关于如何以更好的方式完成这项工作的反馈。

数据集链接https://drive.google.com/file/d/1EkLxsZgXhLhS6_8eoc-rhDOzAzltyeri/view?usp=sharing

解决方法

是的,articleId 是一个分类变量。您可以对其进行一次性编码,但也知道 hashing 是处理高基数分类变量的可行方法。