if __name__ == '__main__': opt, _ = parseArguments() if opt.directory is None: print 'Need directory, use -d or --dir' exit() if opt.outfile is None: print 'Need output file, use -o or --outfile' exit() print 'Loading data...' files, filenames = or_util.getExtFiles('.npz', opt.directory) data = map(lambda f: or_util.loadFile(f), files) print 'Extracting features...' features = map(lambda d: or_features.flattenFeatures(d, channels=(0,1)), data) features = map(lambda d: or_ml.samplePerc(d, 0.005), features) labels = or_ml.generateLabels(features) X = np.concatenate(features) y = np.concatenate(labels) C = len(data) N = len(y) print 'Training... ( N =', N, ')' shuffler = cross_validation.ShuffleSplit(N, 1, 0.1) for train_idx, test_idx in shuffler: X_train = X[train_idx,:] X_test = X[test_idx,:] y_train = y[train_idx] y_test = y[test_idx]
def classifyPlastic(self, img): hs = or_features.flattenFeatures([img], channels=(0,1)) p = or_ml.mostFrequent(self.plasticTable[hs[:,1],hs[:,0]]) predictedClass = self.plasticClasses[p] return predictedClass