Алгоритмы машинного обучения: базовый курс - страница 22



precision = precision_score(y_real, y_pred)

recall = recall_score(y_real, y_pred)

f1 = f1_score(y_real, y_pred)

print(f"Точность (Precision): {precision:.2f}")

print(f"Полнота (Recall): {recall:.2f}")

print(f"F1-метрика: {f1:.2f}")

```

Выводы:

Выбор метрики зависит от задачи.

– В регрессии лучше всего использовать RMSE или R², если важно понять, насколько модель точна.

– В классификации точность (Accuracy) хороша только при сбалансированных классах. При дисбалансе лучше смотреть на Precision, Recall и F1-score.

Метрики помогают не только оценить качество модели, но и понять, как её можно улучшить, например, добавив новые признаки или изменив параметры алгоритма.


Глава 5. Несувервизорное обучение

– Кластеризация: алгоритмы K-means и DBSCAN

– Снижение размерности: PCA

– Пример: сегментация данных

В мире машинного обучения многие задачи требуют работы с данными, для которых нет заранее подготовленных ответов. Представьте, что у вас есть огромный массив информации, но вы не знаете, как её структурировать, какие закономерности в ней скрыты и какие группы объектов можно выделить. Именно для таких случаев используется несупервизорное (без учителя) обучение.

В отличие от супервайзного обучения, где модель обучается на размеченных данных (где есть входные параметры и правильные ответы), несупервайзное обучение работает без заранее определённых меток. Оно помогает выявлять скрытые структуры в данных, группировать похожие объекты и уменьшать размерность данных, чтобы упростить их анализ.

В этой главе мы разберём два ключевых направления несупервайзного обучения:

– Кластеризацию, которая позволяет объединять похожие объекты в группы без предварительного знания о них. Мы рассмотрим два популярных алгоритма: K-means, который находит кластеры по заданному числу групп, и DBSCAN, который может выявлять группы любой формы, включая выбросы.

– Снижение размерности, которое помогает упростить анализ данных, убирая лишние признаки. Мы разберём метод PCA (анализ главных компонент), который позволяет визуализировать многомерные данные и находить в них основные закономерности.

В завершение мы рассмотрим практический пример, связанный с сегментацией данных, где продемонстрируем, как несупервайзное обучение может помочь выявить структуру в неразмеченной информации.


Кластеризация: алгоритмы K-means и DBSCAN

Кластеризация – это один из важнейших методов в рамках несупервизорного обучения, который позволяет разделить набор данных на группы, или кластеры, таким образом, что объекты внутри одного кластера схожи между собой, а объекты из разных кластеров – различаются. Этот метод используется, когда мы не знаем заранее, как классифицировать объекты, но хотим понять, есть ли в данных какие-то скрытые структуры или закономерности.

Одними из самых популярных и широко используемых алгоритмов кластеризации являются K-means и DBSCAN. Оба алгоритма имеют свои особенности и применяются в разных ситуациях, в зависимости от структуры данных.

Алгоритм K-means

K-means – это простой, но мощный алгоритм, который хорошо работает, когда данные имеют явно выраженные кластеры с похожими размерами и формой. В процессе работы K-means нужно заранее указать число кластеров, которое модель должна найти в данных. Идея алгоритма заключается в том, чтобы минимизировать внутрикластерное расстояние между объектами, при этом максимизируя расстояние между кластерами.