Python 之 sklearn 计算 SVM 隶属度

python中的sklean已经集成SVM算法,其中包含fit(), predict()等,我们只要输入训练样本和标记,以及模型参数,就可得到分类的结果。

关于这个的代码实现已有很多,SVC 参数详见:

详址:http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC

但对于libsvm之中实现的隶属度计算仍未找到相似讲解与示例,先给出源码如下。

import numpy

Data_Set = []
Lab_Set = []
for k in range(5):
    arr = numpy.random.random([30000,45])
    for i in numpy.arange(0,30000):
        j = i%3
        arr[i,k*9+j*3:k*9+j*3+3] = arr[i,k*9+j*3:k*9+j*3+3]+k*0.25
    print arr.shape
    Data_Set.extend(arr)
    tmp_lab = [k]*(arr.shape[0])
    Lab_Set = Lab_Set+tmp_lab

import sklearn
from sklearn.svm import SVC

clf = SVC(probability=True)
clf.fit(Data_Set, Lab_Set) 
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3,
    gamma=0.0, kernel='rbf', max_iter=-1, probability=True,
    random_state=None, shrinking=True, tol=0.001, verbose=False)
Pre_Lab = clf.predict(Data_Set)
Pre_Scr = clf.score(Data_Set,Lab_Set)
print(Pre_Lab.shape)


你可能感兴趣的:(python,SVM,score,sklearn,predict_proba)