Используйте параллельную обработку для рабочего процесса Regression TreeBagger

В этом примере показано, как:

  • Используйте ансамбль мешанных регрессионных деревьев, чтобы оценить функцию важность.

  • Улучшите скорость расчетов с помощью параллельных вычислений.

Выборочные данные являются базой данных импорта автомобилей 1985 года с 205 наблюдениями, 25 предикторами и 1 ответом, который является рейтингом страхового риска или «символизацией». Первые 15 переменных являются числовыми, а последние 10 категориальными. Индекс символизации принимает целочисленные значения от -3 до 3.

Загрузите выборочные данные и разделите его на массивы предикторов и ответов.

load imports-85;
Y = X(:,1);
X = X(:,2:end);

Настройте параллельное окружение, чтобы использовать количество работников по умолчанию. Компьютер, создавший этот пример, имеет шесть ядер.

mypool = parpool
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).

mypool = 

 ProcessPool with properties: 

            Connected: true
           NumWorkers: 6
              Cluster: local
        AttachedFiles: {}
    AutoAddClientPath: true
          IdleTimeout: 30 minutes (30 minutes remaining)
          SpmdEnabled: true

Установите опции для использования параллельной обработки.

paroptions = statset('UseParallel',true);

Оцените важность функции с помощью 1 размера листа и 5000 деревья параллельно. Определите время для функции в целях сравнения.

tic
b = TreeBagger(5000,X,Y,'Method','r','OOBVarImp','on', ...
    'cat',16:25,'MinLeafSize',1,'Options',paroptions);
toc
Elapsed time is 9.873065 seconds.

Для сравнения временных параметров выполните те же расчеты последовательно.

tic
b = TreeBagger(5000,X,Y,'Method','r','OOBVarImp','on', ...
    'cat',16:25,'MinLeafSize',1);
toc
Elapsed time is 28.092654 seconds.

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

См. также

| | (Parallel Computing Toolbox)

Похожие темы