我正在进行一个使用CNN和tensorflow对肺CT数据集进行分类的项目,我知道这个类别的顺序是癌症/非癌症(只有2个类),在多个Github存储库中,我看到他们做了一个热编码,如下所示:
if label == 1:
label = np.array([0, 1])
elif label == 0:
label = np.array([1, 0])让我困惑的是:1意味着癌症,0意味着没有癌症,正如我所理解的那样:
if label == 1:
label = np.array([1, 0])
elif label == 0:
label = np.array([0, 1])但是为什么他们做了这样的热编码,我不知道我错了,或者还有一件事我不明白,有人能解释一下吗?或者给我一个更好的方法来对我的数据进行编码,但是用代码呢?
发布于 2018-09-15 15:28:24
这两种方式都同样有效,但你在github回购中看到的方式更为标准。
将整数label $y_i$ (从0转换为K-1)转换为一热向量编码的标准方法是创建长度为K的全零向量,并将$y_i$索引的元素设置为1,即
label_one_hot = np.zeros(k)
label_one_hot[label] = 1https://datascience.stackexchange.com/questions/38284
复制相似问题