Estoy haciendo un proyecto sobre el problema de identificación del autor. Había aplicado la normalización tf-idf para entrenar datos y luego entrené un svm en esos datos.
Ahora, al usar el clasificador, también debería normalizar los datos de prueba. Creo que el objetivo básico de la normalización es hacer que el aprendizaje aprenda más a las características más importantes mientras se aprende. Entonces, una vez que se ha entrenado, ya sabe qué características son importantes y cuáles no. Entonces, ¿hay alguna necesidad de aplicar la normalización a los datos de prueba también?
Soy nuevo en este campo. ¿Entonces ignore si la pregunta parece tonta?
machine-learning
neural-network
deep-learning
Kishan Kumar
fuente
fuente
Respuestas:
Sí, debe aplicar la normalización a los datos de prueba, si su algoritmo funciona o necesita datos de entrenamiento normalizados *.
Esto se debe a que su modelo funciona en la representación dada por sus vectores de entrada. La escala de esos números es parte de la representación. Esto es un poco como convertir entre pies y metros. . . un modelo o fórmula funcionaría con un solo tipo de unidad normalmente.
No solo necesita normalización, sino que debe aplicar exactamente la misma escala que para sus datos de entrenamiento. Eso significa almacenar la escala y el desplazamiento utilizados con sus datos de entrenamiento, y usarlos nuevamente. Un error común para principiantes es normalizar por separado su tren y los datos de prueba.
En Python y SKLearn, puede normalizar sus valores de entrada / X utilizando el Escalador estándar de esta manera:
Observe cómo la conversión del
train_X
uso de una función que se ajusta (descifra los parámetros) luego se normaliza. Mientras que latest_X
conversión simplemente se transforma, usando los mismos parámetros que aprendió de los datos del tren.La normalización tf-idf que está aplicando debería funcionar de manera similar, ya que aprende algunos parámetros del conjunto de datos en su conjunto (frecuencia de palabras en todos los documentos), así como también usa las proporciones encontradas en cada documento.
* Algunos algoritmos (como los basados en árboles de decisión) no necesitan entradas normalizadas y pueden hacer frente a características que tienen diferentes escalas inherentes.
fuente
Definitivamente deberías normalizar tus datos. Normaliza los datos para los siguientes objetivos:
Por tener diferentes características en la misma escala, que es para acelerar el proceso de aprendizaje.
Para cuidar diferentes características de manera justa sin importar la escala.
Después del entrenamiento, su algoritmo de aprendizaje ha aprendido a manejar los datos en forma escalada, por lo que debe normalizar sus datos de prueba con los parámetros de normalización utilizados para los datos de entrenamiento.
fuente