# feature_matrix = [pos1, pos2, neg1, neg2] # labels = [1, 1, -1, -1] # p1.plot_2d_examples(feature_matrix, labels, 0, [0.25, 0.6]) loose_points = np.array([[-3, 4], [-2, 3], [2, 4], [4, 2], [-3, -2], [0, -2], [3, -3]]) loose_labels = np.array([1, 1, 1, 1, -1, -1, -1]) average_theta, average_theta_0 = p1.averager(loose_points, loose_labels) p1.plot_2d_examples(loose_points, loose_labels, average_theta_0, average_theta, 'Averager - loose points') perceptron_theta, perceptron_theta_0 = p1.train_perceptron( loose_points, loose_labels) p1.plot_2d_examples(loose_points, loose_labels, perceptron_theta_0, perceptron_theta, 'Perceptron - loose points') pa_theta, pa_theta_0 = p1.train_passive_agressive(loose_points, loose_labels, 1000) p1.plot_2d_examples(loose_points, loose_labels, pa_theta_0, pa_theta, 'Passive Agressive - loose points') close_points = np.array([[-1, -1.25], [-1.5, -1], [1, 4], [1.5, 1.5], [4, 10], [-1, -1]]) close_labels = np.array([-1, 1, 1, -1, 1, -1]) average_theta, average_theta_0 = p1.averager(close_points, close_labels) p1.plot_2d_examples(close_points, close_labels, average_theta_0, average_theta,
loose_points = np.array([ [-3,4], [-2,3], [2,4], [4,2], [-3,-2], [0,-2], [3,-3]]) loose_labels = np.array([1,1,1,1,-1,-1,-1]) average_theta, average_theta_0 = p1.averager(loose_points, loose_labels) p1.plot_2d_examples(loose_points, loose_labels, average_theta_0, average_theta, 'Averager - loose points') perceptron_theta, perceptron_theta_0 = p1.train_perceptron(loose_points, loose_labels) p1.plot_2d_examples(loose_points, loose_labels, perceptron_theta_0, perceptron_theta, 'Perceptron - loose points') pa_theta, pa_theta_0 = p1.train_passive_agressive(loose_points, loose_labels, 1000) p1.plot_2d_examples(loose_points, loose_labels, pa_theta_0, pa_theta, 'Passive Agressive - loose points') close_points = np.array([ [-1,-1.25], [-1.5, -1], [1,4], [1.5,1.5], [4,10], [-1,-1]]) close_labels = np.array([-1, 1, 1, -1, 1, -1])
###################### average_theta, average_theta_0 = p1.averager(feature_matrix, labels) label_output = p1.perceptron_classify(feature_matrix, average_theta_0, average_theta) correct = 0 for i in xrange(0, len(label_output)): if(label_output[i] == labels[i]): correct = correct + 1 percentage_correct = 100.0 * correct / len(label_output) print("Averager gets " + str(percentage_correct) + "% correct (" + str(correct) + " out of " + str(len(label_output)) + ").") ###################### # PERCEPTRON ###################### perceptron_theta, perceptron_theta_0 = p1.train_perceptron(feature_matrix, labels) label_output = p1.perceptron_classify(feature_matrix, perceptron_theta_0, perceptron_theta) print 'Size', len(dictionary) print 'T_0', perceptron_theta_0 correct = 0 for i in xrange(0, len(label_output)): if(label_output[i] == labels[i]): correct = correct + 1 percentage_correct = 100.0 * correct / len(label_output) print("Perceptron gets " + str(percentage_correct) + "% correct (" + str(correct) + " out of " + str(len(label_output)) + ").") ###################### # PASSIVE-AGRESSIVE