我尝试运行一个基本的支持向量机官方PHP::SVM教程中的示例,添加一些回波方法并打开错误报告:
<?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();我该如何运行这个脚本?
发布于 2014-06-30 19:33:21
它无法创建支持向量机类,大多数情况下是因为它没有安装。如果您尝试使用php-cli,您将得到以下错误:
PHP Fatal error: Class 'SVM' not found in /tmp/svm.php on line 9为了安装扩展程序(在Ubuntu12.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)
5https://stackoverflow.com/questions/24479494
复制相似问题