#php #machine-learning #data-mining #svm #libsvm
#php #машинное обучение #интеллектуальный анализ данных #svm #libsvm
Вопрос:
Я попытался запустить базовый пример SVM из официального руководства по PHP :: SVM, добавив несколько методов echo и включив отчеты об ошибках:
<?php
error_reporting(E_ALL);
echo '1';
$data = array(
array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);
echo '2';
$svm = new SVM();
echo '3';
$model = $svm->train($data);
echo '4';
$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
echo '5';
?>
Запуск этого скрипта на моем локальном компьютере отображает «12». В чем проблема с этой строкой?
$svm = new SVM();
И как мне запустить этот скрипт?
Ответ №1:
Не удается создать класс SVM, и большую часть времени это происходит из-за того, что он не установлен. Если вы попытаетесь использовать php-cli, вы получите следующую ошибку:
PHP Fatal error: Class 'SVM' not found in /tmp/svm.php on line 9
Чтобы установить расширение (на Ubuntu 12.04), я сделал следующее:
# Install pear so we can get it from the common repo
$sudo apt-get install php-pear
#Install the headers for libsvm
$sudo apt-get install libsvm-dev
# Install the actual extension, I had to force it because it wasn't marked as stable
$sudo pecl install -f svm
#Then add the extension=svm.so line to the php.ini
$vi php.ini
# Now when you run it, you would get an actual output:
$php --php-ini ./php.ini svm.php
1234float(-1)
5