Я обучил набор данных радужной оболочки (включая 3 класса) с svm-классификатором one-vs-all и распечатал coef_ и intercept_ как показано ниже:
[
[-0.04625854 0.5211828 -1.00304462 -0.46412978] // 1-vs-all coefficients
[-0.00722313 0.17894121 -0.53836459 -0.29239263] // 2-vs-all coefficients
[ 1.15034043 1.14954525 -3.53985244 -4.24622393]] //3-vs-all coefficients
[ 1.4528445 1.50771313 13.63764975] //intercepts
Затем я создал наборы данных радужной оболочки ovr.Я обозначил определенный класс как 1, а два других класса как 0. снова я обучил весь набор данных с тем же классификатором и распечатал coef_ и перехват.Вот результаты:
1-vs-all:
[[-0.04575352 0.52216766 -1.00294058 -0.46406882]]
[ 1.44746413]
2-vs-all:
[[-0.03070975 -2.38286314 1.13998914 -2.61285489]]
[ 5.48399354]
3-vs-all:
[[-1.15034043 -1.14954525 3.53985244 4.24622393]]
[-13.63764975]
Как вы можете видеть, абсолютные значения результатов 1-против-все и 3-против-все одинаковы в обоих экспериментах, но для 2-против-все они совершенно разные.Я не могу понять, почему это происходит?