Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Випадковість Лісу | Випадковий Ліс
Класифікація з Python

bookВипадковість Лісу

Random Forest створює велику кількість дерев рішень — зазвичай близько 100 або навіть більше. Створити так багато різних дерев лише шляхом налаштування параметрів складно, тому для цього вводиться випадковість. На щастя, дерева рішень дуже чутливі до незначних змін у даних та налаштуваннях, що природно призводить до широкого різноманіття дерев у лісі.

У Random Forest існує два джерела випадковості:

  1. Вибірка даних для кожного дерева;
  2. Вибірка ознак на кожному вузлі прийняття рішень кожного дерева.

Вибірка даних

Щоб створити різні навчальні набори для кожного дерева рішень у лісі, використовується метод bootstrap (також відомий як bagging). Ідея полягає у вибірці, з поверненням, набору даних такого ж розміру для кожного дерева.

За замовчуванням розмір набору даних для кожного дерева відповідає розміру оригінального набору даних. Вибірка з поверненням означає випадковий вибір точки даних із навчального набору — подібно до витягування карти з колоди. Однак, на відміну від звичайного витягування карт, кожна вибрана точка даних не видаляється, тому одну й ту ж точку даних можна вибрати кілька разів.

Кожне дерево навчається на різній підмножині даних, що вже допомагає зробити дерева різноманітними. Щоб додати ще більше випадковості та пришвидшити навчання, можна також обмежити кількість ознак, які кожне дерево розглядає під час розбиття.

Вибірка ознак

У стандартному дереві рішень кожен вузол розглядає всі доступні ознаки для пошуку найкращого розділення — зазвичай шляхом обчислення таких метрик, як Gini impurity. Цей процес є обчислювально затратним.

У випадковому лісі на кожному вузлі розглядається лише випадкова підмножина ознак. Це пришвидшує навчання та додає випадковість, що сприяє різноманітності дерев. Поширеним підходом є використання квадратного кореня із загальної кількості ознак. Наприклад, якщо є 9 ознак, на кожному вузлі випадково обирають 3; якщо ознак 10,000, приблизно 100 можуть бути вибрані.

Ознаки вибираються без повернення, тобто одна й та сама ознака не з’явиться більше одного разу на одному вузлі. Кількість ознак для розгляду можна налаштовувати залежно від задачі.

Ви можете керувати кількістю ознак, які розглядаються на кожному вузлі рішення, за допомогою параметра max_features у реалізації scikit-learn. Ось деякі популярні варіанти:

  • max_features='sqrt': використовується квадратний корінь із загальної кількості ознак. Це типовий вибір, який балансує точність та ефективність;
  • max_features='log2': використовується двійковий логарифм від загальної кількості ознак, що забезпечує ще більшу випадковість;
  • max_features=0.1: використовується 10% ознак, де значення розглядається як частка.
Note
Примітка

Ви також можете встановити max_features як будь-яку частку між 0 та 1 (наприклад, max_features=0.1 використовує 10% ознак).

Підсумовуючи, випадковий ліс побудований таким чином, що кожне дерево навчається на різній вибірці даних, а кожен вузол прийняття рішень у цих деревах розглядає різні випадкові підмножини ознак. Така вбудована випадковість призводить до різноманітної колекції дерев, що в підсумку покращує загальну ефективність моделі.

question mark

Що допомагає досягти випадковості у випадковому лісі? Оберіть усі правильні варіанти.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 4.17

bookВипадковість Лісу

Свайпніть щоб показати меню

Random Forest створює велику кількість дерев рішень — зазвичай близько 100 або навіть більше. Створити так багато різних дерев лише шляхом налаштування параметрів складно, тому для цього вводиться випадковість. На щастя, дерева рішень дуже чутливі до незначних змін у даних та налаштуваннях, що природно призводить до широкого різноманіття дерев у лісі.

У Random Forest існує два джерела випадковості:

  1. Вибірка даних для кожного дерева;
  2. Вибірка ознак на кожному вузлі прийняття рішень кожного дерева.

Вибірка даних

Щоб створити різні навчальні набори для кожного дерева рішень у лісі, використовується метод bootstrap (також відомий як bagging). Ідея полягає у вибірці, з поверненням, набору даних такого ж розміру для кожного дерева.

За замовчуванням розмір набору даних для кожного дерева відповідає розміру оригінального набору даних. Вибірка з поверненням означає випадковий вибір точки даних із навчального набору — подібно до витягування карти з колоди. Однак, на відміну від звичайного витягування карт, кожна вибрана точка даних не видаляється, тому одну й ту ж точку даних можна вибрати кілька разів.

Кожне дерево навчається на різній підмножині даних, що вже допомагає зробити дерева різноманітними. Щоб додати ще більше випадковості та пришвидшити навчання, можна також обмежити кількість ознак, які кожне дерево розглядає під час розбиття.

Вибірка ознак

У стандартному дереві рішень кожен вузол розглядає всі доступні ознаки для пошуку найкращого розділення — зазвичай шляхом обчислення таких метрик, як Gini impurity. Цей процес є обчислювально затратним.

У випадковому лісі на кожному вузлі розглядається лише випадкова підмножина ознак. Це пришвидшує навчання та додає випадковість, що сприяє різноманітності дерев. Поширеним підходом є використання квадратного кореня із загальної кількості ознак. Наприклад, якщо є 9 ознак, на кожному вузлі випадково обирають 3; якщо ознак 10,000, приблизно 100 можуть бути вибрані.

Ознаки вибираються без повернення, тобто одна й та сама ознака не з’явиться більше одного разу на одному вузлі. Кількість ознак для розгляду можна налаштовувати залежно від задачі.

Ви можете керувати кількістю ознак, які розглядаються на кожному вузлі рішення, за допомогою параметра max_features у реалізації scikit-learn. Ось деякі популярні варіанти:

  • max_features='sqrt': використовується квадратний корінь із загальної кількості ознак. Це типовий вибір, який балансує точність та ефективність;
  • max_features='log2': використовується двійковий логарифм від загальної кількості ознак, що забезпечує ще більшу випадковість;
  • max_features=0.1: використовується 10% ознак, де значення розглядається як частка.
Note
Примітка

Ви також можете встановити max_features як будь-яку частку між 0 та 1 (наприклад, max_features=0.1 використовує 10% ознак).

Підсумовуючи, випадковий ліс побудований таким чином, що кожне дерево навчається на різній вибірці даних, а кожен вузол прийняття рішень у цих деревах розглядає різні випадкові підмножини ознак. Така вбудована випадковість призводить до різноманітної колекції дерев, що в підсумку покращує загальну ефективність моделі.

question mark

Що допомагає досягти випадковості у випадковому лісі? Оберіть усі правильні варіанти.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2
some-alt