Machine learning 如何在将类数据(具有大量唯一值)输入机器学习模型之前对其进行预处理?
比如说,我有一个在线游戏平台(如steam)的大量数据,其中有“日期、用户id、玩的小时数、没有玩的游戏数”,我必须编写一个模型来预测用户在给定日期未来玩的小时数。现在,user_id有大量的唯一值(以百万为单位)。我知道对于类数据,我们可以使用一种热编码,但不确定当我有数百万个唯一类时该怎么办。另外,建议我们是否可以使用任何其他方法来预处理数据。直接在模型中使用用户id不是一个好主意,因为这会导致像您所说的那样大量的功能,但也会导致过度拟合,因为您每行可以获得一个id(如果我正确理解您的数据)。它还将使您的模型在出现新用户id的情况下变得无用,并且您必须在每次有新用户时重新培训您的模型 首先,我建议删除这个变量,并尝试只使用其他变量构建一个模型 您可以尝试的另一个想法是基于其他功能对您拥有的用户执行集群,然后将集群作为功能而不是用户id传递,但我不知道这是否是一个好主意,因为我不知道您拥有的数据类型Machine learning 如何在将类数据(具有大量唯一值)输入机器学习模型之前对其进行预处理?,machine-learning,neural-network,artificial-intelligence,one-hot-encoding,Machine Learning,Neural Network,Artificial Intelligence,One Hot Encoding,比如说,我有一个在线游戏平台(如steam)的大量数据,其中有“日期、用户id、玩的小时数、没有玩的游戏数”,我必须编写一个模型来预测用户在给定日期未来玩的小时数。现在,user_id有大量的唯一值(以百万为单位)。我知道对于类数据,我们可以使用一种热编码,但不确定当我有数百万个唯一类时该怎么办。另外,建议我们是否可以使用任何其他方法来预处理数据。直接在模型中使用用户id不是一个好主意,因为这会导致像您所说的那样大量的功能,但也会导致过度拟合,因为您每行可以获得一个id(如果我正确理解您的数据)
此外,您正在谈论对给定日期进行预测。您描述的数据并不表明,但如果您有多个日期的小时数,这更接近于时间序列预测问题,这与“经典”回归问题不同。您已经尝试过什么?你得到了什么错误?我没有尝试过任何东西,我不知道用什么来嵌入大量的类。在这种情况下,一个热编码器将如何工作?我的一个朋友尝试了一个用于20k类的热编码器,但在使用scikit learn时出现了一些错误。错误与大小有关@阿卡斯