Agrupación de acciones mediante KMeans
En este ejercicio, agruparás empresas utilizando los movimientos diarios de sus cotizaciones bursátiles (es decir, la diferencia en dólares entre los precios de cierre y apertura de cada día de cotización). ¡Se te da una matriz NumPy movements
de movimientos diarios de precios de 2010 a 2015 (obtenidos de Yahoo! Finanzas), donde cada fila corresponde a una empresa, y cada columna corresponde a un día de cotización.
Algunas acciones son más caras que otras. Para tenerlo en cuenta, incluye un Normalizer
al principio de tu canalización. El Normalizador transformará por separado el precio de las acciones de cada empresa a una escala relativa antes de iniciar la agrupación.
Ten en cuenta que Normalizer()
es diferente de StandardScaler()
, que utilizaste en el ejercicio anterior. Mientras que StandardScaler()
estandariza las características (como las características de los datos de los peces del ejercicio anterior) eliminando la media y escalando a la varianza unitaria, Normalizer()
reescala cada muestra (en este caso, el precio de las acciones de cada empresa) independientemente de las demás.
KMeans
y make_pipeline
ya se han importado para ti.
Este ejercicio forma parte del curso
Aprendizaje no supervisado en Python
Instrucciones del ejercicio
- Importa
Normalizer
desdesklearn.preprocessing
. - Crea una instancia de la clase
Normalizer
denominadonormalizer
. - Crea una instancia de
KMeans
llamadakmeans
con clústeres de10
. - Utilizando
make_pipeline()
, crea una canalización llamadapipeline
que encadenenormalizer
ykmeans
. - Ajusta la canalización a la matriz
movements
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Import Normalizer
____
# Create a normalizer: normalizer
normalizer = ____
# Create a KMeans model with 10 clusters: kmeans
kmeans = ____
# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = ____
# Fit pipeline to the daily price movements
____