In the context of hyperparameter tuning using Spark ML, explain the process of selecting the best hyperparameters for a machine learning model. Provide a code snippet demonstrating the use of Spark ML's `TrainValidationSplit` or `CrossValidator` for hyperparameter tuning and explain the key considerations to keep in mind during this process. | Databricks Certified Machine Learning - Associate Quiz - LeetQuiz