There is a random failure in the above test.
def test_multiple_feature_drop(self):
fd = FeatureDropout([0., .7, .3], ['var1', 'var2', 'label'], drop_values='', col_probs=[.5, .3, .2])
batch = fd.transform(self.df.sample(1000, replace=True))
b = (batch == '').sum(axis=1).value_counts().sort_index().tolist()
c, p = chisquare(b, [700, 300])
> assert p > 0.01
E assert 0.0015019754745869893 > 0.01