The complexity and changefulness of inland navigation environment in space and time makes it hard to guarantee the applicability and accuracy of existing ship speed models. In this paper, a novel method for inland ship speed modelling under complex and changeful navigation environment is proposed. Firstly, an unsupervised machine learning algorithm, Density-Based Spatial Clustering of Application with Noise (DBSCAN), is utilized to cluster the environmental data including water level, water speed, wind speed and wind direction, to get the segment division information, which greatly helps reduce the influence of other uncertain environmental factors on the speed model. Then, Generalized Regression Neural Network (GRNN) is tailored and employed to build the ship speed estimation model with multiple input variables. Finally, a detailed case study of a ship sailing in the Yangtze River trunk line is conducted to validate the proposed methods. The results show that the ship speed model established based on machine learning methods works effectively in speed estimation and analysis. Moreover, compared with other regression methods and neural networks, the proposed GRNN model has the best performance in ship speed modelling.INDEX TERMS Complex navigation environment, inland ship, speed modeling, DBSCAN, GRNN.