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)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-05 16:22:46