Red de conocimiento informático - Aprendizaje de código fuente - Visualización de datos: cuatro métodos de reducción de dimensionalidad no lineal

Visualización de datos: cuatro métodos de reducción de dimensionalidad no lineal

Reducción de dimensionalidad no lineal, es decir, calcular la distancia entre cada fila del conjunto de datos y otras filas (el valor predeterminado es la distancia euclidiana) y convertirla en probabilidades.

PCA es un método de reducción de dimensionalidad lineal que no puede explicar la relación entre polinomios complejos. t-SNE se basa en la incrustación de campos aleatorios distribuidos en t para encontrar características estructurales entre datos. La similitud en el espacio original está representada por la probabilidad conjunta gaussiana, y la similitud en el espacio de incrustación está representada por la "distribución t de Student".

Cargue los paquetes de software necesarios

Paso 1: Calcule la distancia de cada fila en el conjunto de datos de otras filas (el valor predeterminado es la distancia euclidiana) y conviértala en un vector de probabilidad;

Paso 2: Repita la operación anterior para cada fila para obtener la matriz de probabilidad;

Paso 3: Aleatorice los datos usando la distribución t de Student:

Paso 4 : Al minimizar la divergencia de KL e iterar paso a paso, la nueva matriz de probabilidad en el espacio bidimensional está lo más cerca posible del espacio original de alta dimensión.

En comparación con la distribución normal, el uso de la distribución t dispersa mejor los posibles grupos de datos y es más fácil de identificar según la precisión lograda. Compare t-SNE con PCA y otros modelos de reducción de escala lineal. La comparación muestra que; t-SNE puede proporcionar mejores resultados ya que el algoritmo define un límite suave entre la estructura local y global de los datos.

Desventaja: No se puede conservar la estructura global. La cantidad de cálculo es grande; no se pueden predecir datos nuevos; como PCA, la distancia entre grupos no es significativa;

dims: parámetro, establece la dimensión después de la reducción de dimensionalidad, el valor predeterminado es 2

perplejidad: controla la distribución de distancia en probabilidad: estructura local 5-30-50 estructura global, valor Menos de (nrow(data) - 1)/3, cuanto mayor sea el conjunto de datos, mayor será el valor del parámetro requerido;

theta: la compensación entre velocidad y precisión, cuanto mayor sea el valor, mayor mayor es la precisión Baja. El valor predeterminado es 0,5;

eta: tasa de aprendizaje, cuanto menor es, más precisa es, cuantas más iteraciones, menor es, el valor predeterminado es

max_iter: el número máximo de iteraciones, el valor predeterminado es 1000.

Datos verdaderos y falsos, el conjunto de datos de billetes se eliminará de la columna marcada como Estado y luego se asignará a bn. tsne

Visualización

Vea el diagrama del efecto de reducción de dimensionalidad de cada característica:

/p/824be2661d42

Suponga que los datos están distribuidos en el flujo de datos anterior, y la distancia entre filas se mide a lo largo del flujo de datos, entonces la reducción de dimensionalidad se logra mediante el uso de técnicas de flujo y proyección.

El primer paso es calcular la distancia entre puntos en el espacio de alta dimensión, luego proyectarlo en el espacio de baja dimensión y calcular la distancia entre los puntos en el espacio de baja dimensión

p>

En el segundo paso, se utiliza el descenso de gradiente estocástico para minimizar la diferencia entre estas distancias.

En comparación con t-SNE, requiere menos cálculo, es predecible para nuevos datos, se determina el algoritmo y se conserva la estructura binaria

n_neighbors: controla el radio del difuso área de búsqueda: de menos vecinos a más vecinos;

min_dist: la distancia mínima permitida entre filas en un espacio de baja dimensión: de más concentrado a más disperso;

métrica: elige una distancia métrica: distancia euclidiana, distancia de Manhattan, etc.

n_epochs: el número de iteraciones del paso de optimización.

El marco de datos contiene 4 variables y 50 observaciones.

Asesinato: Número de detenciones por asesinato por cada 100.000 habitantes

Asalto: Número de detenciones por agresión por cada 100.000 habitantes

UrbanPop: Porcentaje de población urbana

Violación:

Agrupe los datos según el tamaño de umap1 y establezca diferentes colores:

Establezca n_components = 3, ejecute UMAP y pase la parte de diseño del resultado a ggpairs ().

as.data.frame() gt;

setNames(c("umap1", "umap2")) gt

GGally::ggpairs( )

theme_bw()

/p/ ffe8a7e1e5a0

es una red neuronal autoorganizada (competitiva) que representa un conjunto de datos en dos dimensiones tales que similares Las filas se colocan muy juntas. Los conjuntos individuales con distancias pequeñas se clasifican en la misma categoría y los conjuntos individuales con distancias grandes se clasifican en categorías diferentes.

A diferencia de K-means, SOM no requiere que se proporcione el número de clústeres por adelantado.

Ventajas de SOM en comparación con LLE: algoritmo de reducción no lineal, se pueden asignar nuevos datos a SOM, el costo de capacitación es bastante bajo y el algoritmo LLE es repetible.

Desventajas de SOM y LLE:

1. Red de la capa de entrada: los nodos de la red de la capa de entrada tienen el mismo número de filas y columnas que el conjunto de datos, pero el conjunto de datos debe ser normalizado.

2. Red de la capa de salida: Generalmente, la red de la capa de salida se construye en función de las dimensiones del conjunto de datos.

(Ejemplo: en un caso bidimensional, si desea dividirlo en 4 categorías, la capa de salida se puede diseñar como una matriz de 4*2)

3. Al azar asigne pesos a cada nodo

p>

Defina las dimensiones del nodo de los pesos en función de las dimensiones del conjunto de datos de la capa de entrada y el número estimado de categorías en la capa de salida.

(Por ejemplo: el conjunto de datos es bidimensional, el número de filas de peso se establece en 2, el número de columnas de peso de las 4 categorías se establece en 4 y el valor de peso suele ser aleatorio seleccionado entre 0 y 1)

p>

4. Seleccione aleatoriamente una fila, calcule su distancia (similitud, generalmente distancia euclidiana) de cada peso de nodo en la cuadrícula y coloque la fila en el nodo con el peso más pequeño. distancia del peso de la fila (BMU, "mejor unidad coincidente").

5. Actualice la BMU (la idea básica es: cuanto más cerca del nodo ganador, mayor será la actualización; cuanto más lejos del nodo ganador, menor será la actualización) y el peso de los nodos en su vecindad (dependiendo de la función de vecindad).

6. Repita los pasos 3 a 5 para el número especificado de iteraciones.

LLE es un método ampliamente utilizado en gráficos y reducción de dimensionalidad de imágenes. Es una especie de Manifold Learning. Su implementación es simple. Se supone que los datos son lineales en una parte más pequeña. ciertos Un dato específico se puede representar linealmente mediante múltiples muestras en su vecindad. (LLE es muy adecuado para procesar datos rizados o distorsionados, pero no puede manejar variedades cerradas, conjuntos de datos dispersos, conjuntos de datos distribuidos de manera desigual, etc., lo que limita su aplicación).

1. Calcule el interlineado y establezca el hiperparámetro k.

2. Para una fila, seleccione sus k filas más cercanas y exprésela como una combinación lineal. El coeficiente de la combinación lineal es el peso.

3. Repita la operación anterior para cada fila para que los datos sigan siendo (casi) una combinación lineal de 2 o 3 dimensiones.

Ventajas: puede aprender variedades de baja dimensión que son localmente lineales en cualquier dimensión. La complejidad computacional es relativamente pequeña y fácil de implementar.

Desventajas: este algoritmo es muy sensible a la selección del número de muestras vecinas, y diferentes muestras vecinas tienen un gran impacto en el resultado final de reducción de dimensionalidad.

Además de la dimensión, k (el número de muestras vecinas más cercanas) es el único hiperparámetro que debe determinarse y k se puede calcular mediante la función: calc_k()

. ① m representa la dimensión, generalmente 2 o 3

② kmin y kmax determinan el rango de valores de k

③ Paralelo, si se ejecuta en múltiples núcleos, el valor predeterminado es no

④ cpus Especifique el kernel a utilizar. cpus especifica el núcleo de la CPU que se utilizará

establece los nombres de las columnas

comprueba los valores faltantes

Visualización de gráficos 3D

permite que las imágenes 3D Girar con el ratón

Encuentra el valor k que minimiza rho

Utiliza el mejor valor k para reducir la dimensión: