当前位置: 首页>>代码示例>>Python>>正文


Python DataSet.update_label方法代码示例

本文整理汇总了Python中dataset.DataSet.update_label方法的典型用法代码示例。如果您正苦于以下问题:Python DataSet.update_label方法的具体用法?Python DataSet.update_label怎么用?Python DataSet.update_label使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在dataset.DataSet的用法示例。


在下文中一共展示了DataSet.update_label方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: extract_data

# 需要导入模块: from dataset import DataSet [as 别名]
# 或者: from dataset.DataSet import update_label [as 别名]
def extract_data(raw_data_file, format_data_path, n_vectors, n_components, shift=-1, n_datums=-1, test_percentage=0):
    """
    Extrait les données brutes de raw_data_file, et, à partir des paramètres de formatage renseignés, construit deux fichiers de données préformatées train et test. 
    Un item de données (datum) est une matrice de la forme (n_vectors,n_components*20), où n_vectors est le nombre de vecteurs à prendre pour un item de donnée, et n_components le nombre de composantes à garder sur chaque vecteur.

    :param file raw_data_file: 		Fichier contenant les données brutes
    :param str format_data_path:	Chemin vers le dossier où placer les données préformatées
    :param int n_vectors:		Nombre de vecteurs à considérer comme étant un item de données
    :param int n_components:		Nombre de composantes à garder sur chaque vecteur. Si = 1, un vecteur ne contiendra que les mfcc, si = 2 un vecteur contiendra les mfcc et leurs dérivées premières, si = 3, il y aura aussi les dérivées secondes.
    :param int shift: 			Décalage/Overlapping. Nombre de vecteurs en commun entre le dernier item de données extrait et le prochain. Attention ! Laisser à -1 pour désactiver l'overlapping. Introduire un overlapping donne des résultats surestimés en apprentissage (voir rapport de stage).
    :param int n_datums: 		the first n_datums will be extracted. -1 to extract data from the whole file
    :param int n_datums: 		Nombre d'items donnée à lire dans le fichier de données brutes avant l'arrêt du script. -1 = Aller jusqu'à la fin du fichier.
    :param float test_percentage: 	Rapport attendu du nombre de données à mettre en généralisation divisé par le nombre de données à mettre en apprentissage. (\*100 = pourcentage de données en test)
    :return: 				Les bases de données train et test (sous forme de classe DataSet)

    """
    train = DataSet(format_data_path, "train")
    test = DataSet(format_data_path, "test") 
    data = []
    datum = []
    feature_list = []
    line_count = 0
    total_line_count = 0
    for feature in raw_data_file:
        line_count += 1
        if feature[0] == ' ':
            # New data vector
            feature_list = feature.split()
            if feature_list[-1] == ']': feature_list.pop() # remove ending "]" for the last vector of the signal
            datum.append([ float(x) for x in feature_list[:(20*n_components)] ])
            if len(datum) >= n_vectors:
                # Append the datum
                data.append(datum)
                # Shift the datum
                datum = datum[shift:] if shift > 0 else []
                if len(data)%20000 == 0: print "extract data >> ", len(data), " datums extracted for", line_count, "lines read"
        else:
            # New signal
            new_str_label = feature.split('#')[0]
            if new_str_label != DataSet.str_label:
                if data:
                    # There is data to split in train/test
                    DataSet.split_train_test(data, test_percentage, train, test)
                    # Append to files
                    train.flush_buffer()
                    test.flush_buffer()
                    data = []
                    print "SPLIT : ", "train =", len(train), " - test =", len(test)
                    print "Line count for this label : ", line_count
                print "TOTAL : ", len(train)+len(test), " datums extracted for", total_line_count + line_count, "lines read"
                if n_datums > 0 and len(train) + len(test) >= n_datums: break
                # Update current label
                DataSet.update_label(new_str_label)
                print "New LABEL : ", DataSet.str_label, "int : ", DataSet.int_label
                total_line_count += line_count
                line_count = 0
            datum = []
    print "extract data >> GRAND TOTAL : ", (len(train) + len(test)), " datums extracted for", total_line_count + line_count, "lines read"
    return train, test
开发者ID:pombredanne,项目名称:PFECaffe,代码行数:61,代码来源:formatdata.py


注:本文中的dataset.DataSet.update_label方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。