Кластеризація акцій за допомогою KMeans
У цій вправі ви кластеризуватимете компанії за їхніми щоденними змінами цін на акції (тобто різницею в доларах між ціною закриття та відкриття кожного біржового дня). Вам надано масив NumPy movements зі щоденними змінами цін за 2010–2015 роки (отримано з Yahoo! Finance), де кожен рядок відповідає компанії, а кожен стовпець — біржовому дню.
Деякі акції дорожчі за інші. Щоб це врахувати, додайте Normalizer на початку вашого конвеєра. Normalizer окремо перетворить цінові ряди кожної компанії до відносної шкали перед початком кластеризації.
Зверніть увагу, що Normalizer() відрізняється від StandardScaler(), який ви використовували у попередній вправі. Якщо StandardScaler() стандартизує ознаки (як-от ознаки даних про рибу з попередньої вправи), віднімаючи середнє та масштабує до одиничної дисперсії, то Normalizer() перевмасштабує кожен зразок — тут, кожної компанії ряд цін — незалежно від інших.
KMeans і make_pipeline уже імпортовано для вас.
Ця вправа є частиною курсу
Наглядове навчання в Python
Інструкції до вправи
- Імпортуйте
Normalizerзsklearn.preprocessing. - Створіть екземпляр
Normalizerпід назвоюnormalizer. - Створіть екземпляр
KMeansпід назвоюkmeansз10кластерами. - За допомогою
make_pipeline()створіть конвеєрpipeline, який послідовно виконуєnormalizerтаkmeans. - Навчіть конвеєр на масиві
movementsметодом.fit().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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
____