Colección de citas famosas - Slogan de motivación - 3.1.1.1 Extracción de características

3.1.1.1 Extracción de características

La extracción de características consiste en convertir los datos originales en vectores de características uno por uno. Este proceso también implica la representación cuantitativa de las características de los datos, mientras que la selección de características va un paso más allá y selecciona una combinación de características que sea más efectiva para la tarea especificada de alta dimensión. , vectores de características cuantificados Mejorar el rendimiento del modelo.

Existen muchos tipos de datos brutos, además de los datos de señales digitales (huellas de voz, imágenes), también hay una gran cantidad de textos simbólicos. Sin embargo, no podemos utilizar directamente el texto simbólico en sí para realizar tareas informáticas. En cambio, necesitamos utilizar algunos métodos de procesamiento para cuantificar el texto en vectores de características por adelantado.

Algunas características de datos representadas por símbolos se han estructurado relativamente y se han almacenado en la estructura de datos del diccionario. En este punto, usamos DictVectorizer para extraer y vectorizar características.

[[ 1.0.0.33.]

[ 0.1.0.12.]

[ 0.0.1.18.]]

[' City=Dubai', 'City=London', 'City=San Francisco', 'Temperature']

En el proceso de vectorización de características, existe una gran diferencia en la forma en que DictVectorizer maneja características categóricas y numéricas. características. . Debido a que las características de clasificación no se pueden representar directamente mediante números, es necesario generar nuevas características combinando los nombres de las características originales y cuantificarlas de forma binaria 0/1. La transformación numérica es relativamente conveniente y, en general, solo es necesario mantener los valores propios originales.

Otros datos de texto son más primitivos; son solo una serie de cadenas con pocas estructuras de datos especializadas para su almacenamiento. Cuando procesamos estos datos, el método de representación de características de texto comúnmente utilizado es el método de bolsa de palabras: como sugiere el nombre, cada palabra en el texto de entrenamiento se considera como una lista de características sin considerar el orden en que aparecen las palabras. A estos conjuntos de palabras que no se repiten los llamamos vocabulario, de modo que cada texto de entrenamiento pueda proyectar un vector de características en un vocabulario de alta dimensión. Hay dos métodos de cálculo comunes para valores propios, CountVector y TFIDFVECTOR. Para cada texto de entrenamiento, CountVectorizer solo considera el $Term de cada palabra en la muestra de entrenamiento. TfidfVectorizer no solo considera la frecuencia $Term de una palabra en el texto actual, sino también la inversa del número de textos que contienen esa palabra. Por el contrario, cuantos más elementos haya en el texto de formación, más ventaja tendrá TfidfVectorizer. Porque el propósito de calcular la frecuencia de $Term es encontrar palabras importantes que contribuyan más al significado de todos los textos. Sin embargo, si una palabra aparece en casi todos los textos, significa que es una palabra común, pero no ayudará al modelo a clasificar el texto cuando hay una gran cantidad de muestras de entrenamiento, use TfidfVectorizer para suprimir la interferencia de estas comunes; palabras sobre decisiones de clasificación, a menudo pueden mejorar el rendimiento del modelo.

A estas palabras comunes que aparecen en cada texto las solemos llamar palabras vacías, como por ejemplo, la, A, etc. Estas palabras vacías suelen incluirse en la lista negra en la extracción de características de texto y se utilizan para mejorar el rendimiento del modelo.

Precisión de clasificar 20 grupos de noticias usando Naive Bayes (contando vectorizador sin filtrar palabras vacías): 0. 16866. 868686868665

Sin eliminación En el caso de palabras vacías, CountVectorizer cuantifica las características de muestras de entrenamiento y prueba y utiliza el clasificador Naive Bayes predeterminado, y la precisión de la predicción en el texto de prueba puede alcanzar 83,977. Y la precisión media, la recuperación y el índice F1 son 0,86, 0,84 y 0,82 respectivamente.

Precisión de la clasificación de 20 grupos de noticias usando Naive Bayes (TfidfVectorizer sin filtrar palabras vacías): 0,84745331

Sin eliminar palabras vacías, usando TfidfVectorizer para cuantificar las características de las muestras de entrenamiento y prueba, usando el El clasificador Naive Bayes predeterminado logró una mayor precisión de predicción que CountVectorizer en el texto de prueba, es decir, de 83,977 a 84,635.

Y la precisión media, la recuperación y el índice F1 son 0,86, 0,84 y 0,82 respectivamente.

Precisión para clasificar 20 grupos de noticias utilizando Naive Bayes (contando las palabras vacías del filtrado del vectorizador): 0,863752122241

Usando Naive Bayes (contando las palabras vacías del filtrado del vectorizador) La precisión de la clasificación de 20 noticias grupos que utilizan TfidfVectorizer (que filtra palabras vacías): 0.88676867889

Los resultados muestran que los métodos de extracción y cuantificación de características de la máquina de vectores tfidf son más ventajosos. En promedio, el rendimiento general del método de extracción de características de texto que filtra palabras vacías es de 3 a 4 mayor que el del modelo que no filtra palabras vacías.