Esempio n. 1
0
 def write(self, metadata, samples, filename):
     '''
     samples - list of samples
     filename - name of output file
     '''
     
     separator = "\t"
     with open(filename, "w") as out:
         # metadata - labels
         out.write("EVENTS%s" % (separator))
         for label in metadata.labels:
             out.write("%s%s" % (label, separator))
         out.write("class\n")
         # actual data
         i = 2
         for sample in samples:
             # description in the 1st column
             out.write("%s%s" % (sample.description, separator))
             # value
             for value in sample.features:
                 if is_na(value):
                     out.write("?%s" % (separator))
                 elif isinstance(value, numbers.Integral):
                     int_value = int(value)
                     out.write("%d%s" % (int_value, separator))
                 elif isinstance(value, numbers.Real):
                     out.write("%2.2f%s" % (value, separator))
                 else:
                     raise UnexpectedDataError
             # class
             out.write("%s\n"
                       % (sample.classification))
Esempio n. 2
0
    def write(self, metadata, samples, filename):
        '''
        samples - list of samples
        filename - name of output file
        '''
        desc_filename = filename + "-description"

        separator = " "
        with open(filename, "w") as out, open(desc_filename, "w") as desc:
            # header
            out.write("Number of examples %d\n" % (len(samples)))
            try:
                samples_number = len(samples[0].features)
            except IndexError:
                samples_number = 0
            out.write("Number of inputs %d\n" % (samples_number))
            # metadata - types
            out.write("n%s" % (separator))
            for data_type in metadata.types:
                out.write("%s%s" % (data_type, separator))
            out.write("o\n")
            # metadata - labels
            out.write("no%s" % (separator))
            for label in metadata.labels:
                out.write("%s%s" % (label, separator))
            out.write("class\n")
            # actual data
            i = 1
            for sample in samples:
                # ordinal number
                out.write("%d%s" % (i, separator))
                # description in a separate file
                desc.write("%d%s%s\n" %
                           (i, separator, sample.description.lower()))
                i = i + 1
                # value
                for value in sample.features:
                    if is_na(value):
                        out.write("?%s" % (separator))
                    elif isinstance(value, numbers.Integral):
                        int_value = int(value)
                        out.write("%d%s" % (int_value, separator))
                    elif isinstance(value, numbers.Real):
                        out.write("%2.2f%s" % (value, separator))
                    else:
                        raise UnexpectedDataError
                # class
                out.write("%d\n" %
                          (self.translate_to_numeric(sample.classification)))
Esempio n. 3
0
 def write(self, metadata, samples, filename):
     '''
     samples - list of samples
     filename - name of output file
     '''
     desc_filename = filename+"-description"
     
     separator = " "
     with open(filename, "w") as out, open(desc_filename, "w") as desc:
         # header
         out.write("Number of examples %d\n" % (len(samples)))
         try:
             samples_number = len(samples[0].features)
         except IndexError:
             samples_number = 0
         out.write("Number of inputs %d\n" % (samples_number))
         # metadata - types
         out.write("n%s" % (separator))
         for data_type in metadata.types:
             out.write("%s%s" % (data_type, separator))
         out.write("o\n")
         # metadata - labels
         out.write("no%s" % (separator))
         for label in metadata.labels:
             out.write("%s%s" % (label, separator))
         out.write("class\n")
         # actual data
         i = 1
         for sample in samples:
             # ordinal number
             out.write("%d%s" % (i, separator))
             # description in a separate file
             desc.write("%d%s%s\n" % (i, separator, sample.description.lower()))
             i = i + 1
             # value
             for value in sample.features:
                 if is_na(value):
                     out.write("?%s" % (separator))
                 elif isinstance(value, numbers.Integral):
                     int_value = int(value)
                     out.write("%d%s" % (int_value, separator))
                 elif isinstance(value, numbers.Real):
                     out.write("%2.2f%s" % (value, separator))
                 else:
                     raise UnexpectedDataError
             # class
             out.write("%d\n"
                       % (self.translate_to_numeric(sample.classification)))