Примеры
 
  Процесс довольно прост: задаём параметры, предоставляем обучающие данные,
  на основе которых будет создана модель, а затем делаем прогнозы, основанные
  на этой модели. Набор параметров по умолчанию гарантирует получение
  хоть какого-то результата практически для любых входных данных, так что
  на нем останавливаться не будем и сразу перейдём к обучающим данным.
 
 
  Есть три пути предоставления обучающих данных: файл, поток и массив.
  Если данные предоставляются с помощью файла или потока, то на каждой
  строке должен содержаться один обучающий пример, отформатированный
  следующим образом: в начале должно быть целое число  (обычно 1 или -1),
  это число обозначается термином "класс", а следом за ним перечисление пар
  признак:значение в порядке увеличения признака. Признаки должны быть
  целыми числами, а их значения рациональными, обычно на диапазоне 0-1.
  Например:
 
 
  -1 1:0.43 3:0.12 9284:0.2
 
 
  В проблеме классификации документов, например, при проверке письма на спам,
  каждая строка должна представлять один документ. Для задачи проверки на спам
  нам понадобится два класса, -1 для спама и 1 для нормального письма.
  Каждый признак должен означать некое слово, а его значение - важность
  данного слова в документе (возможно, частота появления относительно длины
  элемента). Признаки со значением 0 (т.е. слово в документе не встречается)
  просто не включаем в набор.
 
 
  В случае использования массива, данные должны быть представлены в
  виде массива массивов, в котором каждый вложенный массив должен
  первым элементом содержать класс, а все последующие элементы
  содержать пары "признак" => "значение".
 
 
  Эти данные передаются обучающей функции класса SVM, которая в результате
  вернёт модель (SVMModel).
 
 
  Созданная модель может использоваться для построения предположений
  о классе новых объектов, описанных признаками и их значениями.
  Данные, на основе которых делаются предположения, должны быть
  переданы функции модели в том же формате, что описан выше, но
  без указания их класса (т.е. без первого элемента), которая вернёт
  предполагаемый класс, подходящий под эти данные.
 
 
  Модель впоследствии можно сохранять и загружать с помощью функций,
  принимающих путь к файлу в качестве параметра.
 
 
  
   Пример #1 Обучение из массива
   
<?php
$data = array(
    array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
    array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);
$svm = new SVM();
$model = $svm->train($data);
$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>
    
   
 Вывод приведённого примера будет похож на:
 
  
   Пример #2 Обучение из файла
   
<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>