Proyecciones
Parte de la sección Aprendizaje no supervisado del Journey de Machine Learning de Coddy. Lección 25 de 51.
Una proyección proyecta cada punto en línea recta sobre una línea, como una sombra. Aquí están los gemelos de vino de Demasiadas características, centrados en su media, sobre dos líneas:
A lo largo de la nube, las sombras conservan la mayor parte de la dispersión, así que un número por vino dice casi lo mismo que dos.
Una dirección son dos números cuyos cuadrados suman 1, como (0.6, 0.8). Una proyección es una suma ponderada:
centered = X - X.mean(axis=0)
shadow = centered[:, 0] * 0.6 + centered[:, 1] * 0.8
print(round(shadow.std(), 3))Esto imprime 1.136. La mejor dirección conserva la mayor dispersión.
Desafío
IntermedioUn silvicultor quiere un número por piña en lugar de la longitud y el ancho. ¿Cuál de las dos direcciones conserva más dispersión de las piñas? El programa lee dos direcciones, con dos números cada una.
- Escribe
spread_along(direction): la desviación estándar de las proyecciones de las piñas sobre esa dirección. - Imprime ambas dispersiones con 3 decimales.
- Imprime la dirección que se debe conservar.
Para otras piñas:
Along [0.6, 0.8]: spread 2.104
Along [0.8, -0.6]: spread 0.412
Keep [0.6, 0.8]Pruébalo tú mismo
import numpy as np
import pandas as pd
# Un ingeniero forestal midió 70 piñas de pino: su longitud y anchura en cm
cones = pd.read_csv("cones.csv")
X = np.column_stack([cones["length_cm"], cones["width_cm"]])
first = [float(input()), float(input())]
second = [float(input()), float(input())]
# Escribe tu código a continuación
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Aprendizaje no supervisado
1Encontrar grupos
Aprender sin etiquetasMedir la similitudK-Means a manoK-Means en scikit-learnRepaso: miembros del gimnasio7PCA en la práctica
Visualizar 64 dimensionesComponentes como patronesComprimir y reconstruirPCA antes de un modeloRepaso: escáner facial10Proyecto: Explorador de dígitos
Observa los dígitosReduce con PCAAgrupa los dígitosPon nombre a los gruposEncuentra los diferentes2Elegir k
InerciaEl método del codoPuntuaciones de siluetaEscalar antes de agruparRepaso: zonas de entrega3Interpretación de los clústeres
Perfilado de clústeresCentros en unidades realesClústeres frente a etiquetas conocidasCuándo falla K-MeansRepaso: cata de téPractica por tu cuenta: Compilador de Python online