示例#1
0
    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
示例#2
0
文件: matrix.py 项目: pedrot/pandas
    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
示例#3
0
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)