Data-driven inverse design of (meta-)materials