Menu
CoddyTech

Ôn tập: Ánh đèn thành phố

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 23 trên 51.

challenge icon

Thử thách

Trung bình

Bạn còn nhớ bản đồ thung lũng với DBSCAN không? Giờ bạn sẽ tự tạo một bản đồ. Vệ tinh chụp ảnh thung lũng vào ban đêm; hãy nhóm các ánh đèn thành thị trấn và tìm những ánh đèn đơn lẻ: ở trang trại, ngọn hải đăng và xe cắm trại. Chương trình đọc eps tính bằng km.

  1. Chạy DBSCAN với eps đó và min_samples=5.
  2. In ra số thị trấn, số ánh đèn đơn lẻ và quy mô của thị trấn lớn nhất.
  3. Đánh dấu chúng trên bản đồ: mỗi thị trấn có một biểu đồ phân tán riêng, nhãn town of N lights; ánh đèn đơn lẻ được đánh dấu bằng x màu xám, nhãn lone lights, kèm chú giải. Hiển thị bản đồ.

Với một thung lũng khác và eps bằng 1.3:

Towns: 3
Lone lights: 10
Biggest town: 77 lights

Biểu đồ có tiêu đề Valley at Night: một thị trấn dài, cong với 77 ánh đèn, một thị trấn hình tròn với 47 ánh đèn và một ngôi làng với 20 ánh đèn, mỗi nơi có một màu riêng, cùng 10 ánh đèn đơn lẻ được đánh dấu bằng x màu xám và có chú giải

Coddy mô tả bản đồ của bạn. Sau đó, thử eps bằng 5: những thị trấn nào nhập vào nhau?

Tự làm thử

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN

# Ảnh chụp một thung lũng vào ban đêm từ vệ tinh: mỗi hàng ứng với một điểm sáng, vị trí tính bằng km
lights = pd.read_csv("lights.csv")
X = np.column_stack([lights["east_km"], lights["north_km"]])
eps = float(input())

fig, ax = plt.subplots()
ax.set_title("Valley at Night")
ax.set_xlabel("East (km)")
ax.set_ylabel("North (km)")

# Viết code bên dưới

Tất cả bài học trong Học không giám sát

Tự luyện tập: Trình biên dịch Python online