exponenta event banner

Использование параллельной обработки для потока операций регрессионного дерева Bagger

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

  • Используйте ансамбль пакетных деревьев регрессии для оценки важности элементов.

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

Выборочные данные представляют собой базу данных по импорту автомобилей 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.

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

См. также

| | (Панель инструментов параллельных вычислений)

Связанные темы