Ultralytics YOLO27:
Лицензия YOLO
Назад к глоссарию Ultralytics

Random Forest

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

Случайный лес — это алгоритм обучения с учителем, который обучает множество деревьев решений на случайных вариантах одних и тех же данных, а затем объединяет их предсказания: для классификации — голосованием или усреднением вероятностей классов, для регрессии — усреднением. Лео Брейман описал этот метод в статье Random Forests 2001 года, развив свою более раннюю технику бэггинга. Одно глубокое дерево запоминает строки обучающей выборки, поэтому даже небольшие изменения данных заметно влияют на его предсказания. Усреднение сотен деревьев, каждое из которых допускает разные ошибки, устраняет значительную часть этой дисперсии. Благодаря этому случайный лес — одна из самых надёжных моделей по умолчанию для табличных данных. Для него не требуется масштабирование признаков; он учитывает нелинейные взаимосвязи признаков, а его ошибка на тестовых данных перестаёт снижаться при добавлении новых деревьев.

Как работает случайный лес#

Случайный лес добавляет два источника случайности при обучении деревьев, поскольку ансамбль моделей приносит пользу, только если его участники допускают разные ошибки, а затем объединяет деревья:

  • Бутстрэп-агрегирование (бэггинг): каждое дерево обучается на бутстрэп-выборке — наборе строк того же размера, что и обучающие данные, выбранных с возвращением. Некоторые строки встречаются несколько раз, а примерно 37% строк (доля 1/e) не попадают в ту или иную выборку.
  • Случайные подмножества признаков: при каждом разбиении дерево рассматривает только случайное подмножество признаков. Классификатор Scikit-learn по умолчанию выбирает квадратный корень из общего числа признаков: например, для набора данных со 100 признаками при каждом разбиении рассматриваются 10 вариантов. Регрессор же по умолчанию рассматривает все признаки. Поэтому доминирующий признак не может оказаться в верхней части каждого дерева, что снижает корреляцию между деревьями.
  • Агрегация: в исходном методе Бреймана деревья голосуют большинством голосов. Реализация Scikit-learn вместо этого усредняет вероятности классов всех деревьев, а в регрессионных лесах усредняются числовые предсказания деревьев.

Деревья строятся глубокими и не обрезаются, поэтому у каждого из них низкое смещение и высокая дисперсия. Усреднение множества некоррелированных деревьев снижает дисперсию, сохраняя низкое смещение. Это выгодное перемещение по компромиссу между смещением и дисперсией. Поскольку деревья независимы друг от друга, их можно обучать параллельно на ядрах CPU.

Ошибка вне выборки и важность признаков#

Строки, которые дерево не видело, служат встроенной тестовой выборкой. При расчёте оценки вне выборки (OOB) для каждой обучающей строки используются только те деревья, в бутстрэп-выборки которых этой строки не было. Так можно оценить точность на неизвестных данных, не выделяя отдельную валидационную выборку. Лес также рассчитывает важность признаков. По умолчанию важность на основе нечистоты показывает, насколько каждый признак уменьшает нечистоту во всех разбиениях, но она отдаёт предпочтение признакам с множеством уникальных значений. Поэтому для ранжирования признаков надёжнее использовать перестановочную важность — снижение оценки после перемешивания значений одного признака.

В этом примере дерево, выращенное до максимальной глубины, сравнивается со случайным лесом scikit-learn на входящем в комплект наборе данных о раке молочной железы с помощью 5-блочной перекрёстной проверки, после чего выводится оценка леса OOB:

from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier

# 569 tumors described by 30 numeric features, labeled malignant or benign
X, y = load_breast_cancer(return_X_y=True)

# One fully grown tree vs. a forest of 300 trees on bootstrap samples
tree = DecisionTreeClassifier(random_state=0)
forest = RandomForestClassifier(n_estimators=300, oob_score=True, random_state=0)

# Compare 5-fold cross-validated accuracy
print(f"Single tree: {cross_val_score(tree, X, y, cv=5).mean():.3f}")
print(f"Forest:      {cross_val_score(forest, X, y, cv=5).mean():.3f}")

# Out-of-bag score: each row is predicted only by trees that never trained on it
forest.fit(X, y)
print(f"OOB score:   {forest.oob_score_:.3f}")

Скрипт выводит 0.917 для отдельного дерева, 0.963 для леса и оценку OOB 0.965. Лес снижает долю ошибок дерева с 8.3% до 3.7%, а оценка OOB отличается от точности, полученной перекрёстной проверкой за один запуск обучения, всего на 0.002.

Примеры применения в реальных условиях#

  • Кредитный риск и обнаружение мошенничества: банки оценивают заявки на кредиты и транзакции по табличным данным, таким как доход, срок существования счёта и структура расходов. На основе вероятностного прогноза леса выбирается порог принятия решения.
  • Прогнозирование рисков в здравоохранении: клинические модели предсказывают такие исходы, как повторная госпитализация, по историям болезни, а перестановочная важность показывает, какие измерения влияют на каждое предсказание.
  • Анализ спутниковых снимков: случайные леса давно используют для картографирования земного покрова — они классифицируют каждый пиксель или участок по значениям спектральных каналов и вегетационным индексам.
  • Моделирование урожайности: детектор YOLO26 считает фрукты или растения на снимках полей — одно обнаружение на каждый объект. Число объектов на участке добавляют к показателям почвы и погоды в виде столбцов случайного леса, который прогнозирует урожайность.
  • Отдельное дерево решений: дерево легко прочитать как набор правил «если — то», но даже небольшие изменения данных могут привести к совершенно другому дереву. Лес менее нагляден, зато у него значительно ниже дисперсия.
  • Градиентный бустинг: XGBoost, LightGBM и CatBoost строят неглубокие деревья одно за другим, и каждое исправляет ошибки предыдущих. После настройки бустинг часто показывает лучшие результаты в табличных бенчмарках, тогда как независимые деревья случайного леса обучаются параллельно и дают хорошие результаты с настройками по умолчанию.
  • Фундаментальные модели для табличных данных: предварительно обученные трансформеры обрабатывают новую таблицу за один прямой проход без подгонки модели под каждый набор данных и теперь соперничают с настроенными ансамблями деревьев на небольших таблицах.
  • Сверхслучайные деревья: для каждого признака-кандидата сверхслучайные деревья выбирают один случайный порог вместо поиска наилучшего, а затем оставляют лучшее из случайных разбиений. По умолчанию Scikit-learn обучает их на полном наборе данных без бутстрэп-выборки. Отказ от поиска порога ускоряет обучение по сравнению со случайным лесом того же размера.

Explore solutions

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее
Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Преобразуй изображения с дронов и других воздушных платформ в аналитические данные в реальном времени для сельского хозяйства, аквакультуры, экологического мониторинга, охраны природы и геопространственного анализа с помощью Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Используй модели Ultralytics YOLO для мониторинга с воздуха с помощью ИИ для компьютерного зрения. Применяй решения компьютерного зрения для дронов, аэрокосмических рабочих процессов, охраны окружающей среды и геопространственных отраслей.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения