最近我在自学机器学习,现在正在尝试解决一个二分类问题(即:一个标签可以是true或false)。我将其表示为一个可以是1或0的单一列(true或false)。
然而,我在研究中了解到,分类变量可能会降低算法的有效性,应该对其进行独热编码或转换为虚拟变量,从而得到两个标签(variable_true,variable_false)。
那么,正确的做法是什么呢?是预测一个具有两个可能值的单一变量,还是预测两个同时具有固定唯一值的变量?
例如,假设我们想预测一个人的性别是male还是female:
我们应该有一个单一标签Gender,并为该变量预测1或0,还是应该有Gender_Male和Gender_Female?
回答:
基本上是相同的,在讨论二分类问题时,你可以认为每个模型都有一个最终层,将输出适应到其他模型
例如,如果模型输出0或1,那么最终层会根据阈值标准将其转换为向量,如[1,0]或[0,1],通常阈值是>=0.5
最终层有两个节点的一个不错的副产品是模型对其预测的信心水平,[0.80, 0.20]和[0.55, 0.45]都会产生[1,0]的分类,但第一个预测的信心更高
这也可以从单节点输出的边缘1和0的距离中推断出来,因此0.1作为0的预测比0.3更有信心