def load_binary_syntetic(dataset, n_train): # splitting syntetic dataset X, Y = load_syntetic_dataset(dataset) Xnew = [] Ynew = [] for x, y in zip(X, Y): Xnew.append((x[0], x[1], np.ones((x[2].shape[0], 1)))) y_ = y[:, 0].astype(np.int32) labels = np.unique(y_) y[y_ == labels[0], 0] = 0 for l in labels[1:]: if l == 0: continue y[y_ == l, 0] = 1 Ynew.append(y) X = Xnew Y = Ynew x_train = X[:n_train] y_train = [Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_train]] x_test = X[n_train:] y_test = [Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[n_train:]] return x_train, y_train, x_test, y_test
def load_binary_syntetic(dataset, n_train): # splitting syntetic dataset X, Y = load_syntetic_dataset(dataset) Xnew = [] Ynew = [] for x, y in zip(X, Y): Xnew.append((x[0], x[1], np.ones((x[2].shape[0], 1)))) y_ = y[:, 0].astype(np.int32) labels = np.unique(y_) y[y_ == labels[0], 0] = 0 for l in labels[1:]: if l == 0: continue y[y_ == l, 0] = 1 Ynew.append(y) X = Xnew Y = Ynew x_train = X[:n_train] y_train = [ Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_train] ] x_test = X[n_train:] y_test = [ Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[n_train:] ] return x_train, y_train, x_test, y_test
def load_syntetic(dataset, n_full, n_train): # splitting syntetic dataset X, Y = load_syntetic_dataset(dataset) x_train = X[:n_train] y_train = [Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_full]] y_train += [Label(None, np.unique(y[:, 0].astype(np.int32)), y[:, 1], False) for y in Y[(n_full):(n_train)]] y_train_full = [Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_train]] x_test = X[n_train:] y_test = [Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[n_train:]] return x_train, y_train, y_train_full, x_test, y_test
def load_syntetic(dataset, n_full, n_train): # splitting syntetic dataset X, Y = load_syntetic_dataset(dataset) x_train = X[:n_train] y_train = [ Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_full] ] y_train += [ Label(None, np.unique(y[:, 0].astype(np.int32)), y[:, 1], False) for y in Y[(n_full):(n_train)] ] y_train_full = [ Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[:n_train] ] x_test = X[n_train:] y_test = [ Label(y[:, 0].astype(np.int32), None, y[:, 1], True) for y in Y[n_train:] ] return x_train, y_train, y_train_full, x_test, y_test