Я б сказав, вибір дуже залежить від того, які дані у вас є, і яке ваше призначення. Кілька "великих правил".
Випадковий ліс невід'ємно підходить для багатокласових проблем, в той час як SVM по суті двокласний. Для багатокласової проблеми вам потрібно буде звести її до декількох проблем бінарної класифікації.
Random Forest добре працює із сумішшю числових та категоричних ознак. Коли функції є на різних масштабах, це також добре. Грубо кажучи, за допомогою Random Forest ви можете використовувати дані такими, якими вони є. SVM максимально збільшує "запас" і, таким чином, спирається на поняття "відстань" між різними точками. Ви вирішуєте, чи має значення "відстань". Як наслідок, одноразове кодування для категоричних ознак є обов'язковим завданням. Крім того, на етапі попередньої обробки настійно рекомендується мінімальне або інше масштабування.
нмn × nн2
Для проблеми класифікації Random Forest дає вам ймовірність належності до класу. SVM дає відстань до кордону, вам все одно потрібно якось перетворити його на ймовірність, якщо вам потрібна ймовірність.
Для тих проблем, де застосовується SVM, він, як правило, краще, ніж випадковий ліс.
SVM дає вам "вектори підтримки", тобто точки у кожному класі, найближчі до межі між класами. Вони можуть бути цікаві самі для тлумачення.