라이브러리
[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% 확률을 반환합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.