Шумовые точки
Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 21 из 51.
Не каждая точка присоединяется к группе. DBSCAN помечает такие точки как -1: шум. В парке пикники — это группы, а люди, сидящие в одиночестве, — шум:
Подсчитайте оба значения:
labels = DBSCAN(eps=3, min_samples=4).fit_predict(X)
print((labels == -1).sum())
print(labels.max() + 1)Это выводит 9 и 4. Шум обозначается как -1, поэтому наибольшая метка по-прежнему учитывает толпы.
Шум — это не ошибка. Часто именно одиночные точки рассказывают историю: турист, сошедший с тропы, показание, отличающееся от остальных.
Задание
СреднеУ северных оленей есть GPS-ошейники. Стада — это группы животных; олень, оставшийся один, может потеряться или пострадать, поэтому пастух сначала навещает таких оленей. Стартовый код запускает DBSCAN со значением min_samples, считанным из ввода.
- Выведите количество стад.
- Выведите количество оленей, оставшихся в одиночестве.
- Выведите их метки списком, чтобы проверить, как они.
Для ошейников другого пастуха:
Herds: 2
Lone reindeer: 3
Check on: ['R011', 'R027', 'R040']Попробуйте увеличить min_samples: более строгое правило для группы оставляет в одиночестве больше оленей.
Попробуйте сами
import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN
# GPS-ошейники на рассвете: метка каждого северного оленя и его координаты в км
reindeer = pd.read_csv("reindeer.csv")
X = np.column_stack([reindeer["east_km"], reindeer["north_km"]])
min_samples = int(input())
labels = DBSCAN(eps=0.6, min_samples=min_samples).fit_predict(X)
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Обучение без учителя
1Поиск групп
Обучение без метокИзмерение сходстваK-Means вручнуюK-Means в scikit-learnПовторение: участники спортзала4Иерархическая кластеризация
Пошаговое объединениеАгломеративные моделиДендрограммыПовторение: породы собак2Выбор k
ИнерцияМетод локтяОценки силуэтаМасштабирование перед кластеризациейПовторение: зоны доставкиПотренируйтесь самостоятельно: Онлайн-компилятор Python