Binning en minería de datos

| | | | | | | | | |

El agrupamiento de datos es un método de preprocesamiento de datos que se utiliza para minimizar los efectos de pequeños errores de observación. Los valores de datos originales se dividen en pequeños rangos conocidos como contenedores y luego se reemplazan por un valor calculado general para ese contenedor. Esto tiene un efecto de suavizado en los datos de entrada y también puede reducir las posibilidades de sobreajuste en el caso de conjuntos de datos pequeños.

Hay 2 métodos para dividir los datos en cuadros:

  • Agrupamientos de igual frecuencia: los contenedores tienen la misma frecuencia.
  • Agrupamientos de igual anchog: los contenedores tienen el mismo ancho con un rango de cada contenedor definido como [min + w], [min + 2w] ‚Ķ. [min + nw] donde w = (máx. ‚Äì min) / (n.º de contenedores).

Agrupamientos de igual frecuencia

Entrada:[5, 10, 11 , 13, 15, 35, 50, 55, 72, 92, 204, 215] Salida: [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] 

Binning de ancho igual:

Entrada: [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] Salida: [5, 10, 11, 13, 15, 35, 50, 55, 72] [92] [204, 215] 

Implementación de la técnica de binning

# igual frecuencia def equifreq(arr1, m) : a = len(arr1) n = int(a / m) for i in range(0, m): arr = [] for j in range(i * n, (i + 1) * n): si j > = a: break arr = arr + [arr1[j]] print(arr) # ancho igual def equiwidth(arr1, m): a = len(arr1) w = int((max(arr1) - min(arr1)) / m) min1 = min(arr1) arr = [] for i in range(0, m + 1): arr = arr + [min1 + w * i] arri=[] for i in range(0, m): temp = [] para j en arr1: si j >= arr[i] y j <= arr[i+1]: temp += [j] arri += [temp] print(arri) # datos a agrupar datos = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] # de bins m = 3 print("intervalos de igual frecuencia") equifreq(datos, m) print("intervalos de igual ancho") equiwidth(datos, 3) 

Salida:

igual frecuencia agrupamiento [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] agrupamiento de ancho igual [[5, 10, 11, 13, 15, 35, 50, 55, 72 ], [92], [204, 215]] 

¿Qué es el agrupamiento de datos?

El agrupamiento, también llamado discretización, es una técnica para reducir la cardinalidad de datos continuos y discretos. La categorización agrupa los valores relacionados en categorías para reducir la cantidad de valores distintos.

La categorización puede mejorar la utilización de recursos y el tiempo de respuesta de creación de modelos de manera espectacular, sin una pérdida significativa en la calidad del modelo. La categorización puede mejorar la calidad del modelo, fortaleciendo la relación entre los atributos.

La agrupación supervisada es una forma de agrupación inteligente en la que se utilizan características importantes de los datos para determinar los límites de la agrupación. En el binning supervisado, los límites del bin se identifican mediante un árbol de decisión de predictor único que tiene en cuenta la distribución conjunta con el destino. La categorización supervisada se puede usar para atributos numéricos y categóricos.





Procesamiento de datos de imágenes

En el contexto del procesamiento de imágenes, binning es el proceso de combinar un grupo de píxeles en un solo píxel. Por lo tanto, con el binning de 2x2, la matriz de 4 píxeles se convierte en un píxel más grande [1], lo que reduce el número total de píxeles.

Esta agregación, aunque se asocia con la pérdida de información, reduce la cantidad de datos que se procesarán. facilitando así el análisis. Por ejemplo, la agrupación de datos también puede reducir el efecto del ruido de lectura en la imagen procesada (a costa de una resolución más baja).

Ejemplo de uso

Los histogramas son un ejemplo de agregación de datos para observar las distribuciones subyacentes. Por lo general, ocurren en un espacio unidimensional y a intervalos regulares para facilitar la visualización.

La fusión de datos se puede utilizar cuando se requieren pequeños cambios instrumentales en la medición espectral de espectrometría de masas (MS) o experimentos de resonancia magnética nuclear (RMN). malinterpretado como representación de diferentes componentes cuando se envía un conjunto de perfiles de datos. a un análisis de reconocimiento de patrones. Una forma sencilla de resolver este problema es utilizar técnicas de agrupamiento que reducen la resolución espectral lo suficiente como para garantizar que un pico determinado permanezca en su contenedor a pesar de los pequeños cambios espectrales entre análisis. Por ejemplo, en NMR, el eje de desplazamiento químico se puede discretizar y dividir aproximadamente en intervalos, y en MS, las precisiones espectrales se pueden redondear a valores enteros "de unidades de masa atómica". Además, algunos sistemas de cámaras digitales incluyen la agrupación automática de píxeles para mejorar el contraste de la imagen.

El binning también se utiliza en el aprendizaje automático para acelerar un método de mejora del árbol de decisión para la clasificación supervisada y la regresión en algoritmos como Microsoft LightGBM y el gradiente árbol de clasificación de amplificación. basado en el histograma de scikit-learn.

Ventajas (pros) del suavizado de datos

El suavizado de datos aclara la comprensibilidad de varios patrones ocultos importantes en el conjunto de datos. El suavizado de datos se puede utilizar para predecir tendencias. Las predicciones son muy útiles para tomar las decisiones correctas en el momento adecuado.

El suavizado de datos ayuda a obtener resultados precisos de los datos.

Desventajas del suavizado de datos

El suavizado de datos no siempre proporciona una explicación clara de los patrones entre los datos. Es posible que se ignoren ciertos puntos de datos al enfocar los otros puntos de datos.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method