PlayeRank: Data-driven performance evaluation and player ranking in soccer via a machine learning approach