Các điểm nhiễu
Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 21 trên 51.
Không phải điểm nào cũng thuộc một đám đông. DBSCAN gán nhãn -1 cho những điểm đó: nhiễu. Trong công viên, các buổi dã ngoại tạo thành đám đông, còn những người ngồi một mình là nhiễu:
Đếm cả hai:
labels = DBSCAN(eps=3, min_samples=4).fit_predict(X)
print((labels == -1).sum())
print(labels.max() + 1)Lệnh này in ra 9 và 4. Nhiễu là -1, vì vậy nhãn lớn nhất vẫn tính cả đám đông.
Nhiễu không phải là lỗi. Thường thì những điểm riêng lẻ mới kể nên câu chuyện: một người đi bộ đường dài lạc khỏi đường mòn, một số đo khác hẳn những số còn lại.
Thử thách
Trung bìnhTuần lộc đeo vòng cổ GPS. Đàn là những nhóm đông; tuần lộc đi lẻ có thể bị lạc hoặc bị thương, vì vậy người chăn tuần lộc sẽ đến thăm chúng trước. Đoạn code ban đầu chạy DBSCAN với min_samples đọc từ đầu vào.
- In ra số đàn.
- In ra số tuần lộc đi lẻ.
- In ra thẻ của chúng dưới dạng danh sách để kiểm tra.
Dữ liệu vòng cổ của một người chăn tuần lộc khác:
Herds: 2
Lone reindeer: 3
Check on: ['R011', 'R027', 'R040']Thử giá trị min_samples lớn hơn: quy tắc nhóm đông nghiêm ngặt hơn khiến nhiều tuần lộc đi lẻ hơn.
Tự làm thử
import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN
# Vòng cổ GPS lúc bình minh: mã thẻ và vị trí tính bằng km của từng con tuần lộc
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)
# Viết code bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học không giám sát
1Tìm các nhóm
Học không cần nhãnĐo độ tương đồngTự thực hiện K-MeansK-Means trong scikit-learnÔn tập: thành viên phòng gym7PCA trong thực tế
Quan sát 64 chiềuCác thành phần như mẫu hìnhNén và dựng lạiPCA trước khi xây dựng mô hìnhÔn tập: máy quét khuôn mặt10Dự án: Khám phá chữ số
Quan sát các chữ sốThu gọn bằng PCAPhân cụm chữ sốĐặt tên cho các cụmTìm những chữ số khác biệt2Chọn k
Quán tínhPhương pháp khuỷu tayĐiểm số SilhouetteChuẩn hóa thang đo trước khi phân cụmÔn tập: Các vùng giao hàngTự luyện tập: Trình biên dịch Python online