Esempio n. 1
0
 
 # question 12
 E_in_list = []
 #label, data = utils.load_data('features.train')
 print numpy.unique(label)
 for C in C_list_log:
     clf = SVM.poly_kernel(label, data, 8.0, 2, 1, 1, 10**C)
     E_in_list.append(SVM.error_0_1(utils.which_binary(label, 8.0), data, clf))
 utils.curve(C_list_log, E_in_list, '12.png', 'log(C)', 'E_in')
 
 # question 13
 SV_num_list = []
 #label, data = utils.load_data('features.train')
 for C in C_list_log:
     clf = SVM.poly_kernel(label, data, 8.0, 2, 1, 1, 10**C)
     SV_num_list.append(SVM.SV_num(clf))
 print SV_num_list
 utils.curve(C_list_log, SV_num_list, '13.png', 'log(C)', '#SV')
 
 # question 14
 C_list_log = [-3, -2, -1, 0, 1,]
 dis_list = []
 for C in C_list_log:
     clf = SVM.gaussian_kernel(label, data, 0.0, 80, 10**C)
     free_SV, free_SV_coef = SVM.free_SV(clf, 10**C)
     SV = SVM.get_SV(clf)
     SV_coef = SVM.get_dual_coef(clf)
     dis = SVM.cal_dis(SV, SV_coef[0], free_SV[0])
     dis_list.append(dis)
 utils.curve(C_list_log, dis_list, '14.png', 'log(C)', 'dis')