Mercurial > hg > nsaunier > traffic-intelligence
comparison python/ml.py @ 978:184f1dd307f9
corrected print and exception statements for Python 3
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Thu, 08 Feb 2018 05:53:50 -0500 |
| parents | ec1682ed999f |
| children | 23f98ebb113f |
comparison
equal
deleted
inserted
replaced
| 977:9c27a0315c4d | 978:184f1dd307f9 |
|---|---|
| 9 from matplotlib.pylab import text | 9 from matplotlib.pylab import text |
| 10 import matplotlib as mpl | 10 import matplotlib as mpl |
| 11 import matplotlib.pyplot as plt | 11 import matplotlib.pyplot as plt |
| 12 from scipy.cluster.vq import kmeans, whiten, vq | 12 from scipy.cluster.vq import kmeans, whiten, vq |
| 13 from sklearn import mixture | 13 from sklearn import mixture |
| 14 import cv2 | 14 try: |
| 15 import cv2 | |
| 16 opencvAvailable = True | |
| 17 except ImportError: | |
| 18 print('OpenCV library could not be loaded (video replay functions will not be available)') # TODO change to logging module | |
| 19 opencvAvailable = False | |
| 15 | 20 |
| 16 import utils | 21 import utils |
| 17 | 22 |
| 18 ##################### | 23 ##################### |
| 19 # OpenCV ML models | 24 # OpenCV ML models |
| 36 print('Provided filename {} does not exist: model not loaded!'.format(filename)) | 41 print('Provided filename {} does not exist: model not loaded!'.format(filename)) |
| 37 | 42 |
| 38 def save(self, filename): | 43 def save(self, filename): |
| 39 self.model.save(filename) | 44 self.model.save(filename) |
| 40 | 45 |
| 41 class SVM(StatModel): | 46 if opencvAvailable: |
| 42 '''wrapper for OpenCV SimpleVectorMachine algorithm''' | 47 class SVM(StatModel): |
| 43 def __init__(self, svmType = cv2.SVM_C_SVC, kernelType = cv2.SVM_RBF, degree = 0, gamma = 1, coef0 = 0, Cvalue = 1, nu = 0, p = 0): | 48 '''wrapper for OpenCV SimpleVectorMachine algorithm''' |
| 44 self.model = cv2.SVM() | 49 def __init__(self, svmType = cv2.SVM_C_SVC, kernelType = cv2.SVM_RBF, degree = 0, gamma = 1, coef0 = 0, Cvalue = 1, nu = 0, p = 0): |
| 45 self.params = dict(svm_type = svmType, kernel_type = kernelType, degree = degree, gamma = gamma, coef0 = coef0, Cvalue = Cvalue, nu = nu, p = p) | 50 self.model = cv2.SVM() |
| 46 # OpenCV3 | 51 self.params = dict(svm_type = svmType, kernel_type = kernelType, degree = degree, gamma = gamma, coef0 = coef0, Cvalue = Cvalue, nu = nu, p = p) |
| 47 # self.model = cv2.SVM() | 52 # OpenCV3 |
| 48 # self.model.setType(svmType) | 53 # self.model = cv2.SVM() |
| 49 # self.model.setKernel(kernelType) | 54 # self.model.setType(svmType) |
| 50 # self.model.setDegree(degree) | 55 # self.model.setKernel(kernelType) |
| 51 # self.model.setGamma(gamma) | 56 # self.model.setDegree(degree) |
| 52 # self.model.setCoef0(coef0) | 57 # self.model.setGamma(gamma) |
| 53 # self.model.setC(Cvalue) | 58 # self.model.setCoef0(coef0) |
| 54 # self.model.setNu(nu) | 59 # self.model.setC(Cvalue) |
| 55 # self.model.setP(p) | 60 # self.model.setNu(nu) |
| 56 | 61 # self.model.setP(p) |
| 57 def train(self, samples, responses, computePerformance = False): | 62 |
| 58 self.model.train(samples, responses, params = self.params) | 63 def train(self, samples, responses, computePerformance = False): |
| 59 if computePerformance: | 64 self.model.train(samples, responses, params = self.params) |
| 60 return computeConfusionMatrix(self, samples, responses) | 65 if computePerformance: |
| 61 | 66 return computeConfusionMatrix(self, samples, responses) |
| 62 def predict(self, hog): | 67 |
| 63 return self.model.predict(hog) | 68 def predict(self, hog): |
| 69 return self.model.predict(hog) | |
| 64 | 70 |
| 65 | 71 |
| 66 ##################### | 72 ##################### |
| 67 # Clustering | 73 # Clustering |
| 68 ##################### | 74 ##################### |
