Кластеризация акций с помощью KMeans
В этом упражнении вы будете кластеризовать компании по ежедневным изменениям цен на их акции (то есть по разнице в долларах между ценой закрытия и ценой открытия за каждый торговый день). Вам предоставлен массив NumPy movements с ежедневными изменениями цен за период с 2010 по 2015 год (данные получены с Yahoo! Finance): каждая строка соответствует одной компании, а каждый столбец — одному торговому дню.
Цены на акции разных компаний существенно отличаются. Чтобы учесть это, добавьте в начало конвейера Normalizer. Он преобразует цены акций каждой компании к относительной шкале независимо от остальных — до начала кластеризации.
Обратите внимание: Normalizer() отличается от StandardScaler(), который вы использовали в предыдущем упражнении. StandardScaler() стандартизирует признаки (например, признаки данных о рыбах из предыдущего упражнения), вычитая среднее и масштабируя до единичной дисперсии. Normalizer() же масштабирует каждый объект выборки — в данном случае цену акций каждой компании — независимо от остальных.
KMeans и make_pipeline уже импортированы для вас.
Это упражнение является частью курса
Обучение без учителя на Python
Инструкции к упражнению
- Импортируйте
Normalizerизsklearn.preprocessing. - Создайте экземпляр
Normalizerс именемnormalizer. - Создайте экземпляр
KMeansс именемkmeansи числом кластеров10. - С помощью
make_pipeline()создайте конвейер с именемpipeline, объединив в нёмnormalizerиkmeans. - Обучите конвейер на массиве
movements.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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
____