What is one-hot encoding and why is it used in data preprocessing? How does one-hot encoding convert categorical variables into numerical format? What are the advantages of using one-hot encoding in machine learning models? What challenges, such as high dimensionality, can arise from one-hot encoding? In which scenarios is one-hot encoding most effective, and when should alternative encoding techniques be used?