Припустимо, ви аналізуєте величезний набір даних у розмірі мільярдів спостережень на день, де кожне спостереження має кілька тисяч розріджених та, можливо, зайвих числових та категоріальних змінних. Скажімо, є одна проблема регресії, одна незбалансована проблема бінарної класифікації та одне завдання "з'ясувати, які прогнози є найважливішими". Моя думка, як підійти до проблеми:
Встановити деяку модель прогнозування на прогресивно більші та більші (випадкові) під вибірки даних до:
Встановлення та перехресна перевірка моделі стає обчислювально складною (наприклад, на моєму ноутбуці нерозумно повільно, R не вистачає пам'яті тощо), АБО
Навчальні та тестові значення RMSE або точність / відкликання стабілізуються.
Якщо помилки навчання та тестування не стабілізувались (1.), використовуйте більш просту модель та / або реалізуйте багатоядерні або багатомодові версії моделі та перезапустіть спочатку.
Якщо помилки навчання та тесту стабілізувалися (2.):
Якщо (тобто я все ще можу запускати алгоритми на оскільки він ще не надто великий), спробуйте підвищити продуктивність, розширивши простір функцій або використовуючи більш складну модель і перезапустивши спочатку.
Якщо "велика", а подальший аналіз буде дорогим, проаналізуйте змінне значення та кінець.
Я планую використовувати пакети , такі як biglm
, speedglm
, multicore
, і ff
в R на початковому етапі, а потім використовувати більш складні алгоритми і / або многоузловой (на EC2) по мірі необхідності.
Це звучить як розумний підхід, і якщо так, чи є у вас якісь конкретні поради чи пропозиції? Якщо ні, то що б ви спробували замість цього набору даних такого розміру?