Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 一种基于scikit-learn的大数据集热编码_Python_Scikit Learn - Fatal编程技术网

Python 一种基于scikit-learn的大数据集热编码

Python 一种基于scikit-learn的大数据集热编码,python,scikit-learn,Python,Scikit Learn,我有一个大的数据集,我计划对其进行逻辑回归。它有很多分类变量,每个变量都有数千个特性,我计划对这些特性使用一个热编码。我需要处理小批量的数据。我的问题是如何确保一个热编码在第一次运行时看到每个分类变量的所有特性?没有办法找出您的分类特性可以采用哪些可能的值,这可能意味着,为了获得分类变量的唯一值列表,您必须彻底检查数据一次 在此之后,需要将分类变量转换为整数值,并将OneHotEncoder中的n_值=kwarg设置为一个数组,该数组对应于每个变量可以接受的不同值的数量。您可以读取数据并首先获得

我有一个大的数据集,我计划对其进行逻辑回归。它有很多分类变量,每个变量都有数千个特性,我计划对这些特性使用一个热编码。我需要处理小批量的数据。我的问题是如何确保一个热编码在第一次运行时看到每个分类变量的所有特性?

没有办法找出您的分类特性可以采用哪些可能的值,这可能意味着,为了获得分类变量的唯一值列表,您必须彻底检查数据一次


在此之后,需要将分类变量转换为整数值,并将
OneHotEncoder
中的
n_值=
kwarg设置为一个数组,该数组对应于每个变量可以接受的不同值的数量。

您可以读取数据并首先获得分类变量的所有唯一值的列表变量。然后,您可以在唯一值列表中放入一个热编码器对象(如sklearn.preprocessing.CategoricalEncoder)

这种方法有助于解决这一问题

  • 列车测试框架
  • 或者,当您以块的形式读取数据时
我已经创建了一个python模块,它可以自己完成所有这些工作。您可以在这个GitHub存储库中找到它-


关于这方面的简短教程-

这是一个常见的热编码问题;答案是,当在测试集中引入新类别时,没有好的方法来处理案例。