Machine learning for perovskite materials design