Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 3.x 只有两个值的分类变量_Python 3.x_Encoding_Categorical Data_One Hot Encoding_Labeling - Fatal编程技术网

Python 3.x 只有两个值的分类变量

Python 3.x 只有两个值的分类变量,python-3.x,encoding,categorical-data,one-hot-encoding,labeling,Python 3.x,Encoding,Categorical Data,One Hot Encoding,Labeling,我处理的是不同的数据集,它们只有两个值的分类变量/特征,例如(温度='low'和'high')或(灯光='on'和'off'或'0'和'1') 我真的不确定是使用“一个热编码”还是“标签编码”方法来训练我的模型。 我正在研究一个分类问题,并使用一些有监督的机器学习算法 我使用了“标签编码”,得到了一个非常好的结果。我觉得可能是我做错了什么。我不确定是否应该使用“一个热编码” 如果分类变量只有两个值我应该使用哪种方法转换变量?由于顺序问题,只有少数情况下LabelEncoder有用。如果您的分类特

我处理的是不同的数据集,它们只有两个值的分类变量/特征,例如(温度='low'和'high')或(灯光='on'和'off'或'0'和'1')

我真的不确定是使用“一个热编码”还是“标签编码”方法来训练我的模型。 我正在研究一个分类问题,并使用一些有监督的机器学习算法

我使用了“标签编码”,得到了一个非常好的结果。我觉得可能是我做错了什么。我不确定是否应该使用“一个热编码”


如果分类变量只有两个值我应该使用哪种方法转换变量?

由于顺序问题,只有少数情况下LabelEncoder有用。如果您的分类特征是有序的,则使用LabelEncoder,否则使用一个热编码。但是,一个热编码增加了维度。在这种情况下,我通常使用一种热编码,然后使用PCA进行降维。

谢谢您的评论。我有点理解,但对于二进制数据,哪种方法更可取。我在此链接中看到了不同的数据类型:。我仍在等待答复。哪些编码技术可用于二进制特征?。我知道LabelEncoder更适合于有序数据,而热编码更适合于标称数据。然而,我不确定在二进制数据的情况下推荐哪一种。我对ML是新手,根据我的理解,在这种情况下,一种热编码是最好的。因为数据是二进制的。