Достоверность регрессии с использованием SVM в python - PullRequest
1 голос
/ 01 марта 2011

Я использую регрессионные SVM в python, и мне интересно, есть ли способ получить значение "мера доверия" для его предсказаний.

Ранее, когда я использовал SVM для двоичной классификации, я былв состоянии вычислить значение типа доверия из «поля».Вот некоторый псевдокод, показывающий, как я получил значение достоверности:

# Begin pseudo-code
import svm as svmlib

prob = svmlib.svm_problem(labels, data)
param = svmlib.svm_parameter(svm_type=svmlib.C_SVC, kernel_type = svmlib.RBF)
model = svmlib.svm_model(prob, param)

# get confidence
confidence = self.model.predict_values_raw(sample_to_classify)

Я представляю, что чем дальше новый образец от обучающих данных, тем хуже достоверность, но я ищу функциюэто может помочь вычислить разумную оценку для этого.

Моя (высокоуровневая) проблема заключается в следующем:

  • У меня есть функция F (x), где x - это высокий-мерный вектор
  • F (x) может быть вычислен, но он очень медленный
  • Я хочу обучить SVM регрессии, чтобы приблизиться к нему
  • Если я могу найти значения 'x ', которые имеют низкую достоверность прогноза, я могу добавить эти точки и переобучиться (иначе активное обучение)

Кто-нибудь ранее получал / использовал значения достоверности / маржи для регрессионного SVM?

1 Ответ

1 голос
/ 20 апреля 2011

Посмотрите на аналогичный ответ в стеке в январе.Выбранный ответ был точным относительно того, насколько сложно получить доверительные меры для непараметрических методов подбора.Возможно, есть кое-что, что можно сделать в байесовском типе, но это, вероятно, невозможно с библиотекой Python SVM: Предпочитать один класс в libsvm (python) .

...