Python Scikit Learn,LinearRegression,Dummy Variable导致形状不同



我已经使用Scikit Learn库用于机器学习目的。在使用回归时,我遇到了一些与虚拟变量相关的问题。我有 2 套用于训练集和测试集的样本。实际上,程序使用训练集来创建"预测模型",然后使用"测试"来检查分数。运行程序时,如果形状相等,则没问题。但是虚拟变量,会使形状发生变化并导致不同的形状。

  • 训练集:130 行 * 3 列

  • 训练集:60 行 * 3 列

将 1 列和 2 列制作成假人后,现在形状正在改变

  • 训练集:130 行 * 15 列

  • 训练集:60 行 * 12 列

有什么解决方案可以解决这个问题吗?如果可能与否,即使数据形状也不同,成功

进行中

示例程序:https://www.dropbox.com/s/tcc1ianmljf5i8c/Dummy_Error.py?dl=0

如果我

正确理解您的代码,您正在使用pd.get_dummies来创建虚拟变量并将整个数据框传递给函数。

在这种情况下,pandas 将为它找到的每个类别中的每个值创建一个虚拟变量。在这种情况下,看起来训练中存在的类别值比测试中存在的类别值多。这就是为什么您最终在训练中获得的列比在测试中多的原因。

更好的方法是将所有内容合并到一个数据帧中,在组合数据集中创建分类变量,然后将数据拆分为训练和测试。

相关内容

  • 没有找到相关文章

最新更新