PHP.mk документација

Примери

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

svm.examples.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека svm.examples.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Примери

Референца за `svm.examples.php` со подобрена типографија и навигација.

svm.examples.php

Примери

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Основната постапка е да се дефинираат параметри, да се обезбедат податоци за обука за генерирање модел, а потоа да се направат предвидувања врз основа на моделот. Постои стандарден сет на параметри кои треба да дадат некои резултати со речиси секој влез, па затоа ќе започнеме со разгледување на податоците.

-1 1:0.43 3:0.12 9284:0.2

Податоците се обезбедуваат или во датотека, поток или како низа. Ако се обезбедени во датотека или поток, мора да содржи еден ред по примерок за обука, кој мора да биде форматиран како цел број класа (обично 1 и -1) проследен со серија парови карактеристики/вредности, во растечки редослед на карактеристики. Карактеристиките се цели броеви, вредностите се децимални, обично скалирани 0-1. На пример:

Во проблем за класификација на документи, да речеме проверка за спам, секој ред би претставувал документ. Би имало две класи, -1 за спам, 1 за не-спам. Секоја карактеристика би претставувала некој збор, а вредноста би ја претставувала важноста на тој збор за документот (можеби бројот на појавувања, со вкупниот број скалиран до единечна должина). Карактеристиките што биле 0 (на пр. зборот воопшто не се појавил во документот) едноставно не би биле вклучени.

Во режим на низа, податоците мора да се поминат како низа од низи. Секоја подниза мора да ја има класата како прв елемент, потоа парови клуч => вредност за паровите вредности на карактеристиките.

Овие податоци се поминати на функцијата за обука на класата SVM, која ќе врати SVM модел ако е успешна.

Откако ќе се генерира модел, тој може да се користи за правење предвидувања за претходно непознати податоци. Ова може да се помине како низа на функцијата за предвидување на моделот, во истиот формат како порано, но без ознаката. Одговорот ќе биде класата.

Моделите можат да се зачуваат и вратат по потреба, користејќи ги функциите за зачувување и вчитување, кои и двете земаат локација на датотека.

<?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');
?>

Горниот пример ќе прикаже нешто слично на:

int(-1)

Пример #1 Обука од низа

<?php
$svm
= new SVM();
$model = $svm->train("traindata.txt");
?>

Белешки од корисници 5 белешки

razvan_bc на yahoo точка com
3 години пред
ok i did more tests..

getting the source
https://github.com/ianbarber/php-svm/blob/master/tests/002_predict.phpt  modified ..
<?php
$svm = new svmmodel();
//$result = $svm->load(dirname(__FILE__) . '/australian.model');
$result = $svm->load('australian.model');

if($result) {
    $data = array(
        "1" => 1,
        2 => -0.731729,
        3 => -0.886786,
        4 => -1,
        5 => 0.230769,
        "6" => -0.25,
        7 => -0.783509,
        8 => 1,
        9 => 1, 
        10 => "-0.820896",
        11 => -1, 
        13 => -0.92,
        "14" => "-1"
    );
    $result = $svm->predict($data);
    if($result > 0) {
        echo "ok";
        print_r($result);
    } else {
        echo "predict failed: $result";
    }
} else {
    echo "loading failed";
}
?>

with additional https://github.com/ianbarber/php-svm/blob/master/tests/australian.scale dropped inside the test folder where .php file is located i am able after running to get the result:
================================

ok1  

so it's work
razvan_bc на yahoo точка com
3 години пред
i forgot a detail!
the installation folders if you think to install it manually in windows xampp should be  c:\xampp\php\lib\libsvm-3.1 (for the files i described in the first post) and extension in c:\xampp\php\ext (php_svm.dll)

works.good luck
razvan_bc на yahoo точка com
3 години пред
from pecl.php.net i download svm php_svm-0.2.3-8.1-ts-vs16-x64.zip so i read in README.md ..

=====================================================
Data is supplied in either a file, a stream, or as an an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

    -1 1:0.43 3:0.12 9284:0.2

=====================================================

so creating traindata.txt with the content  -1 1:0.43 3:0.12 9284:0.2 leads me to use it in the second example:

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
$model->save('model2.svm');
?>

and running and editing the model2.svm i got the content:
-------------------------------------------------------------------
svm_type c_svc
kernel_type rbf
gamma 0.00010771219302024989
nr_class 1
total_sv 0
rho
label -1
nr_sv 0
SV
--------------------------------------------------------------------

so yes i think it's work, how i said i need to do more tests to get control with main functions to think to other more complicated
razvan_bc на yahoo точка com
3 години пред
premises:php 8.1 ,windows 64
----------------------------------

install (for beginners)
--------
after i visit https://github.com/ianbarber/php-svm

and i got from url found on page(install script) 
..  http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz

and manual install it:
1.php.ini
 (after the main group extension=... about 12 pieces)
...
extension=svm
...

2.I put manually inside php a folder called libsvm-3.1 then i unzip there libsvm.dll , libsvmread.mexw64 ,libsvmwrite.mexw64 , svmpredict.mexw64 , svm-predict.exe, svm-scale.exe , svm-toy.exe , svmtrain.mexw64, svm-train.exe !

running 
<?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');

?>

via server(apache ,php,mariadb;even custom or xampp) now i got results:
i got model.svm with the content
================================
svm_type c_svc
kernel_type rbf
gamma 0.00010771219302024989
nr_class 2
total_sv 2
rho 0
label 1 -1
nr_sv 1 1
SV
1 1:0.22 5:0.01 94:0.11 
-1 1:0.43 3:0.12 9284:0.2 
=================================

so i think is very cool ..for a startup.
i will look around phpt files from github to understand why in yesterday's tests i got errors with some function witch require 2 parameters and not one like in the manual
razvan_bc на yahoo точка com
3 години пред
the example rated negative rated by the guy sign  "6765419 at qq dot com"  also works too!

<?php
$data = array(
            array(-1, 1 =>170, 2 => 60),//-1  表示男生,key 1表示身高,key 2表示体重=Represents a boy, key 1 represents height, key 2 represents weight
            array(-1, 1 =>180, 2 => 70),
            array(1, 1 => 160, 2 => 46),//1  表示女生,key 1表示身高,key 2表示体重=Represents a girl, key 1 represents height, key 2 represents weight
            array(1, 1 => 155, 2 => 40),
        );
$svm = new SVM();
$model = $svm->train($data);
$data = array( 1 => 165, 2 =>60);//测试数据 =Test Data
$result = $model->predict($data);
echo var_dump($result);//echo var_export($result);
//return;
?>

so i got :

float(-1)
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.