Red de conocimiento informático - Aprendizaje de código fuente - Minería de datos | Comprensión y preprocesamiento de datos

Minería de datos | Comprensión y preprocesamiento de datos

Minería de datos | Comprensión y preprocesamiento de datos

El editor ha conocido a muchas personas (ejem, no lo tome como algo personal después de obtener los datos). cualquier cosa. Mételo en el modelo y ejecútalo, no importa lo que sea, los "grandes datos" siempre pueden generar algo.

Pero como se mencionó la última vez, es probable que los "grandes datos" provoquen "grandes errores". Por lo tanto, antes de comenzar el trabajo de extracción de datos, comprenda cuidadosamente los datos, verifíquelos y prepárelos. El manejo es crucial.

Mucha gente dice que la preparación de datos es realmente un "trabajo manual", que no solo requiere mucho tiempo y trabajo, sino que también es extremadamente aburrido. El editor admite que el procesamiento de datos antes del modelado es realmente mundano y a menudo no requiere un alto coeficiente intelectual, grandes habilidades de programación o modelos estadísticos de alta gama.

Sin embargo, siempre puede desencadenar tu entusiasmo, porque requiere suficiente paciencia y cuidado, y todos tus esfuerzos serán en vano si no tienes cuidado.

En este contenido, el editor primero profundizará en los tres aspectos de "comprensión de datos", "tipo de variable" e "inspección de calidad", y luego utilizará datos reales que he hecho como ejemplo. Se muestran ejemplos.

1. Comprensión de los datos

El primer paso después de obtener los datos es comprenderlos.

¿Qué es comprender los datos? No se trata solo de mirar cuántas tablas de Excel hay, cuántas filas, cuántas columnas, sino mirarlos en función de sus propios objetivos de análisis y necesidades comerciales específicas.

En primer lugar, debemos aclarar el nivel de detalle de los registros de datos. Por ejemplo, si los datos de tráfico de un determinado sitio web están en unidades por hora o por día, un registro de datos de ventas son las ventas de. cada tienda. El monto también son las ventas totales en cada región.

En segundo lugar, necesitamos identificar la población de investigación. La determinación del grupo de investigación debe estar estrechamente relacionada con los objetivos empresariales.

Por ejemplo, si queremos estudiar qué factores están relacionados con la satisfacción del usuario con un producto, debemos tomar a todos los clientes que compraron el producto como grupo de investigación si queremos estudiar qué factores afectan la compra del usuario; comportamiento, debe examinar tanto a los compradores como a los no compradores al mismo tiempo, y buscar factores clave en la comparación entre los dos grupos.

La determinación del grupo de investigación está relacionada en ocasiones con el nivel de detalle de los datos.

Por ejemplo, si queremos estudiar el impacto de las "críticas de películas del público" en la "taquilla de películas", podemos tratar "cada película" como un individuo y estudiar el impacto de las "críticas de películas totales". En "taquilla total de películas", también puede tratar "la taquilla diaria de cada película" como un individuo y estudiar el impacto del "número diario de reseñas de películas" en la "taquilla diaria de películas".

Cuál elegir depende del tipo de datos que tengamos. Si solo tenemos datos sobre taquilla total y reseñas totales de películas, entonces solo podemos elegir la primera si tenemos datos más detallados; Entonces puedes considerar la segunda opción.

Cabe destacar que estas dos soluciones también afectarán a nuestra elección de modelo.

Por ejemplo, si estudia el impacto de las "críticas diarias de películas" en la "taquilla diaria de películas", cada película se subdivide en muchos días y la taquilla de la misma película en diferentes momentos ser mayor. La similitud, que forma una estructura jerárquica, se puede analizar utilizando un modelo jerárquico.

Finalmente, cuando determinamos los objetivos de la investigación y la población de la investigación, necesitamos comprender el significado de cada variable una por una. Algunas variables son claramente irrelevantes para los objetivos comerciales y pueden eliminarse del estudio.

Aunque algunas variables son significativas, tienen el mismo valor en todas las muestras. Estas variables son redundantes y deben eliminarse del estudio.

También hay algunas variables con significados repetidos, como "nombre de provincia" y "abreviatura de provincia". En este caso, solo es necesario conservar uno.

2. Tipos de variables

Todas las variables se pueden dividir en dos categorías según sus escalas de medición, una es "variables categóricas" y la otra es "variables numéricas". Los diferentes tipos de variables tendrán diferencias significativas en los métodos de procesamiento y la posterior selección del modelo.

Variables categóricas

Las variables categóricas también se denominan variables de atributos o variables discretas. Sus valores a menudo pueden representarse mediante un número limitado de nombres de categorías, como "género", ". educación", "título", "nivel de ingresos", "día de la semana", etc. Si se desglosan, las variables categóricas se pueden dividir en dos categorías. Una es "variables nominales", es decir, no hay diferencia de orden o grado entre cada categoría, al igual que no existe una diferencia obvia entre iOS y Android en el "sistema de telefonía móvil". ". Lo mismo ocurre con las "películas de acción" y las "películas de ciencia ficción" en los "géneros cinematográficos". No hay forma de decir cuál es mejor o peor.

El otro tipo son las variables ordinales, es decir, hay una clasificación significativa entre diferentes categorías. Por ejemplo, el "nivel de contaminación del aire" se puede expresar como "pobre, bueno, excelente" y "nivel de educación". " puede expresarse como "Escuela primaria, secundaria, preparatoria, universidad".

Cuando la variable dependiente del estudio es una variable categórica, muchas veces corresponde a un método de análisis específico. Hablaremos de ello en los siguientes capítulos, por lo que no hablaremos de ello aquí por ahora.

Cuando las variables independientes en el estudio son variables categóricas, el alcance de la selección del modelo también será limitado. Algunos modelos de minería de datos pueden manejar directamente variables categóricas independientes, como los modelos de árbol de decisión, pero muchos modelos de minería de datos no pueden manejar directamente variables categóricas independientes, como regresión lineal, redes neuronales, etc., por lo que las variables categóricas deben convertirse en variables numéricas. .

Para las variables independientes ordinales, el método de conversión más utilizado es convertirlas directamente en variables numéricas independientes según el grado de categoría. Por ejemplo, convertir el nivel de contaminación del aire "pobre, bueno, excelente" en. "1, 2, 3".

Para las variables independientes nominales, el método de conversión más utilizado es construir variables ficticias de tipo 0-1. Por ejemplo, para "Género", puede definir "1=hombre, 0=mujer".

Cuando una variable nominal tiene K valores de categoría, es necesario construir K-1 variables ficticias. Por ejemplo, si el nivel educativo es "escuela primaria, secundaria, preparatoria, universidad y superiores", se pueden construir tres variables ficticias: x1: 1 = escuela primaria, 0 = otra x2: 1 = escuela secundaria, 0 = otro; x3: 1 = secundaria, 0=otro. Cuando los valores de las tres variables ficticias x1, x2 y x3 son todos 0, corresponde a "universitario y superior".

Cabe señalar que a veces demasiados valores de variables nominales generarán demasiadas variables ficticias, lo que fácilmente puede causar un sobreajuste del modelo.

En este momento, puedes considerar eliminar solo las categorías con más observaciones y clasificar todas las categorías restantes como "otras".

Por ejemplo, China contiene 56 grupos étnicos. Si cada grupo étnico genera una variable ficticia, habrá 55. En este momento, sólo podemos considerar establecer "si es Han" en 0-1 ficticia. variable.

Variables numéricas

Veamos nuevamente las variables numéricas. Las variables numéricas son variables que se describen mediante valores numéricos y pueden estar sujetas directamente a operaciones algebraicas, como "ingresos por ventas", "capital fijo", "número total de comentarios", "número de visitas", "rendimiento de los estudiantes". , etc. son todas variables numéricas.

Cabe señalar que las variables representadas por valores numéricos no son necesariamente variables numéricas. Sólo las variables que son significativas en operaciones algebraicas son variables numéricas.

Por ejemplo, aunque el año de los estados financieros, el tiempo de cotización, etc. también se expresan en valores numéricos, normalmente no los tratamos como variables numéricas.

Como mencionamos anteriormente, las variables categóricas generalmente deben convertirse en variables numéricas. De hecho, a veces, las variables numéricas también deben convertirse en variables categóricas, lo que utiliza el método de "agrupación de datos".

¿Por qué necesitamos agrupar los datos? Suele haber varios motivos:

1. La medición de los datos puede tener ciertos errores y no es tan precisa, por lo que se convierte. en diferentes categorías es un método de suavizado eficaz;

2. Aunque algunos algoritmos, como los modelos de árbol de decisión, pueden manejar variables numéricas, cuando la variable tiene una gran cantidad de valores no repetidos, utilice mayor que, menos que, se considerarán muchas situaciones al igualar estos operadores, por lo que la eficiencia será muy baja. El método de agrupación de datos puede mejorar en gran medida la eficiencia del algoritmo;

3. variables independientes (como reglas de asociación), por lo que las variables numéricas también deben agruparse.

Después de agrupar los datos, puede utilizar la media, la mediana, el valor crítico, etc. en cada contenedor como valor representativo de esta categoría, o puede definir directamente diferentes rangos de valores en diferentes categorías. Por ejemplo, los niveles de contaminación se dividen en "bajo, medio, alto", etc.

Entonces, ¿cómo agrupar los datos? Los métodos de agrupación de datos más utilizados incluyen: agrupación de igual ancho (dividir el rango de valores de las variables en varios intervalos de igual ancho), agrupación de igual frecuencia (dividida según el cuantil de el valor de la variable), agrupación basada en agrupación de k-medias (todos los datos están agrupados por k-medias y las diferentes categorías obtenidas son agrupaciones diferentes), y también existen algunos métodos de agrupación supervisados, como: hacer que el resultado después de la agrupación alcance la entropía mínima o la longitud mínima de descripción, etc. No lo presentaré en detalle aquí. Aquellos que estén interesados ​​en zapatos para niños pueden buscar en Baidu por su cuenta.

3. Inspección de calidad

Después de tener una comprensión preliminar de cada variable en los datos, debemos realizar una inspección de calidad estricta de los datos si la calidad de los datos no cumple con el estándar. , todavía necesitamos realizar trabajos de limpieza o reparación de datos.

En términos generales, la inspección de calidad incluye comprobar el grado de falta de cada variable y la razonabilidad del rango de valores.

Comprobación faltante

A menudo existen varios fenómenos faltantes en los datos originales.

La falta de algunos indicadores es razonable. Por ejemplo, los clientes pueden evaluar la satisfacción de un producto sólo si lo han utilizado. En la garantía del préstamo sólo se incluyen los bienes inmuebles y los inmuebles correspondientes. se registrará el valor, etc.

Una variable que se permite que falte de esta manera es la más difícil de tratar, porque nos resulta difícil juzgar si su ausencia es razonable o se debe a falsos negativos.

Pero en cualquier caso, si la tasa de variables faltantes es demasiado alta, afectará la calidad general de los datos, porque los datos reflejan muy poca información y es difícil extraer cosas útiles de ellos.

Para las variables que no se permiten que falten, si falta una situación, se debe realizar el procesamiento correspondiente. Si el grado de falta de una variable es muy grande, por ejemplo, llega a 70, entonces considere eliminarla directamente. Probablemente sea inútil.

Si la proporción que falta es aceptable, puedes intentar utilizar la interpolación de valores faltantes para solucionarlo.

El propósito de la interpolación es acercar el valor interpolado lo más posible a su valor verdadero, por lo que si el valor verdadero de la variable se puede obtener de otras formas, se debe preferir este método.

Por ejemplo, los dos valores de "tipo de controlador final" y "si está controlado por el estado" faltan en la información financiera de una empresa. Los valores verdaderos se pueden obtener a través de información pública. en Internet otro ejemplo es que faltan los valores del indicador "margen de beneficio neto", pero hay valores de "beneficio neto" e "ingresos totales", luego los valores faltantes correspondientes. Se puede obtener a través de la relación entre variables, es decir, margen de beneficio neto = beneficio neto/ingreso total.

Por supuesto, la mayoría de las veces no podemos obtener la información real sobre los valores faltantes, por lo que solo podemos usar datos existentes para la interpolación.

Para variables numéricas, se puede utilizar la media y mediana de los valores observados para interpolar los valores faltantes; para variables categóricas, se puede utilizar la categoría con mayor proporción en los datos observados para obtener el valor; . para realizar la interpolación.

Estos métodos son muy simples de operar, pero todos asignan el mismo valor a todos los valores faltantes, por lo que cuando la proporción faltante es grande, puede distorsionar la relación entre la variable imputada y las variables restantes.

Para ser más complicado, podemos elegir el método de interpolación del modelo, es decir, establecer un modelo estadístico (como regresión, árbol de decisión, etc.) basado en la relación entre la variable interpolada y otras variables independientes. y compare los valores predichos del modelo como un valor interpolado.

Cómo lidiar con los valores perdidos es un gran tema de investigación. Aquí solo presentamos el método más simple y factible. Los lectores interesados ​​pueden consultar la monografía de Little y Rubin de 2002 "Análisis estadístico con datos faltantes".

Comprobar la racionalidad de los valores de las variables

Además de los valores faltantes, también necesitamos comprobar la racionalidad de los valores de cada variable.

Cada variable tendrá su propio rango de valores. Por ejemplo, "número de visitas de usuarios" y "número de descargas" no deben ser negativos, y la "tasa de rendimiento de la inversión" debe estar entre 0 y 1. Al juzgar si el valor de una variable excede su rango de valores esperados, se pueden identificar fácilmente los valores atípicos.

Además de comprobar la calidad de la variable en función del rango de valores de la variable, también se puede realizar un juicio en función de la relación entre variables. Por ejemplo, el "margen de beneficio neto" de una empresa no debe ser mayor que su "margen de beneficio total", etc.

Solo los datos que han pasado todos los aspectos de las pruebas son datos de alta calidad y es probable que aporten valiosos resultados del modelo.

IV. Análisis de ejemplo - Análisis de taquilla de películas

Finalmente, damos un análisis de ejemplo. En este ejemplo, nuestro objetivo es estudiar qué aspectos de una película tienen un impacto en su desempeño en taquilla.

Tenemos dos aspectos de datos, uno son datos que describen las características de la película y el otro son datos que describen la taquilla de la película.

Dado que nos centramos en el mercado de taquilla de América del Norte, se pueden obtener datos que describen las características de las películas en el sitio web IMDB, que es una base de datos en línea de actores, películas, programas de televisión, estrellas de televisión y producciones cinematográficas. Puede encontrar mucha información sobre cada película estrenada; los datos de taquilla diarios de la película se pueden obtener en Box Office Mojo, el sitio web autorizado de taquilla de EE. UU., que registra los datos de taquilla diarios de cada película durante su período de estreno.

Los datos obtenidos de IMDB los metemos en el archivo "movieinfor.csv", y los datos obtenidos de Box Office Mojo en el archivo "boxoffice.csv".

Aquí, tomamos las 100 películas con mayor taquilla en Norteamérica en 2012 como ejemplos para explicar. La siguiente tabla proporciona todas las variables incluidas en estos dos conjuntos de datos junto con sus explicaciones correspondientes.

Entre estos dos datos, los registros de datos de movieinfor.csv son precisos para cada película, mientras que los datos de boxoffice.csv son precisos para los datos de taquilla diaria de cada película, que son precisos para el día. Entre las variables que figuran en la tabla anterior, además del nombre y el ID de la película, se incluyen el "tipo de película", la "clasificación MPAA" (la clasificación de la película otorgada por la Motion Picture Association of America) y el "día de la semana". las variables "tiempo de proyección", "producción", "Presupuesto", "Taquilla diaria de la película" y "Número de salas de exhibición diarias" son variables numéricas. No faltan valores en ambos conjuntos de datos.

Primero realizamos un preprocesamiento variable en los dos conjuntos de datos por separado y luego integramos los dos datos según la ID de la película. El tratamiento para cada variable se proporciona a continuación:

Género de la película

El género de la película es una variable categórica. En esta variable encontramos que cada película tiene más de un tipo. Por ejemplo, la película "The Dark Knight Rises" tiene tres tipos: "Acción", "Crimen" y "Thriller", y están separados por "|". juntos.

Al mismo tiempo, diferentes películas pueden tener el mismo tipo, o pueden tener diferentes tipos. Por ejemplo, la segunda película más taquillera "Skyfall" tiene el tipo "Acción | Aventura | Suspense". .

Entonces, lo primero que debemos hacer es sacar el género de cada película uno por uno y luego formar una variable ficticia 0-1 para todos los géneros que han aparecido si esta película está. un determinado género Si aparece arriba, el valor de la variable correspondiente es 1; de lo contrario, es 0.

A través del paso anterior, sabemos que hay 11 tipos de películas que han aparecido en este conjunto de datos.

¿Debería convertirse en 10 variables ficticias como se mencionó anteriormente? Lo que hay que tener en cuenta aquí es que todos los tipos de películas no son mutuamente excluyentes (es decir, con acción, no puede haber otros tipos), por lo que No necesitamos eliminar uno de ellos por razones lineales.

En otras palabras, si cada tipo de película se trata como una variable independiente, se pueden derivar 11 nuevas variables 0-1, lo cual no supone ningún problema. Sin embargo, 11 variables es demasiado, por lo que, según la distribución de frecuencia de los diferentes tipos de películas, solo separamos los tipos que aparecieron con más frecuencia y finalmente generamos 6 variables de tipo 0-1, a saber, Aventura, Fantasía, Comedia y Acción. , Animación, Otros.

Clasificación MPAA

Para esta variable categórica, primero podemos observar todos los valores que contiene en los datos y encontrar que uno *** tiene "PG", "PG - 13" y "R" tres.

A diferencia del tipo de película (Género) anterior, para una película, solo puede tener un valor MPAA. Por lo tanto, entre las variables MPAA, debemos elegir una como punto de referencia y construir las otras dos como variables ficticias.

Por ejemplo, utilizamos "PG" como punto de referencia y las dos variables ficticias construidas son PG13 y R respectivamente. Si los valores de estas dos variables ficticias son 0 al mismo tiempo, es. equivalente a la clasificación MPAA de la película.

¿Qué día de la semana es el día de proyección?

Esta variable es la misma que la clasificación MPAA y cada película solo puede tener un valor.

Si tiene valores de lunes a domingo, podemos derivar 6 variables ficticias de tipo 0-1.

Debido a que aquí nos preocupa más el impacto de los fines de semana y no fines de semana en la taquilla de las películas, que el día específico, lo resumimos aún más en una variable, es decir, "si es un fin de semana."

Tiempo de proyección y presupuesto de producción

Ambas variables, tiempo de proyección y presupuesto de producción, son variables numéricas con valores superiores a 0. Podemos comprobar si sus valores son razonables respectivamente. . dentro del rango, y luego retener directamente su información numérica.

Al mismo tiempo, en cuanto al "presupuesto de producción", asumiendo que lo que nos importa aquí no es el valor específico del presupuesto de producción, sino la diferencia de taquilla entre "películas de bajo costo" y " "Películas de gran costo", entonces podemos agrupar esta variable numérica y convertirla en una variable categórica 0-1, es decir, "si es una película de bajo costo".

A la hora de decidir qué criterios utilizar para clasificar una película como de bajo presupuesto, según los resultados de investigaciones de literatura anterior, consideramos películas con un presupuesto de producción inferior a 100 millones como películas de bajo coste. .

El procesamiento de todas las variables anteriores se puede completar utilizando las declaraciones más básicas en R (tabla, representante, cuál, etc.) Debido a limitaciones de espacio, el editor no enumerará el código detallado aquí. Si está interesado, puede leer la serie "Qianxun en R" de Bear Club (haga clic aquí). Creo que se sentirá más inspirado al aprender el lenguaje R.

Finalmente, integramos todas las variables recién generadas de acuerdo con el ID de la película y listo.

5. Resumen

Finalmente, en este contenido, el editor le presenta el trabajo de comprensión y preprocesamiento de datos después de obtenerlos. Aunque el contenido no es difícil, nosotros también lo somos. hay que tomárselo en serio. ¡Al igual que en la vida, sólo caminando con firmeza por el camino que tenemos por delante podemos afrontar el clímax que sigue!