Классификация по фиксированному правилу

9 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Алгоритм K-Means — это итеративный алгоритм кластеризации, который разбивает множество точек на K кластеров. Алгоритм работает следующим образом:

1. Инициализация: задаются начальные координаты K центров кластеров
2. Назначение: каждая точка относится к кластеру с ближайшим центром (по евклидову расстоянию)
3. Пересчёт: центр каждого кластера пересчитывается как среднее арифметическое координат всех точек, принадлежащих этому кластеру
4. Проверка сходимости: если центры не изменились — алгоритм завершается, иначе переход к шагу 2

Евклидово расстояние между точками \((x_1, y_1)\) и \((x_2, y_2)\)вычисляется по формуле: \(d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}\)

Реализуйте алгоритм K-Means и выведите результат его работы.

Формат входных данных

- Первая строка содержит два целых числа n и k (1 <= n <= 1000, 1 <= k <= 10, k <= n) — количество точек и количество кластеров.
- Следующие n строк содержат по два вещественных числа xi и yi (-106 <= xi, yi <= 106) — координаты точек.
- Следующие k строк содержат по два вещественных числа cxj и cyj (-106 <= cxj, cyj <= 106) — начальные координаты центров кластеров.


Формат выходных данных

- Первая строка должна содержать одно целое число — количество итераций, выполненных до сходимости.
- Следующие k строк должны содержать по два вещественных числа — финальные координаты центров кластеров (в том же порядке, что и во входных данных). Координаты выводить с точностью до 2 знаков после запятой.
- Следующие n строк должны содержать по одному целому числу — номер кластера для каждой точки (нумерация с 0, в том же порядке, что и точки во входных данных).
 
Примечания
- Сходимость достигается, когда координаты всех центров не изменяются между итерациями (с точностью до вычислительной погрешности 1e-9)
- При сравнении расстояний, если точка равноудалена от нескольких центров, она относится к кластеру с меньшим номером
- Если кластер оказался пустым (ни одна точка не была к нему отнесена), его центр остаётся на прежнем месте
- Гарантируется, что алгоритм сойдётся не более чем за 100 итераций

Классификация пациентов по температуре

Дана модель логистической регрессии для предсказания вероятности болезни пациента на основе его температуры тела. Модель использует сигмоидную функцию:
 \(p =\frac{1}{1+e^{-(w \cdot t + b)}}\)
где t — температура пациента, w и b — параметры модели.​

Пациент считается больным, если вероятность болезни P≥0.5.​


Формат входных данных

  • В первой строке через пробел вводятся два вещественных числа: w и b — параметры модели

  • Во второй строке вводится целое число n — количество пациентов (1≤n≤100)

  • В следующих n строках вводятся вещественные числа — температуры пациентов


Формат выходных данных
Для каждого пациента, который относится к классу "болен", вывести в отдельной строке два числа через пробел: его температуру и вероятность болезни (тольцо целую часть вероятности - без округления). Строки выводить в порядке возрастания температуры пациента.

Интернет-магазин анализирует поведение покупателей и автоматически делит их на группы: «экономные», «люксовые покупатели», «импульсные покупатели» и т.д.

Какой тип машинного обучения здесь применяется?

  1. Классификация
  2. Кластеризация
  3. Регрессия
Поделиться
Класснуть