''' A script to plot a bunch of points ''' from mayavi import mlab from LogReader import LogReader import numpy as np def plot_points(points): print '[plot_points] Plotting points!' xs = np.array([int(point._x) for point in points]) ys = np.array([int(point._y) for point in points]) zs = np.array([int(point._z) for point in points]) labels = np.array([int(point._label) for point in points]) mlab.points3d(xs, ys, zs, labels, scale_factor = 0.4, mode='cube') mlab.show() def plot_predicted_labels(points, labels): print '[plot_points] Plotting points!' xs = np.array([int(point._x) for point in points]) ys = np.array([int(point._y) for point in points]) zs = np.array([int(point._z) for point in points]) mlab.points3d(xs, ys, zs, labels, scale_factor = .4, mode='cube') mlab.show() if __name__ == "__main__": #Load a log log_object = LogReader('../data/oakland_part3_an_rf.node_features') points = log_object.read() plot_points(points)
def rand_perm(n): p = range(0, n) for i in range(0, n): r = random.randint(i, n - 1) x = p[i] p[i] = p[r] p[r] = x return p if __name__ == "__main__": train_log_object = LogReader('../data/oakland_part3_an_rf.node_features') train_points = train_log_object.read() test_log_object = LogReader('../data/oakland_part3_am_rf.node_features') test_points = test_log_object.read() X = np.array([point._feature for point in train_points]) Y = np.array([point._label for point in train_points]) perm_idx = np.random.permutation(X.shape[0]) #range(X.shape[0]) ds_train = Dataset(X[perm_idx,:],Y[perm_idx]) cv_fold = 5 param_num = 9 cm = np.zeros([cv_fold,cv_fold,5,5]) acc = np.zeros([cv_fold,cv_fold]) params = [[5,0.01],[10,0.01],[15,0.01],[5,0.001],[10,0.001],[15,0.001],[5,0.1],[10,0.1],[15,0.1]] cum_cm = np.zeros([cv_fold,5,5]) mean_confusion_matrix = np.zeros([param_num,5,5])