Menu
CoddyTech

Pontos de Ruído

Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 21 de 51.

Nem todo ponto se junta a uma multidão. O DBSCAN rotula esses pontos como -1: ruído. Em um parque, os piqueniques são multidões e as pessoas sentadas sozinhas são ruído:

Um mapa de parque com quatro piqueniques como grupos compactos de pontos coloridos, com tamanhos 16, 12, 20 e 14, e nove pessoas sozinhas como marcas x cinzas espalhadas entre eles

Conte ambos:

labels = DBSCAN(eps=3, min_samples=4).fit_predict(X)
print((labels == -1).sum())
print(labels.max() + 1)

Isso imprime 9 e 4. Ruído é -1, então o maior rótulo ainda conta os grupos.

Ruído não é uma falha. Muitas vezes, os pontos isolados contam a história: um caminhante fora da trilha, uma leitura diferente das demais.

challenge icon

Desafio

Médio

As renas usam coleiras GPS. Os rebanhos são grupos; uma rena sozinha pode estar perdida ou ferida, então o pastor visita essas primeiro. O código inicial executa DBSCAN com min_samples lido da entrada.

  1. Imprima quantos rebanhos há.
  2. Imprima quantas renas estão sozinhas.
  3. Imprima as etiquetas delas como uma lista, para verificar como estão.

Para as coleiras de outro pastor:

Herds: 2
Lone reindeer: 3
Check on: ['R011', 'R027', 'R040']

Experimente um min_samples maior: uma regra mais rígida para formar grupos deixa mais renas sozinhas.

Experimente você mesmo

import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN

# Coleiras GPS ao amanhecer: a identificação e a posição de cada rena em km
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)

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Aprendizado não supervisionado

Pratique por conta própria: Compilador de Python online