Menu
CoddyTech

Повторение: огни города

Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 23 из 51.

challenge icon

Задание

Средне

Помнишь карту долины из DBSCAN? Теперь составь такую сам. Спутник сфотографировал долину ночью; сгруппируй её огни по городкам и найди одиночные: фермы, маяк, кемпер. Программа считывает eps в км.

  1. Запусти DBSCAN с этим eps и min_samples=5.
  2. Выведи количество городков, количество одиночных огней и размер самого большого городка.
  3. Построй карту: для каждого городка — отдельная диаграмма рассеяния с подписью town of N lights, для одиночных огней — серые отметки x с подписью lone lights, а также легенда. Покажи её.

Для другой долины и eps 1.3:

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

Диаграмма с заголовком «Долина ночью»: длинный изогнутый городок из 77 огней, круглый городок из 47 и деревня из 20, каждый своим цветом, и 10 одиночных огней, обозначенных серыми крестиками x, с легендой

Coddy описывает твою карту. Затем попробуй eps 5: какие городки объединятся?

Попробуйте сами

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

# Ночной спутниковый снимок долины: одна строка на каждый источник света, координаты в км
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)")

# Напишите свой код ниже

Все уроки раздела Обучение без учителя

Потренируйтесь самостоятельно: Онлайн-компилятор Python