def test_regression( regression_data, multi_target, embed_categorical, continuous_cols, categorical_cols, continuous_feature_transform, normalize_continuous_features, ): (train, test, target) = regression_data if len(continuous_cols) + len(categorical_cols) == 0: assert True else: data_config = DataConfig( target=target + ["MedInc"] if multi_target else target, continuous_cols=continuous_cols, categorical_cols=categorical_cols, continuous_feature_transform=continuous_feature_transform, normalize_continuous_features=normalize_continuous_features, ) model_config_params = dict(task="regression", depth=2, embed_categorical=embed_categorical) model_config = NodeConfig(**model_config_params) # model_config_params = dict(task="regression") # model_config = NodeConfig(**model_config_params) trainer_config = TrainerConfig(max_epochs=1, checkpoints=None, early_stopping=None) optimizer_config = OptimizerConfig() tabular_model = TabularModel( data_config=data_config, model_config=model_config, optimizer_config=optimizer_config, trainer_config=trainer_config, ) tabular_model.fit(train=train, test=test) result = tabular_model.evaluate(test) if multi_target: assert result[0]["valid_loss"] < 30 else: assert result[0]["valid_loss"] < 8 pred_df = tabular_model.predict(test) assert pred_df.shape[0] == test.shape[0]
tabular_model.fit( train=train, test=test, metrics=[fake_metric], target_transform=tr, loss=torch.nn.L1Loss(), optimizer=torch.optim.Adagrad, optimizer_params={}, ) from pytorch_tabular.feature_extractor import DeepFeatureExtractor # dt = DeepFeatureExtractor(tabular_model) # enc_df = dt.fit_transform(test) # print(enc_df.head()) # tabular_model.save_model("examples/sample") result = tabular_model.evaluate(test) print(result) # # # print(result[0]['train_loss']) # new_mdl = TabularModel.load_from_checkpoint("examples/sample") # # TODO test none no test loader # result = new_mdl.evaluate(test) # print(result) # tabular_model.fit( # train=train, test=test, metrics=[fake_metric], target_transform=tr, max_epochs=2 # ) # pred_df = tabular_model.predict(test, quantiles=[0.25], ret_logits=True) # print(pred_df.head()) # pred_df.to_csv("output/temp2.csv")