예제 #1
0
        cb_test = cb.Pool(data.X_test, data.y_test)
        if data.task == 'Ranking':
            cb_test.set_group_id(data.groups)
        preds = self.model.predict(cb_test)
        metric = self.eval(data, preds)

        return metric

    def model_name(self):
        name = "catboost_"
        use_cpu = "gpu_" if self.use_gpu else "cpu_"
        nr = str(self.num_rounds) + "_"
        return name + use_cpu + nr + str(self.max_depth)


if __name__ == "__main__":
    X, y, groups = du.get_yahoo()
    dataset = Dataset(name='yahoo',
                      task='Ranking',
                      metric='NDCG',
                      get_func=du.get_yahoo)
    print(dataset.X_train.shape)
    print(dataset.y_test.shape)

    t_start = time.time()
    xgbModel = CatboostModel()
    xgbModel.use_gpu = False
    xgbModel.run_model(data=dataset)

    eplased = time.time() - t_start
    print("--------->> " + str(eplased))
예제 #2
0
def cifar():
    return Dataset(name='cifar10',
                   task='Multiclass classification',
                   metric='Accuracy',
                   get_func=du.get_cifar10)
예제 #3
0
def news20():
    return Dataset(name='news20',
                   task='Multiclass classification',
                   metric='Accuracy',
                   get_func=du.get_news20)
예제 #4
0
def log1p():
    return Dataset(name='log1p',
                   task='Regression',
                   metric='RMSE',
                   get_func=du.get_log1p)
예제 #5
0
def higgs():
    return Dataset(name='higgs',
                   task='Regression',
                   metric='RMSE',
                   get_func=du.get_higgs)
예제 #6
0
 def __init__(self, data_func, name, task, metric):
     self.data = Dataset(data_func())
     self.name = name
     self.task = task
     self.metric = metric
예제 #7
0
    def _predict(self, data):
        pred = self.model.predict(data.X_test)
        metric = self.eval(data, pred)
        return metric

    def model_name(self):
        name = "thundergbm_"
        use_cpu = "gpu_" if self.use_gpu else "cpu_"
        nr = str(self.num_rounds) + "_"
        return name + use_cpu + nr + str(self.max_depth)


if __name__ == "__main__":
    # X, y = du.get_higgs()
    dataset = Dataset(name='higgs',
                      task='Regression',
                      metric='RMSE',
                      get_func=du.get_realsim)
    print(dataset.X_train.shape)
    print(dataset.y_test.shape)

    t_start = time.time()

    tgmModel = ThunderGBMModel()
    tgmModel.tree_method = 'hist'
    tgmModel.run_model(data=dataset)

    eplased = time.time() - t_start

    print("--------->> " + str(eplased))
예제 #8
0
    'Adam',
    loss=sm.losses.bce_jaccard_loss,
    metrics=metrics,
)


def test_preprocessing(image, mask):
    sample = {}
    image = cv2.resize(image, (cfg.image_size, cfg.image_size),
                       interpolation=cv2.INTER_NEAREST)
    mask = cv2.resize(mask, (cfg.image_size, cfg.image_size),
                      interpolation=cv2.INTER_NEAREST)
    sample["image"] = image
    sample["mask"] = mask
    # cv2.imshow("image", image)
    # cv2.imshow("mask", mask)
    # cv2.waitKey(0)
    return sample


# Dataset for testation images
test_dataset = Dataset(TEST_IMAGES,
                       TEST_MASKS,
                       classes=cfg.CLASSES,
                       preprocessing=test_preprocessing)
test_dataloader = Dataloader(test_dataset, batch_size=1, shuffle=False)

scores = model.evaluate_generator(test_dataloader, verbose=1)
print("Loss: {:.5}".format(scores[0]))
for metric, value in zip(metrics, scores[1:]):
    print("mean {}: {:.5}".format(metric.__name__, value))