&reftitle.examples; Процесс довольно прост: задаём параметры, предоставляем обучающие данные, на основе которых будет создана модель, а затем делаем прогнозы, основанные на этой модели. Набор параметров по умолчанию гарантирует получение хоть какого-то результата практически для любых входных данных, так что на нем останавливаться не будем и сразу перейдём к обучающим данным. Есть три пути предоставления обучающих данных: файл, поток и массив. Если данные предоставляются с помощью файла или потока, то на каждой строке должен содержаться один обучающий пример, отформатированный следующим образом: в начале должно быть целое число (обычно 1 или -1), это число обозначается термином "класс", а следом за ним перечисление пар признак:значение в порядке увеличения признака. Признаки должны быть целыми числами, а их значения рациональными, обычно на диапазоне 0-1. Например: -1 1:0.43 3:0.12 9284:0.2 В проблеме классификации документов, например, при проверке письма на спам, каждая строка должна представлять один документ. Для задачи проверки на спам нам понадобится два класса, -1 для спама и 1 для нормального письма. Каждый признак должен означать некое слово, а его значение - важность данного слова в документе (возможно, частота появления относительно длины элемента). Признаки со значением 0 (т.е. слово в документе не встречается) просто не включаем в набор. В случае использования массива, данные должны быть представлены в виде массива массивов, в котором каждый вложенный массив должен первым элементом содержать класс, а все последующие элементы содержать пары "признак" => "значение". Эти данные передаются обучающей функции класса SVM, которая в результате вернёт модель (SVMModel). Созданная модель может использоваться для построения предположений о классе новых объектов, описанных признаками и их значениями. Данные, на основе которых делаются предположения, должны быть переданы функции модели в том же формате, что описан выше, но без указания их класса (т.е. без первого элемента), которая вернёт предполагаемый класс, подходящий под эти данные. Модель впоследствии можно сохранять и загружать с помощью функций, принимающих путь к файлу в качестве параметра. Обучение из массива 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'); ?> ]]> &example.outputs.similar; Обучение из файла train("traindata.txt"); ?> ]]>