Decision tree learning from distributed data