import numpy as np import scipy as sp import cv2 train_data = np.array(X, dtype=np.float32) responses = np.array(y, dtype=np.float32) param = dict( kernel_type = cv2.SVM_RBF, svm_type = cv2.SVM_C_SVC, gamma = 1.0/(2.0*0.01), C = 1) svm = cv2.SVM(train_data, responses, params = param) predict_data = np.array([ int(svm.predict(v)) for v in train_data ]) print "Training Accuracy %f" % (np.mean(predict_data == y) * 100.0)
Numpyと一緒に使える。SVM関数に与えるデータもラベルもfloat32型にしないといけないらしい。
参考
- http://stackoverflow.com/questions/8687885/python-opencv-svm-implementation
- http://docs.opencv.org/modules/ml/doc/support_vector_machines.html
0 件のコメント:
コメントを投稿