  This paper investigates a long-standing question about the effect of surface
roughness on turbulent flow: what is the equivalent roughness sand-grain height
for a given roughness topography? Deep Neural Network (DNN) and Gaussian
Process Regression (GPR) machine learning approaches are used to develop a
high-fidelity prediction approach of the Nikuradse equivalent sand-grain height
$k_s$ for turbulent flows over a wide variety of different rough surfaces. To
this end, 45 surface geometries were generated and the flow over them simulated
at $\hbox{Re}_\tau=1000$ using direct numerical simulations. These surface
geometries differed significantly in moments of surface height fluctuations,
effective slope, average inclination, porosity and degree of randomness. Thirty
of these surfaces were considered fully-rough and they were supplemented with
experimental data for fully-rough flows over 15 more surfaces available from
previous studies. The DNN and GPR methods predicted $k_s$ with an average error
of less than 10% and a maximum error of less than 30%, which appears to be
significantly more accurate than existing prediction formulas. They also
identified the surface porosity and the effective slope of roughness in the
spanwise direction as important factors in drag prediction.
