Філіпчук О. Ю., к.т.н. Маслій Р. В.

Вінницький національний технічний університет, Україна

Засоби реалізації дерев прийняття рішень та випадкових лісів в середовищі R

Вступ

Дерева прийняття рішень та випадкові ліси сьогодні є одними з найбільш ефективних методів вирішення таких задач машинного навчання, як класифікація та регресія [1].

Існує декілька пакетів в середовищі R, які реалізують дерева прийняття рішень та випадкові ліси. Дерева прийняття рішень реалізуються за допомогою таких пакетів, як tree, rpart, maptree, party, maptree та partykit, випадкові ліси реалізуються за допомогою пакетів party, randomForest, partykit та VarSelRF. Розглянемо ці пакети детальніше.

Пакет Rpart (Recursive Partitioning and Regression Trees)

Пакет Rpart призначений для рекурсивного поділу в задачах класифікації, регресії та деревах виживання (survival trees). Пакет включає декілька наборів даних, які можуть бути використані для рекурсивного поділу та дерев регресії. В залежності від поставленої задачі (класифікації чи регресії) використовуються категоріальні або неперервні змінні.

Функція rpart будує моделі класифікації або регресії загальної структури з використанням двоступеневої процедури. Отримані результати  можуть бути представлені у вигляді бінарних дерев [3].

Пакет Tree (Classification and regression trees)

Це головний пакет середовища R для дерев класифікації та регресії. Він має функції обрізання дерев (pruning trees) та візуалізації дерев. Вихідні дані пакету tree можна легко порівнювати з вихідними даними моделей GLM (General Linear Model) та GAM (General Additive Model) [4].

Пакет Party (A Laboratory for Recursive Partytioning)

Пакет Party також призначений для рекурсивного поділу в задачах класифікації та регресії. Однією з головних функцій пакету є ctree. В ній можуть використовуватися неперервні, цензурні, порядкові, номінальні та багатовимірні змінні. Пакет Party також застосовується для рекурсивного поділу дерев виживання [5].

Пакет Maptree (Mapping, pruning, and graphing tree models)

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

Дерева, побудовані за допомогою цього пакету, як правило, краще марковані та мають більш високу якість в порівнянні з деревами, отриманими за допомогою пакету Rpart [6].

Partykit (Mapping, pruning, and graphing tree models)

Пакет Partykit містить функцію ctree, яка забезпечує побудову графіків високої якості та візуалізацію моделей дерев. За своєю функціональністю цей пакет близький до пакету Party [7].

RandomForest (Classification and Regression with Random Forest)

Пакет RandomForest призначений для побудови випадкового лісу, що представляє собою ансамбль дерев рішень. Використання ансамблю дерев рішень дозволяє покращити ефективність класифікації та регресії в порівнянні з простим деревом рішення. Вхідними даними функції randomForest є кількість дерев в ансамблі ntree та кількість змінних, що випадково вибираються при кожному розщепленні mtry [8]. 

VarSelRF (MappingVariable selection from random forests using OOB error)

Пакет VarSelRF застосовується для подальшої процедури відбору змінних, використовуючи випадковий ліс. Він реалізує як зворотні покрокові елементи так і вибір на основі спектральної важливості. Основною областю застосування цього пакету є багатовимірні дані [9].

 

 

Висновки

У роботі розглянуті існуючі засоби реалізації дерев прийняття рішень та випадкових лісів в середовищі R.

Література:

1.                Breiman L. Classification and Regression Trees / Breiman L. // Machine Learning. - Wadsworth, Belmont, Ca. - 1983.

2.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: http://www.inside-r.org/

3.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/rpart/rpart.pdf 

4.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/tree/tree.pdf

5.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/party/party.pdf

6.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/maptree/maptree.pdf

7.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/partykit/partykit.pdf

8.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/randomForest/randomForest.pdf

9.                Inside-R: A Community Site for R – Sponsored by Revolution Analytics [Електронний ресурс] / Режим доступу до матеріалів: https://cran.r-project.org/web/packages/varSelRF/varSelRF.pdf