la entrada de base cero de la minería de datos - Análisis de previsión de precio de la transacción de automóviles usados de datos

0. Introducción

análisis exploratorio de datos, a saber, de EDA (análisis exploratorio de datos) objetivos son:

  • principales radica el valor de la AED en el conjunto familiar de datos para comprender el conjunto de datos, el conjunto de datos para validar el conjunto de datos para determinar la máquina se pueden utilizar para el posterior acceso al aprendizaje o el aprendizaje de profundidad a su uso.
  • Una vez que entendemos la recogida de datos el siguiente paso va a entender que hay una relación entre las variables y la relación entre las variables y el valor predicho.
  • Los datos científicos para guiar a los profesionales de procesamiento de datos y la ingeniería paso características de la estructura y el conjunto de características hacen que el siguiente conjunto de datos es un problema predicción más fiable.
  • Para el análisis exploratorio de datos completa, y algunas cartas o datos de texto y resumen del ponche.

Código, vea mi Github

1. Ejemplo de código

Todos los códigos están en jupyter notebookfuncionamiento, se pueden ver los resultados en tiempo real, tratamiento de los datos.

1.1 Carga de una variedad de datos y biblioteca de visualización científica

  • Datos de la Biblioteca de Ciencias: pandas, numpy, scipy
  • librería de visualización: matplotlib, seabon
  • otro
import warnings
warnings.filterwarnings('ignore')

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno

1.2 Datos Cargando

## 1) 载入训练集和测试集;
path = './'
Train_data = pd.read_csv(path+'used_car_train_20200313.csv', sep=' ')
Test_data = pd.read_csv(path+'used_car_testA_20200313.csv', sep=' ')

Pongo los datos en la carpeta actual, ' './' es representativa de la carpeta actual.
Todas las funciones son el proceso de desensibilización

Campo Descripción
SaleID ID de transacción, una codificación única
nombre nombre comercial del automóvil, desensibilizado
RegDate fechas de matriculación de vehículos, tales como 20160101, 1 de enero el año 2016
modelo modelos de codificación, insensibilizados
marca marca de automóviles, se ha desensibilizado
tipo de cuerpo Tipo de cuerpo: Limusina: 0, mini-coches: 1, furgonetas: 2, bus: 3, descapotables: 4, automóviles de dos puertas: 5, vehículos comerciales: 6, Mezclador: 7
tipo de combustible Tipo de combustible: Gasolina: 0, aceite diesel: 1, LPG: 2, Gas: 3, híbrido: 4, Otros: 5, potencia: 6
caja de cambios Transmisión: Manual: 0, de forma automática: 1
poder potencia del motor: el rango [0, 600]
kilómetro kilómetros de coches viajaban, la unidad Wan km
notRepairedDamage El coche no se ha reparado el daño: Sí: 0 No: 1
código de región código de área, desensibilizado
vendedor Vendedor: individual: 0, no individual: 1
offerType Tipo de oferta: Proporcionar: 0 ,: 1
creatDate Coche en la línea de tiempo, se inició la venta de tiempo
precio precios de los automóviles usados ​​(destino predicho)
v características de la serie características incluyen anónimos v0, v1, v2, ..., V14, incluyendo 15 de función anónima

Y después de unos datos de observación anterior:

## 2) 简略观察数据(head()+shape)
Train_data.head().append(Train_data.tail())

Aquí Insertar imagen Descripción
Del mismo modo, puede ver los datos de la prueba:
Aquí Insertar imagen Descripción

1.3 Descripción General Datos

  • 5 Pre Visualización de datos: dataframe.head ()
  • Comprobar los datos de información, incluyendo el nombre del tipo de datos de cada campo, el número de no vacíos, los campos: data.info ()
  • Ver resumen de datos estadísticos (recuento / media / std / min / 25% / 50% / 75% max): data.describe ()
  • Ver trama de datos tamaño: dataframe.shape
  • Columnas / Clasificación una matriz
    • Clasificar por una columna: secuencia positiva (inversa) df.groupby ([ 'Nombre de columna']) cumcount ().
    • Un valor de la fila o columna de la especie: sort_values ​​(por = "nombre de la columna Nombre / fila")
    • Una matriz en orden ascendente, devuelve el índice. Descendente, entonces se puede dar un signo negativo. numpy.argsort (a) o a.argsort ()
  • Adición de datos
    • a.sum (eje = 1): un array, sum (eje Y = 1) representa la suma de cada línea, por lo general sin eje 0 es el valor predeterminado, 0 representa la suma de cada columna.
  • operaciones de diccionario
    • lista ordenada en la parte posterior, o un valor del pedido diccionario

      ordenados (dic.items (), clave = lambda x: x [1], invierta = True)

      ordenados (dic.items (), clave = operator.itemgetter (1), revertir = True)

    • Diccionario función get:

      dic.get (clave, 0) es equivalente si ...... lo demás, si el valor de la clave DIC [clave] DIC en el diccionario se devuelve en el retorno 0 si no.

Los datos que faltan y la anormalidad juicio 1.4

El tipo de datos que faltan

  • deleciones completamente al azar (perdidos completamente al azar, MCAR): se refiere a los datos que faltan es completamente al azar, independiente de cualquier variable variable de incompleto o completo no afecta a las muestras insesgamiento, tales como dirección de casa deleción;
  • Perdidos al azar (faltan al azar, MAR): se refiere a los datos perdidos no es completamente aleatorio, que es una especie de falta de datos es completamente dependiente de otras variables, tales como la falta de datos financieros relacionados con el caso de las pequeñas empresas;
  • No faltan al azar (que falta no al azar, ARMN) : se refiere a la variable que falta y datos incompletos sobre sus propios valores, como las personas de altos ingresos, no tiene intención de proporcionar ingresos familiares;
      a los desaparecidos en falta aleatoria y no aleatoria, los registros se eliminan directamente razones inapropiadas dado anteriormente. Random eliminación de valores perdidos puede ser estimado por las variables conocidas, en lugar de una al azar no aleatoria falta no existe una solución buena.

Ver casos faltantes:

  • dataframe.isnull ()
      nivel de elemento se determina, las posiciones correspondientes de todos los elementos se enumeran, el elemento está vacío o NA representada Verdadero, de lo contrario es falsa

  • dataframe.isnull (). cualquier ()
      determinación del nivel de la columna, siempre que los elementos vacíos o NA y prometedores en la columna, es verdad, de lo contrario False

  • falta = dataframe.columns [dataframe.isnull (). any ()] .tolist ()
      va a descubrir una columna vacía o NA

  • trama de datos [falta] .isnull (). sum ()
      el número de columnas es el número de vacío o de NA

  • len (datos [ "característica"] [pd.isnull (datos [ "característica"])]) / len (datos))
      porcentaje de valores que faltan 
    acercarse:
    Aquí Insertar imagen Descripción

Ya sea jugando o en el proyecto actual, la situación se encontrará con los datos que faltan, si el conjunto de datos es pequeña, sino también en Excel u otro software de visualización en general, mirar la causa de los datos que faltan, entonces el conjunto de datos es grande, falta explorar la ley que, sin duda, la dificultad va en aumento, como se usa en este documento, un missingno paquete de visualización valor faltante, esta bolsa cuenta con un muy simple, sólo unos pocos métodos, sino que también es particularmente conveniente para el uso, pero se puede utilizar solamente pandas juntos, que pueda dijo que los pandas derivados cuenta con una gran artefacto.

1.5 comprender la distribución de los valores previstos

Seleccione las columnas que desea predecir y analizar.
Si usted no sigue una distribución normal, se debe convertir antes de vuelta. Mientras que estamos haciendo muy bien la transformación logarítmica, pero es la mejor distribución ilimitada ajuste Johnson.
código de referencia específico.

  • El perfil general de distribución (Johnson distribución ilimitada, etc.)
  • Ver asimetría y curtosis
  • Ver el valor previsto de la frecuencia específica

1.6 características se dividen en categorías y características de características digitales, características y categorías para ver la distribución exclusiva

1.7 análisis de características digitales

  • El análisis de correlación
  • Ver características asimetría y varios tienen pico
  • Cada visualización de distribución de firmas digitales obtenida
  • La relación entre cada firma digital visualizada
  • la visualización de regresión multivariante de las relaciones mutuas

1.8 Tipo de funciones de análisis

  • distribución única
  • cuadro de visualización característica de clase figura
  • La figura clase de violín visualización característico
  • bar Visualización clase gráfica de clase característicos
  • Cada frecuencia de la función de categorías visualizadas (count_plot)

1.9 con pandas_profiling datos de informe

resumen

EDA paso se da pasos generales en el amplio proyecto real o durante la carrera, esto es sólo el comienzo paso, y es el paso más básico.

A continuación, el efecto del modelo generalmente vinculante características de ingeniería y modelado para analizar la situación real de los datos, de acuerdo con algunos de su propia comprensión de la literatura, juicios marca y la comprensión en profundidad de los problemas prácticos.

Por último, con el procesamiento y la minería de datos en curso EDA las, para llegar a una mejor distribución de las estructuras y funciones de datos relativamente fuerte y relacionados

Explorar los datos en el aprendizaje de máquina, que generalmente se conoce como EDA (Análisis exploratorio de datos):

是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法。

Exploración de datos nos ayudará a encontrar la correlación entre algunas de las características de los datos, los datos para la función de acumulación posterior es útil.

  1. Para el análisis preliminar de los datos (ver los datos directamente o .sum (), .mean (), descirbe () y otras funciones estadísticas.) De: número de muestras, el número de conjunto de entrenamiento, si hay características de tiempo, si es cuestión de la mañana, (función no anónimo) característica significa representado, los tipos de entidades (carácter similar, int, float, tiempo), supresiones, características (manifestaciones déficit de atención en los datos, algunas vacías y algunos son símbolos "NAN" ), características media y la varianza de la situación.

  2. Análisis de la grabación de ciertas características que faltan los valores que faltan representaba más del 30% del procesamiento de la muestra, la validación del modelo y facilitar el ajuste posterior, caracterizado análisis debe ser llenado (llenado qué manera, relleno media, relleno de ceros, un modo como el llenado), o establecer o hacer primero la muestra de clasificación para predecir modelos con diferentes características.

  3. Los valores atípicos hacen análisis especializado, si la característica es valor anormal anormalidad etiqueta (o desviación media de símbolos especiales distantes o algo así), ya sea el valor atípico debe ser eliminado, o lleno de normal, la grabación es anormal, anormalidad o la propia máquina .

  4. Para la etiqueta para hacer un análisis especial, la distribución y otras etiquetas.

  5. análisis de progreso se puede lograr mediante las características de mapeo, características y etiqueta co-hacer gráfico (gráficos, los gráficos de dispersión), una comprensión intuitiva de las características de la distribución, por este paso también puede encontrar algunos valores atípicos en los datos, por análisis de cuadro de trama algunos desviación de los valores característicos para los rasgos característicos y mapeo de asociación, las características y la etiqueta para el mapeo de asociación, en el que el análisis de alguna relevancia.

Publicado 21 artículos originales · ganado elogios 1 · vistas 1122

Supongo que te gusta

Origin blog.csdn.net/Elenstone/article/details/105067891
Recomendado
Clasificación