Escalado

Antes de aplicar SVM puede resultar crítico escalar los datos de entrenamiento adecuadamente. El principal objetivo es evitar que ciertas características con valores mayores dominen el comportamiento del algoritmo. Además, considerando el tipo de cálculos que se realizan en el kernel, los valores muy elevados pueden causar problemas y tiempos de ejecución extremadamente altos. En el ejemplo de la sección anterior no existía ninguna característica dominante (se trataba de muestras extraídas de una distribución gaussiana e isótropa), ni se trataba de valores elevados, pero no siempre será así.

En general se recomienda escalar los datos al rango [-1, 1] o a [0, 1], lo que puede conseguirse con la clase sklearn.preprocessing.MinMaxScaler. Lógicamente, deberemos usar el mismo procedimiento de escalado tanto con el conjunto de entrenamiento como con el conjunto de pruebas.