PU_learning icon indicating copy to clipboard operation
PU_learning copied to clipboard

A question about the target label in PosData and UnlabelData

Open Blue0rigin opened this issue 2 years ago • 0 comments

I am a bit confused about the following two quoted lines of code. Why use 0 for pos_data target label? Is it more natural to use 1 for pos_data target label and 0 for neg_data target label?

class PosData(torch.utils.data.Dataset): 
    def __init__(self, transform=None, target_transform=None, data=None, \
            index=None, data_type=None):
        self.transform = transform
        self.target_transform = target_transform

        self.data=data

> self.targets = np.zeros(data.shape[0], dtype= np.int_)

        self.data_type = data_type
        self.index = index
class UnlabelData(torch.utils.data.Dataset): 
    def __init__(self, transform=None, target_transform=None, pos_data=None, \
            neg_data=None, index=None, data_type=None):
        self.transform = transform
        self.target_transform = target_transform

        self.data=np.concatenate((pos_data, neg_data), axis=0)

>         self.true_targets = np.concatenate((np.zeros(pos_data.shape[0],  dtype= np.int_), np.ones(neg_data.shape[0],  dtype= np.int_)), axis=0)

        self.targets = np.ones_like(self.true_targets, dtype= np.int_)

        self.data_type = data_type
        self.index = index

Blue0rigin avatar Jun 26 '23 13:06 Blue0rigin