def xs(self, key): """ Returns a row from the DataMatrix as a Series object. Parameters ---------- key : some index contained in the index Returns ------- Series """ if key not in self.index: raise Exception('No cross-section for %s' % key) loc = self.index.indexMap[key] theSlice = self.values[loc, :].copy() xsIndex = self.columns result = Series(theSlice, index=xsIndex) if self.objects is not None and len(self.objects.columns) > 0: result = result.append(self.objects.getXS(key)) return result
def model_cross_validation(flag): if flag == 5: train_set,train_label_set,test_df,test_label = cross_validation_data_preprocess() else: train_set,train_label_set,test_df,test_label = cross_validation_data_preprocess_2() myLOGGER.debug('Cross validation varify on train data....') bf1_RF = -1.0 index_RF = 0 bf1_SVM = -1.0 index_SVM = 0 bf1_DT = -1.0 index_DT = 0 bf1_KNN = -1.0 index_KNN = 0 for i in range(len(train_set)): train_merge = DataFrame() train_label_merge = Series() for j in range(len(train_set)): if i != j : train_label_merge = train_label_merge.append(train_label_set[j]) train_merge = train_merge.append(train_set[j]) myLOGGER.debug("Train shape {0}, train label {1},test shape {2}, test label shape {3}.".format(train_merge.shape, len(train_label_merge), train_set[i].shape,len(train_label_set[i]))) f1_RF = model_RandomForest(train_merge, train_label_merge, train_set[i], train_label_set[i]) if f1_RF > bf1_RF: bf1_RF = f1_RF index_RF = i f1_RF = model_SVM(train_merge, train_label_merge, train_set[i], train_label_set[i]) if f1_RF > bf1_SVM: bf1_SVM = f1_RF index_SVM = i f1_DT = model_DT(train_merge, train_label_merge, train_set[i], train_label_set[i]) if f1_DT > bf1_DT: bf1_DT = f1_DT index_DT = i f1_KNN = model_KNN(train_merge, train_label_merge, train_set[i], train_label_set[i]) if f1_KNN > bf1_KNN: bf1_KNN = f1_KNN index_KNN = i myLOGGER.debug("Cross validation varify: f1_RF = {0}, f1_SVM = {1}, f1_DT = {2}, f1_KNN = {3}.".format(bf1_RF, bf1_SVM, bf1_DT, bf1_KNN)) myLOGGER.debug('Cross validation varify on test data....') train_merge = DataFrame() train_label_merge = Series() for j in range(len(train_set)): if j != index_RF : train_label_merge = train_label_merge.append(train_label_set[j]) train_merge = train_merge.append(train_set[j]) f1_RF = model_RandomForest(train_merge, train_label_merge, test_df, test_label) train_merge = DataFrame() train_label_merge = Series() for j in range(len(train_set)): if j != index_SVM : train_label_merge = train_label_merge.append(train_label_set[j]) train_merge = train_merge.append(train_set[j]) f1_SVM = model_SVM(train_merge, train_label_merge, test_df, test_label) train_merge = DataFrame() train_label_merge = Series() for j in range(len(train_set)): if j != index_DT : train_label_merge = train_label_merge.append(train_label_set[j]) train_merge = train_merge.append(train_set[j]) f1_DT = model_DT(train_merge, train_label_merge, test_df, test_label) train_merge = DataFrame() train_label_merge = Series() for j in range(len(train_set)): if j != index_KNN : train_label_merge = train_label_merge.append(train_label_set[j]) train_merge = train_merge.append(train_set[j]) f1_KNN = model_KNN(train_merge, train_label_merge, test_df, test_label)