如何设置相同的分类代码来训练和测试数据?蟒蛇熊猫

问题描述

注意: 如果有人对此主题感到疑惑,我知道您对数据分析领域的了解越来越深,因此在了解以下内容之前,我先做了以下问题:

仅当您要处理序数类(例如,大学学位,客户满意度调查)时,才将分类值编码为INTEGERES。 否则,如果您要处理诸如性别,颜色或名称之类的名义类,则必须使用其他方法将其转换,因为它们不指定任何数字顺序,其中最著名的是一次性编码或虚拟变量。 我请您阅读有关它们的更多信息,希望对您有所帮助。

检查下面的链接以查看详细说明: 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

因此,在运行模型之前,我必须对训练数据和测试数据应用相同的过程。

并且由于两个数据集具有相同的分类变量/列,我认为将相同的分类代码分别应用于每一列将很有用。

但是,尽管我在每个数据集上处理相同的变量,但每次使用这两行代码时,我都会得到不同的代码

所以,我的问题是,每次在每个数据集上转换相同的类别时,如何获得相同的代码

感谢您的见解和反馈。

解决方法

通常,我的方法是在训练测试拆分之前进行分类转换,以便获得整洁的转换数据集。完成此操作后,我将进行训练测试拆分并训练模型,然后在测试集上对其进行测试。