как использовать coeff_and intercept_values ​​из svc.fit ()? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть пример кода для классификации с использованием svc.fit(), возникают следующие запросы:

  1. после выполнения приведенного ниже кода я получил coeff_ и intercept_values, как эти значения используются, так как у меня есть 4 класса, я получил массив с (6,2) (coeff_) -образным массивом, как эти значения рассматриваются в отношении к моим входным данным.
  2. каким должно быть уравнение гиперплоскости для этих данных?

код:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
from sklearn.svm import SVC

np.set_printoptions(threshold=np.inf)

from sklearn import preprocessing,  neighbors
from sklearn.linear_model import LinearRegression


X=np.array([[1,2],[3,4],[5,6],[7,8]])
y = [0,1,2,3]

clf =SVC(kernel='linear',probability = True)

clf.fit(X,y)

print('clf.coef_-----------------',clf.coef_)

print('clf.intercept_-----------------',clf.intercept_)

print('clf.decision_function(X)----------',clf.decision_function(X))

print('clf.decision_function([[2,3]]-',clf.decision_function([[2,3]]))

print('clf.probA_-----------------',clf.probA_)

print('clf.probB_-----------------',clf.probB_)

print("clf.predict_proba([[2,3]].....",clf.predict_proba([[2,3]]))

выход

clf.coef_----------------- [[-0.5        -0.5       ]
[-0.25       -0.25      ]
[-0.16666667 -0.16666667]
[-0.5        -0.5       ]
[-0.25       -0.25      ]
[-0.5        -0.5       ]]
clf.intercept_----------------- [2.5  1.75 1.5  4.5  2.75 6.5 ]
clf.decision_function(X)----------------- [[ 3.1875      2.25        
1.0625     -0.5       ]
[ 1.95833333  3.1875      1.125      -0.27083333]
[-0.27083333  2.125       3.1875      0.95833333]
[-0.5         1.0625      2.25        3.1875    ]]
clf.decision_function([[2,3]]----------------- [[ 3.09459459  
2.28378378  1.12162162 -0.5       ]]
clf.probA_----------------- [0.69314718 0.69314718 0.69314718 
0.69314718 0.69314718 0.69314718]
clf.probB_----------------- [2.39189538e-16 2.39189538e-16 
2.39189538e- 
16 2.39189538e-16
2.39189538e-16 2.39189538e-16]
clf.predict_proba([[2,3]]..... [[0.22168438 0.14081761 0.12088947 
0.51660854]]
...