Що таке обмеження пам'яті R?


10

Рецензуючи " Прикладне прогнозне моделювання ", рецензент зазначає :

Однією з моїх критик педагогіки статистичного навчання є відсутність міркувань щодо обчислювальної роботи в оцінці різних методик моделювання. З його акцентом на завантажувальній та перехресній валідації для налаштування / тестування моделей, SL є досить обчислювальним. Додайте до цього повторний відбір зразків, вбудований у такі методи, як пакування та прискорення, і у вас є спектр пекла обчислень для наглядового вивчення великих наборів даних. Насправді обмеження пам’яті R накладають досить суворі обмеження на розмір моделей, які можуть відповідати найкращим методам, таким як випадкові ліси. Хоча SL робить хорошу калібрування продуктивності моделі в порівнянні з невеликими наборами даних, було б точно зрозуміти продуктивність порівняно з обчислювальною вартістю для великих даних.

Що таке обмеження пам’яті R, і чи встановлюють вони суворі обмеження щодо розміру моделей, які можуть відповідати найкращим методам, як випадкові ліси ?


Відповіді:


10

Як зазначив Костянтин, R виконує всі свої обчислення в пам'яті системи, тобто оперативній пам'яті. Отже, ємність оперативної пам’яті є дуже важливим обмеженням для обчислювальних операцій в Р. Подолавши це обмеження, дані зберігаються в ці дні в системах HDFS, де дані не завантажуються в пам'ять, а програма замість цього запускається, програма переходить до даних і виконує операції, тим самим долаючи обмеження пам’яті. RHadoop ( https://github.com/RevolutionAnalytics/RHadoop/wiki ) - це роз'єм, який ви шукаєте.

Якщо впливати на алгоритми, які є обчислювальними, методи випадкових лісів / дерев рішень / ансамблю на значну кількість даних (за моїм досвідом мінімум 50 000 спостережень) займають багато пам’яті та значно повільні. Щоб прискорити процес, паралелізація - це шлях, а паралелізація притаманна Hadoop! Ось де, Hadoop справді ефективний.

Отже, якщо ви збираєтесь використовувати методи ансамблю, які обчислюють інтенсивно і повільно, ви хочете спробувати систему HDFS, яка дає значне підвищення продуктивності.


1
+1 Дякую, що знайшли час для вдосконалення існуючої відповіді, і, на мою думку, ваша відповідь тепер є кращою відповіддю, я вибрав вашу відповідь як відповідь. Ура!
промахи

Радий відповісти!
binga

8

R виконує всі обчислення в пам'яті, тому ви не можете виконувати операції над набором даних, що перевищує доступний об'єм оперативної пам'яті. Однак є деякі бібліотеки, які дозволяють обробляти великі дані, використовуючи R, і одна з популярних бібліотек для обробки великих даних, як Hadoop.


3

Ця критика більше не виправдана:

Незважаючи на те, що більшість стандартних і найбільш шанованих R-бібліотек обмежувались обчисленнями в пам'яті, існує все більша кількість спеціалізованих бібліотек для обробки даних, які не вписуються в пам'ять.
Наприклад, для випадкових лісів на великих наборах даних у вас є бібліотека bigrf. Більше інформації тут: http://cran.r-project.org/web/packages/bigrf/

Інша область росту - це зв'язок R з великими середовищами передачі даних, такими як hadoop, що відкриває інший світ можливостей.

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