Если мы не знаем, к какой категории нам следует отнести данные (правда муравья), мы можем использовать неконтролируемое обучение, чтобы позволить Python выполнять эту работу, однако это менее точно, чем обучение с учителем.
Здесь мы используем известный набор данных Iris data, который вы можете найти в Интернете.
Мы можем визуализировать только двух- или трехмерные данные с помощью точечной диаграммы, поэтому мы не можем сделать это с данными Iris.
кластеризация k-средних
k-кластеризация означает метод векторного квантования, родом из обработки сигналов, целью которого является разделить n наблюдений на k кластеров, в которых каждое наблюдение принадлежит кластеру с ближайшим средним (кластерным центрам или кластерному центроиду), служащему прототипом кластера.
Как это работает:
- Сначала мы устанавливаем, на сколько (k) групп разделить.
2. Затем в пространстве признаков (двухмерное пространство, реорганизованное по высоте оси x и телу оси y, если данные d-мерные, будет сформировано d-мерное пространство) случайным образом дать k кластерных центров.
3. Каждые данные будут иметь все k групп для расчета евклидова расстояния (евклидово расстояние, которое на самом деле является формулой расстояния по прямой, формула расстояния от начальной школы до большой, конечно, здесь расстояние можно заменить и другим расстоянием формулы, но в основном он по-прежнему основан на евклидовом расстоянии).
4. Отнесите каждую часть информации к ближайшей группе.
5. В каждом центре группы будут классифицированные данные, и эти данные будут обновлены в новом центре группы.
6. Повторяйте шаги 3–5 до тех пор, пока все сердца группы не изменятся слишком сильно (конвергенция).
Оценка кластеризации
Мы можем использовать кросс-таблицу для вычисления таблицы частот факторов.
Инерция — это индекс, который мы можем использовать, чтобы узнать производительность нашей модели.
Преобразование функций для лучшей кластеризации
Тематическое исследование
Вам дан массив samples
с измерениями рыбы. Каждая строка представляет отдельную рыбу. Измерения, такие как вес в граммах, длина в сантиметрах и процентное соотношение роста к длине, имеют очень разные масштабы. Чтобы эффективно кластеризовать эти данные, вам необходимо сначала стандартизировать эти функции. В этом упражнении вы создадите конвейер для стандартизации и кластеризации данных.
В этом случае используйте конвейер для стандартизации данных, затем k-means, а затем распечатайте кросс-таблицу.
Случай 2:
Вы будете группировать компании, используя их ежедневные движения цен на акции (то есть разницу в долларах между ценами закрытия и открытия для каждого торгового дня). Вам дан массив NumPy movements
ежедневных движений цен с 2010 по 2015 год (получен от Yahoo! Finance), где каждая строка соответствует компании, а каждый столбец соответствует торговому дню.
Некоторые акции дороже других. Чтобы учесть это, включите Normalizer
в начале конвейера. Нормализатор отдельно преобразует цену акций каждой компании в относительную шкалу до начала кластеризации.
Вероятно, у вас есть вопрос, в чем разница между нормализацией и стандартным масштабированием?
Normalizer действует по строкам, а StandardScaler по столбцам. Нормализатор не удаляет среднее и масштабирует по отклонению, а масштабирует всю строку до единичной нормы.
Если вам нравится мой контент, пожалуйста, похлопайте мне и подпишитесь на меня, спасибо :)
Будет больше статей и контента, связанных с Data Science и ML.
ссылка: ОБУЧЕНИЕ БЕЗ ПРИЗНАНИЯ В PYTHON, Бенджамин Уилсон, Datacamp