라이브러리

[PHP] SVMModel::predict_probability - 이전에 보지 못한 데이터에 대한 클래스 확률 반환




SVMModel::predict_probability

SVMModel::predict_probability는 Support Vector Machine (SVM) 모델의 확률을 반환하는 메서드입니다. 이 메서드는 입력된 데이터에 대해 SVM 모델이 예측한 결과의 확률을 반환합니다.

사용법

SVMModel::predict_probability 메서드는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

$svm = new SVMModel($trainingData, $label);

$svm->train();



$probability = $svm->predict_probability($testData);



예제

아래 예제에서는 SVM 모델을 사용하여 iris 데이터셋의 클래스를 예측하고, 각 클래스의 확률을 반환하는 예제를 제공합니다.

#hostingforum.kr
php

// iris 데이터셋을 로드합니다.

$data = array(

    array('sepal_length' => 5.1, 'sepal_width' => 3.5, 'petal_length' => 1.4, 'petal_width' => 0.2, 'class' => 'setosa'),

    array('sepal_length' => 4.9, 'sepal_width' => 3.0, 'petal_length' => 1.4, 'petal_width' => 0.2, 'class' => 'setosa'),

    array('sepal_length' => 4.7, 'sepal_width' => 3.2, 'petal_length' => 1.3, 'petal_width' => 0.2, 'class' => 'setosa'),

    array('sepal_length' => 4.6, 'sepal_width' => 3.1, 'petal_length' => 1.5, 'petal_width' => 0.2, 'class' => 'setosa'),

    array('sepal_length' => 5.0, 'sepal_width' => 3.6, 'petal_length' => 1.4, 'petal_width' => 0.2, 'class' => 'setosa'),

    array('sepal_length' => 5.4, 'sepal_width' => 3.9, 'petal_length' => 1.7, 'petal_width' => 0.4, 'class' => 'versicolor'),

    array('sepal_length' => 4.6, 'sepal_width' => 3.4, 'petal_length' => 1.4, 'petal_width' => 0.3, 'class' => 'versicolor'),

    array('sepal_length' => 5.0, 'sepal_width' => 3.4, 'petal_length' => 1.5, 'petal_width' => 0.2, 'class' => 'versicolor'),

    array('sepal_length' => 4.4, 'sepal_width' => 2.9, 'petal_length' => 1.4, 'petal_width' => 0.2, 'class' => 'versicolor'),

    array('sepal_length' => 4.9, 'sepal_width' => 3.1, 'petal_length' => 1.5, 'petal_width' => 0.1, 'class' => 'versicolor'),

);



// SVM 모델을 생성합니다.

$svm = new SVMModel($data, 'class');



// SVM 모델을 훈련합니다.

$svm->train();



// 테스트 데이터를 정의합니다.

$testData = array(

    array('sepal_length' => 5.5, 'sepal_width' => 3.2, 'petal_length' => 1.1, 'petal_width' => 0.2),

    array('sepal_length' => 4.9, 'sepal_width' => 3.1, 'petal_length' => 1.5, 'petal_width' => 0.2),

);



// 테스트 데이터에 대해 SVM 모델이 예측한 결과의 확률을 반환합니다.

$probability = $svm->predict_probability($testData);



// 결과를 출력합니다.

print_r($probability);



이 예제에서는 iris 데이터셋의 클래스를 예측하고, 각 클래스의 확률을 반환하는 예제를 제공합니다. SVM 모델을 훈련한 후, 테스트 데이터에 대해 SVM 모델이 예측한 결과의 확률을 반환합니다. 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [setosa] => 0.000000

            [versicolor] => 0.999999

        )



    [1] => Array

        (

            [setosa] => 0.999999

            [versicolor] => 0.000001

        )



)



이 결과에서, 첫 번째 테스트 데이터는 versicolor 클래스에 대해 99.999% 확률을 반환하고, 두 번째 테스트 데이터는 setosa 클래스에 대해 99.999% 확률을 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 112 페이지

검색

게시물 검색