Чи є реалізація Random Forest, яка добре працює з дуже рідкими даними?


23

Чи є R випадкова реалізація лісу, яка добре працює з дуже рідкими даними? У мене є тисячі або мільйони булевих вхідних змінних, але лише сотні або близько того будуть ПРАВИЛЬНИми для будь-якого прикладу.

Я відносно новий в R і помітив, що існує пакет "Матриця" для роботи з розрідженими даними, але стандартний пакет "randomForest", схоже, не розпізнає цей тип даних. Якщо це має значення, вхідні дані збираються за межами R та імпортуються.

Будь-яка порада? Я також можу вивчити використання Weka, Mahout або інших пакетів.


Наскільки я можу сказати, немає R-пакетів для дерев з обмеженими рішеннями. Я вважаю, що існує алгоритм для дерев з обмеженими рішеннями, які, якщо вони реалізовані в R, можуть бути використані для побудови випадкових лісів.
Зак

2
Ось хороший кандидат: cs.cornell.edu/~nk/fest . Якщо ви можете експортувати свої дані у форматі libsvm, ви можете скористатися цією програмою командного рядка. Дуже хотів би побачити порт R ...
Зак,

Зак - посилання начебто мертва.
Benoit_Plante

2
@ cmoibenlepro посилання є lowrank.net/nikos/fest
seanv507

Посилання для мене добре працювало
Девід Маркс

Відповіді:


13

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

Спробуйте якийсь метод ядра або краще подумайте про перетворення ваших даних у більш пишне представлення з деякими дескрипторами (або скористайтеся деяким методом зменшення розмірності).


Відповідь Hack-R вказує на пакет xgboost, який прекрасно вміє робити випадкові ліси із розрідженими матрицями.
Едгар

7

Власне, так, є .

Це xgboostзроблено для збільшення градієнта eXtreme. Наразі це вибір для запущених моделей з розрідженими матрицями в R для багатьох людей, і як пояснюється вище посилання, ви можете використовувати його для Random Forest, налаштувавши параметри !


4

R пакет "Ranger" повинен робити.

https://cran.r-project.org/web/packages/ranger/ranger.pdf

Швидка реалізація випадкових лісів, особливо підходить для даних високих розмірів.

Порівняно з randomForest, цей пакет, мабуть, є найшвидшим реалізацією РФ, який я бачив. Він розглядає категоричні змінні по-новому.


-4

Є блог під назвою Quick-R, який повинен допомогти вам з основами Р.

R працює з пакетами. Кожен пакет може зробити щось інше. Існує цей пакет під назвою "randomForests", який повинен бути саме тим, що ви просите.

Майте на увазі, що рідкісні дані створюють проблеми незалежно від того, який метод ви застосовуєте. Наскільки мені відомо, це дуже відкрита проблема, і видобуток даних взагалі - це більше мистецтво, ніж наука. Випадкові ліси в цілому дуже добре, але це не завжди найкращий метод. Ви можете спробувати нейронну мережу з великою кількістю шарів, що може допомогти.


4
Ні, випадковий Форест, як відомо, поганий із розрідженими даними, звідси і все питання. Параметр classwt належним чином не реалізований у randomForest. Ручне пересимплінг - це один із підходів, але це заплутує помилку OOB. До речі, пакет не називається "randomForests".
smci

1
Вірні частини цього - це не відповіді на запитання.
Sycorax каже, що повернеться до Моніки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.