mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-11-16 02:07:08 +00:00
37 lines
786 B
PHP
37 lines
786 B
PHP
|
<?php
|
||
|
|
||
|
declare (strict_types = 1);
|
||
|
|
||
|
namespace tests\SupportVectorMachine;
|
||
|
|
||
|
use Phpml\SupportVectorMachine\Kernel;
|
||
|
use Phpml\SupportVectorMachine\SupportVectorMachine;
|
||
|
use Phpml\SupportVectorMachine\Type;
|
||
|
|
||
|
class SupportVectorMachineTest extends \PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
public function testTrainCSVCModelWithLinearKernel()
|
||
|
{
|
||
|
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
|
||
|
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
|
||
|
|
||
|
$model =
|
||
|
'svm_type c_svc
|
||
|
kernel_type linear
|
||
|
nr_class 2
|
||
|
total_sv 2
|
||
|
rho 0
|
||
|
label 0 1
|
||
|
nr_sv 1 1
|
||
|
SV
|
||
|
0.25 0:2 1:4
|
||
|
-0.25 0:4 1:2
|
||
|
';
|
||
|
|
||
|
$svm = new SupportVectorMachine(Type::C_SVC, Kernel::LINEAR, 100.0);
|
||
|
$svm->train($samples, $labels);
|
||
|
|
||
|
$this->assertEquals($model, $svm->getModel());
|
||
|
}
|
||
|
}
|