package hex.trees; import org.junit.Test; import water.TestUtil; /** Abstract test to be shared between all tree builders * to test advanced workflows involving data loadbalancing * and cross validation. * * <p>The use case capture binary,multinomial classifiers which need to be factorized * and multinomial which does not need <code>as.factor</code> call for response column.</p> */ public abstract class TreeTestWithBalanceAndCrossVal extends TestUtil { /** The test is testing execution of balance and cross validation workflow on weather data. * * <p>Response column is binary (0/1) so it needs to be factorized.</p>. */ @Test public void testWeatherDataset() { testBalanceWithCrossValidation("smalldata/weather.csv", 23, ari(0,1,22), 2, 10); } /** Another test which is testing execution of balance and cross validation workflow on cars data * <p>Response column is integer so it needs to be factorized</p>. **/ @Test public void testCarBalanceAndCrossValidation() { testBalanceWithCrossValidation("smalldata/cars.csv", 2, ari(0), 2, 3); } /** Another test which is testing execution of balance and cross validation workflow on covtype data. * <p>Response column is already categorical.</p> */ @Test public void testCovtypeBalanceAndCrossValidation() { testBalanceWithCrossValidation("smalldata/covtype/covtype.20k.data", 54, null, 1, 2); } abstract protected void testBalanceWithCrossValidation(String dataset, int response, int[] ignored_cols, int ntrees, int nfolds); }