How dimensionality affects machine learning algorithms