注意:如果其他人想知道这个话题,我知道你在数据分析领域越来越深入,所以我之前做了这个问题来了解这一点:
仅当您处理序数类(即大学学位、客户满意度调查)时,才将分类值编码为整数。否则,如果您正在处理诸如性别、颜色或名称之类的名义类,则必须使用其他方法转换它们,因为它们不指定任何数字顺序,最知名的是 One-hot Encoding 或 Dummy 变量。我鼓励您阅读有关它们的更多信息,并希望这对您有所帮助。
检查下面的链接以查看一个很好的解释: https ://www.youtube.com/watch?v=9yl6-HEY7_s
这可能是一个简单的问题,但我认为它对初学者很有用。
我需要在测试数据集上运行预测模型,因此要将分类变量转换为可以由随机森林模型处理的分类代码,我将这些行与所有这些行一起使用:
Train:
data_['Col1_CAT'] = data_['Col1'].astype('category')
data_['Col1_CAT'] = data_['Col1_CAT'].cat.codes
因此,在运行模型之前,我必须对训练和测试数据都应用相同的过程。
而且由于两个数据集具有相同的分类变量/列,我认为将相同的分类代码分别应用于每一列会很有用。
但是,尽管我在每个数据集上处理相同的变量,但每次使用这两行时都会得到不同的代码。
所以,我的问题是,每次在每个数据集上转换相同的分类时,如何才能获得相同的代码?
感谢您的见解和反馈。