# 菜鸟 机 学 的 逆袭 之 路 # día12

En python pandas, para una matriz unidimensional, describe devolverá una serie de parámetros, cuenta, media, estándar, mín., 25%, 50%, 75%, máx.
Para resolver este problema, el valor de retorno de describe () se explica de la siguiente manera:

1. cuenta: devuelve el número de matrices, como arriba es 4 elementos, entonces el retorno es 4;

2. mean: devuelve el valor promedio de la matriz, el valor promedio de 1 3 5 9 es 4.5;

3. std: devuelve la desviación estándar de la matriz;

4. min: devuelve el valor mínimo de la matriz;

5. 25%, 50%, 75%: devuelve los valores de tres posiciones de percentil diferentes de la matriz, es decir, los cuartiles en las estadísticas. Primero, necesita determinar la posición de los tres cuartiles. La posición del primer cuartil Q1 es: (1 + 4) / 4 = 1.25. De manera similar, la posición de Q2 es: (1 + 4) / 4 × 2 = 2.5, la posición de Q3 es: (1 + 4) / 4 × 3 = 3.75, entonces los números correspondientes a las tres posiciones son:

1×0.25+3×0.75=2.5

3×0.5+5×0.5 = 4

5×0.75+9×0.25 = 6

Ese es el valor correspondiente devuelto por la función, de los cuales el 50% corresponde a la mediana.

6. max: devuelve el valor máximo de la lista.

Información extendida:

La función describe () tiene tres parámetros que se pueden especificar, a saber, percentiles, incluir y excluir. Los significados de los tres son los siguientes:

1. percentiles: el valor predeterminado es devolver los cuartiles, es decir, 25%, 50% y 75%, que se pueden modificar: describir (percentiles = [. 75, 0.8]), la posición devuelta es 50%, 75%, 80% El número puede procesarse en consecuencia.

2. incluir: Por defecto, solo se calculan las estadísticas de las características numéricas. Cuando el parámetro es 'todos', se muestran todos los tipos de datos; cuando el parámetro es numpy.number, se devuelven los datos numéricos; cuando el parámetro es numpy.object , Los datos devueltos son de tipo objeto; cuando include = ['categoría'], devuelve categoría; cuando include = ['O'], devuelve datos de cadena.

3. Excluir: include puede especificar el tipo de retorno, y excluir puede especificar no devolver un cierto tipo, es decir, devolver datos que no sean del tipo especificado.
Fuente de referencia: Python API-describe

Fuente de referencia: Baidu Encyclopedia-Quartile

¡La función loc indexa principalmente datos de fila a través de etiquetas de fila, delinea puntos clave y etiquetas! Etiqueta! Etiqueta!
loc [1] selecciona la etiqueta de fila para que sea 1 (de 0, 1, 2, 3 etiquetas de fila)

Enlace de referencia Seaborn:
https://blog.csdn.net/wqc_csdn/article/details/80515920

donde ()

En primer lugar, debe enfatizarse que la función where () devuelve solo entradas diferentes para entradas diferentes.

1 Cuando la matriz es una matriz unidimensional, el valor devuelto es un índice unidimensional, por lo que solo hay un conjunto de matriz de índice

2 Cuando la matriz es una matriz bidimensional, el valor de la matriz que cumple con la condición devuelve el índice de posición del valor, por lo que habrá dos conjuntos de matrices de índice para indicar la posición del valor

por ejemplo:
1 >>> b = np.arange (10)
2 >>> b
3 array ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
4 >>> np .where (b> 5)
5 (array ([6, 7, 8, 9], dtype = int64),)
6
7 >>> a = np.reshape (np.arange (20), (4,5) )
8 >>> un
conjunto de 9 ([[0, 1, 2, 3, 4],
10 [5, 6, 7, 8, 9],
11 [10, 11, 12, 13, 14],
12 [ 15, 16, 17, 18, 19]])
13 >>> np. Donde (a> 10)
14 (matriz ([2, 2, 2, 2, 3, 3, 3, 3, 3], dtype = int64),
15 array ([1, 2, 3, 4, 0, 1, 2, 3, 4], dtype = int64))

Observaciones: np.where función: el valor de índice devuelto es una tupla, debe agregar [0] para obtener el valor de índice deseado.

randint (n, m) produce una matriz de dimensiones n * m. Los elementos de la matriz son 0 o 1, que es aleatorio.

Si desea generar un rango de números, puede establecer un intervalo, como randint (2,3, [1 6]), que es generar una matriz aleatoria 2 * 3 cuyos elementos son números aleatorios en el intervalo [1 6].

En este caso, se usa un número para representar el intervalo. Por ejemplo, randint (num, N, 3) en matlab significa producir una matriz num * N, y el rango de elementos en la matriz es [0, (3-1)]
Si el valor es negativo, como randint (num, N, -3) en matlab, significa que el intervalo es [-3 + 1,0]

Enlace original: https://blog.csdn.net/yimixgg/article/details/87875103

Mostrar imagen plt.imshow (X_recovered)
consejo: X_recovered es pixel

** introducción del parámetro sklearn.cluster.KMeans (* VIP)
¿Por qué deberíamos introducir kmeans en la biblioteca sklearn?
  Esta es ahora la biblioteca integrada más popular para el aprendizaje automático de Python. Al mismo tiempo, debido a este método, mirar directamente los documentos en inglés es agotador y requiere mucho tiempo, y la eficiencia es relativamente baja, por lo que es mejor tomar notas y sentar las bases.
  Aquí hay otra razón: K-means ++ se presentó anteriormente. La selección del centro de agrupación inicial de sklearn.cluster.KMeans resulta ser k-means ++ de forma predeterminada.
Parámetros:
n_clusters: shaping, default = 8 [el número de clústeres generados, es decir, el número de centroides generados. ]
Max_iter: plástico, por defecto = 300
realizar el número máximo de iteraciones algoritmo de k-medias se realiza una vez.
n_init: shaping, default = 10
veces el algoritmo se ejecuta con diferentes valores de inicialización del centroide, y la solución final es el resultado óptimo seleccionado en el sentido de inercia.
init: Hay tres valores opcionales: 'k-means ++', 'random' o pasar un vector ndarray.
Este parámetro especifica el método de inicialización, el valor predeterminado es 'k-means ++'.
(1) 'k-means ++' utiliza un método especial para seleccionar el centroide inicial para acelerar la convergencia del proceso iterativo (es decir, la introducción de k-means ++ anterior)
(2) 'random' selecciona aleatoriamente el centroide inicial de los datos de entrenamiento.
(3) Si se pasa un ndarray, debería verse como (n_clusters, n_features) y dar el centroide inicial.
precompute_distances: tres valores opcionales, 'auto', verdadero o falso.
Distancia calculada previamente, la velocidad de cálculo es más rápida pero ocupa más memoria.
(1) 'auto': si el número de muestras multiplicado por el número de grupos es mayor que 12 millones, la distancia no se calcula previamente. Esto corresponde a aproximadamente 100 MB de sobrecarga por trabajo con doble precisión.
(2) Verdadero: calcule siempre la distancia por adelantado.
(3) Falso: la distancia nunca se calcula por adelantado.
tol: forma flotante, por defecto = 1e-4 combinado con inercia para determinar las condiciones de convergencia.
n_jobs: número entero. Especifica el número de procesos utilizados en el cálculo. El principio interno es calcular el número de veces especificado por n_init al mismo tiempo.
(1) Si el valor es -1, todas las CPU se utilizan para el cálculo. Si el valor es 1, no se realiza ninguna operación en paralelo, lo cual es conveniente para la depuración.
(2) Si el valor es menor que -1, el número de CPU utilizadas es (n_cpus + 1 + n_jobs). Por lo tanto, si el valor de n_jobs es -2, el número de CPU utilizadas es el número total de CPU menos 1.
random_state: entero o numpy. Tipo de estado aleatorio,
generador opcional utilizado para inicializar el centroide. Si el valor es un entero, se determina una semilla. El valor predeterminado de este parámetro es el generador de números aleatorios de numpy.
copy_x: Boolean, default = True
Cuando precalculamos distancias, centralizando los datos obtendremos resultados más precisos. Si el valor de este parámetro se establece en Verdadero, los datos originales no se cambiarán. Si es False,
modificará directamente los datos originales y los restaurará cuando la función devuelva el valor. Sin embargo, debido a la suma y resta de la media de los datos durante el cálculo, puede haber pequeñas diferencias entre los datos originales y los datos originales después de que se devuelven los datos.
Propiedades:
cluster_centers_: vector, [n_clusters, n_features] (coordenadas de los centros del cluster)
Etiquetas_: clasificación de cada punto
inercia_: forma flotante La
suma de las distancias de cada punto desde el centroide de su cluster.
Notas:
  Este medio k utiliza el algoritmo de Lioyd. La complejidad computacional promedio es O (knT), donde n es el tamaño de la muestra y T es el número de iteraciones.
  La lectura computacionalmente compleja es O (n ^ (k + 2 / p)) en el peor de los casos, donde n es el tamaño de la muestra y p es el número de características. (D. Arthur y S. Vassilvitskii, "¿Qué tan lento es el método k-means?" SoCG2006)
  En la práctica, el algoritmo k-means es muy rápido y pertenece a la categoría más rápida de algoritmos prácticos. Pero su solución es solo una solución parcial generada por un valor inicial específico. Por lo tanto, para que el resultado sea más preciso y verdadero, es necesario repetirlo con diferentes valores iniciales varias veces en la práctica.
Métodos:
ajuste (X [, y]):
 Calcular el agrupamiento de k-medias.
fit_predictt (X [, y]):
 calcula el centroide del clúster y predice la categoría para cada muestra.
fit_transform (X [, y]):
calcula el clúster y transforma X en espacio de distancia del clúster.
get_params ([deep]):
 obtiene los parámetros del estimador.
predecir (X): predecir (X)
 estima el grupo más cercano a cada muestra.
score (X [, y]):
 calcular el error de agrupación
set_params ( params):
 establecer parámetros manualmente para este estimador.
transform (X [, y]): transforma X en el espacio de distancia del clúster.
 En el nuevo espacio, cada dimensión es la distancia al centro del clúster. Tenga en cuenta que incluso si X es escasa, la matriz devuelta por la conversión suele ser densa.

31 artículos originales publicados · elogiados 0 · visitas 692

Supongo que te gusta

Origin blog.csdn.net/ballzy/article/details/104880744
Recomendado
Clasificación