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

Книгу можно купить на ЛитРес.
Всего за 690 руб. Купить полную версию
Шрифт
Фон

R² = 1 означает идеальную модель (все точки лежат на линии предсказания).

R² = 0 значит, что модель предсказывает не лучше случайного угадывания.

R² < 0 говорит о том, что модель вообще не подходит.

Пример кода:

```python

from sklearn.metrics import r2_score

r2 = r2_score(y_real, y_pred)

print(f"Коэффициент детерминации (R²): {r2:.2f}")

```

Метрики для задач классификации

Точность (Accuracy) Показывает, какая доля предсказаний оказалась верной.

Формула:

Пример: Если модель правильно определила 90 писем как "не спам" и 10 как "спам" из 100 писем, точность составит 90%.

Пример кода:

```python

from sklearn.metrics import accuracy_score

y_real = [1, 0, 1, 1, 0, 0, 1, 0, 1, 1] # Истинные метки (1 спам, 0 не спам)

y_pred = [1, 0, 1, 0, 0, 0, 1, 0, 1, 1] # Предсказанные моделью метки

accuracy = accuracy_score(y_real, y_pred)

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

```

Недостаток Accuracy:

Если классы сильно несбалансированы (например, 95% данных это "не спам", а 5% "спам"), модель может просто всегда предсказывать "не спам" и получать 95% точности, но при этом не распознавать спам.

Матрица ошибок (Confusion Matrix)

Показывает, сколько раз модель правильно и неправильно предсказала каждый класс.

```python

from sklearn.metrics import confusion_matrix

conf_matrix = confusion_matrix(y_real, y_pred)

print("Матрица ошибок:\n", conf_matrix)

```

Где:

`TN` (True Negative) правильно определённые объекты класса "не спам"

`TP` (True Positive) правильно определённые объекты класса "спам"

`FN` (False Negative) спам, который модель не распознала

`FP` (False Positive) "не спам", ошибочно классифицированный как спам

Precision, Recall, F1-score

Когда классы несбалансированы, точность уже не так важна. Лучше использовать Precision

(точность) и Recall (полноту):

Precision из всех предсказанных "спам", сколько реально является спамом.

Recall из всех реальных "спам", сколько модель нашла.

F1-score среднее значение Precision и Recall.

Пример кода:

```python

from sklearn.metrics import precision_score, recall_score, f1_score

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 нужно заранее указать число кластеров, которое модель должна найти в данных. Идея алгоритма заключается в том, чтобы минимизировать внутрикластерное расстояние между объектами, при этом максимизируя расстояние между кластерами.

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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3