def eval(input_x,input_y,test_x,test,label,write_folder = None): tuned_parameters = [{'kernel': ['rbf'], 'gamma': [1e-3, 1e-4], 'C': [1, 10, 100, 1000]}, {'kernel': ['linear'], 'C': [1, 10, 100, 1000]}] grid_clf = GridSearchCV(SVR(C=1,epsilon=0.2), tuned_parameters) grid_clf.fit(input_x,input_y) print "params : \t" print grid_clf.get_params() result = grid_clf.predict(test_x) #py_weka = python_weka(input_x,input_y,label) #py_weka.train() #result = py_weka.predict(test_x) #py_weka.close() #clf = SVR(C=1.0, epsilon=0.2) #clf.fit(input_x,input_y) #result = clf.predict(test_x) score_index = 0 produce_set = [] for i in test: produce_set.append([]) score_list = [] index_list = [] for j in i.thread: for k in j.sentences: k.predict_score = result[score_index] score_index += 1 score_list.append(k.predict_score) index_list.append(k.index) sorted_index_array = sorted_index(score_list) sen_length = 0 for j in range(len(index_list)): if sen_length < float(len(index_list))*0.3: produce_set[-1].append(index_list[sorted_index_array[len(index_list)-j-1]]) sen_length += 1 else: break score = weightRecall(test,produce_set,write_folder) print score rouge_eval = rouge(test,produce_set) rouge_score = rouge_eval.eval()['rouge_l_f_score'] print rouge_score return score,rouge_score
def rnn_test(self): produce_set = [] for i in self.test: produce_set.append([]) score_list = [] index_list = [] for j in i.thread: input_ins = [] label_ins = [] index = [] for k in j.sentences: input_ins.append(k.feature) index.append(k.index) input_ins = input_ins + input_ins input_ins = numpy.asarray(numpy.float32(input_ins)) softmax_array = self.rnn_model.prob(input_ins) count = 0 for i in softmax_array[(len(softmax_array)/2) :]: score = i#(i[1] * 0.33) + (i[2] * 0.66) + (i[3] * 1) score_list.append(score) index_list.append(index[count]) count += 1 sorted_index_array = sorted_index(score_list) sen_length = 0 for j in range(len(index_list)): if sen_length < float(len(index_list))*0.3: produce_set[-1].append(index_list[sorted_index_array[len(index_list)-j-1]]) sen_length += 1 else: break score = weightRecall(self.test,produce_set) print score rouge_eval = rouge(self.test,produce_set) rouge_score = rouge_eval.eval()['rouge_l_f_score'] print rouge_score return score,rouge_score