En las diferentes secciones de este tutorial se pretende únicamente dar información sobre el tema tratado, para lo que se adopta una posición más pedagógica que práctica. Esto tiene varias implicaciones que debes conocer:
- Las implementaciones de los algoritmos, todas de Scikit-Learn, se van a aplicar normalmente con los parámetros por defecto, pues el objetivo será mostrar cómo funciona dicho algoritmo, no obtener el mejor resultado de él.
- Por el mismo motivo no se aplicará validación cruzada a los datos de entrenamiento, aunque esto suponga subentrenar el algoritmo.
- Los datos de entrenamiento no se van a transformar más que lo estrictamente preciso. Esto significa que las características, en general, no se van a escalar ni a normalizar, por poner un ejemplo.
- En la misma línea, los valores nulos en variables categóricas se agruparán y codificarán en una clase independiente.
- Con el fin de poder reproducir el código, se fijará la semilla de números aleatorios o el argumento random_state (o equivalente) siempre que sea posible.
Al respecto de las herramientas de Scikit-Learn necesarias, se utilizarán principalmente las siguientes:
- sklearn.preprocessing.LabelEncoder, para la codificación de variables categóricas,
- sklearn.preprocessing.StandardScaler y
- sklearn.preprocessing.MinMaxScaler, escaladores de datos,
- sklearn.model_selection.cross_val_score, para el cálculo del score de un modelo aplicando validación cruzada, y
- sklearn.model_selection.train_test_split, para la división de un conjunto de datos en bloques de entrenamiento y pruebas
Debe tenerse en cuenta que estas clases se importan al comienzo del código y no siempre se mostrarán en los ejemplos de este tutorial.