Example #1
0
def queries(training_set, test_set, train_vectors, test_vectors, path):
    threshold_start = 1
    threshold_end = 10
    thresholds = []
    metrics_obj_list = []

    for i in range(threshold_start, threshold_end + 1):
        thresholds.append(i)
        metrics_obj_list.append(Metrics())

    fw = FileWriter(path)
    eval = Evaluator(training_set)

    for i in range(len(test_vectors)):
        scores = query(train_vectors, test_vectors[i], threshold_end)
        query_doc = test_set[i]

        for j in range(len(thresholds)):
            threshold = thresholds[j]

            eval.query([training_set[x] for (x, y) in scores[0:threshold]],
                       query_doc)
            eval.calculate()

            metrics_obj_list[j].updateConfusionMatrix(eval)
            metrics_obj_list[j].updateMacroAverages(eval)

    for obj in metrics_obj_list:
        obj.calculate(len(test_set))

    fw.writeToFiles(metrics_obj_list, thresholds)
Example #2
0
 def write_file(self, name, obj, dest):
     if hasattr(obj, 'toData'):
         data = obj.toData()
         path, name = os.path.split(name)
         name = self.get_file_name(obj, name)
         log.info("Extracting %s to %s...", name, dest + '/' + name)
         if not self.readOnly:
             with FileWriter(dest + '/' + name) as output:
                 output.write(data)
     else:
         for obj in obj.objects:
             self.write_file(name, obj, dest)
Example #3
0
    def mkfile(self, path:Path, mode:fopenMode='wb') -> BinOutput:
        """Create a file within the output directory.

        Allows multiple nested paths. Creates the directories as needed.

        Returns the file object.
        """
        log.debug("%s.mkfile(%s) dest=%s", type(self).__name__,
            path, self.destPath)
        _, name = os.path.split(self.input.name)
        path += '/' + name + '.' + self.defaultFileExt
        #path = self.destPath + '/' + path
        if self.dry: return DummyFileWriter(path, mode)
        return FileWriter(path, mode)
Example #4
0
 def extract_recursive(self, path, dest):
     with self.makeFileReader(path) as file:
         decoder = codec.getDecoderForFile(file)
         decoder = decoder(file, None)
         log.debug("get_files(%s, %s)", decoder, path)
         items = self.get_files(decoder, path)
         for item in items:
             log.info("Extracting %s/%s...", dest, item['name'])
             if not self.readOnly:
                 with FileWriter(dest + '/' + item['name']) as output:
                     if 'file' in item:
                         item['file'].seek(0)
                         output.write(item['file'].read())
                     else:
                         output.write(item['obj'].toData())
Example #5
0
    def __init__(self, initial_vaccinated, initial_infected, initial_healthy, virus, resultsfilename):
        '''Set up the initial simulation values'''

        self.virus = virus 
        self.initial_infected = initial_infected 
        self.initial_healthy = initial_healthy
        self.initial_vaccinated = initial_vaccinated

        self.population = []

        self.population_size = initial_infected + initial_healthy + initial_vaccinated


        self.total_dead = 0
        self.total_vaccinated = initial_vaccinated

        self.file_writer = FileWriter(resultsfilename)
Example #6
0
    def unpack(self):
        """Unpack this file to `self.destPath`."""
        objs = list(self._iter_objects())

        for obj in objs:
            name = obj.name
            if name == '' or name.startswith('.'):
                log.warning("Object named '%s' output to '%s'",
                    name, 'data'+name)
                name = 'data'+name
            if hasattr(obj, 'defaultFileExt'):
                name += '.' + obj.defaultFileExt
            if self.destPath != '':
                name = self.destPath+'/'+name

            log.info('Extract "%s" to "%s"', obj.name, name)
            with FileWriter(name) as file:
                file.write(obj.toData())
Example #7
0
    from filewriter import FileWriter
    if len(sys.argv) > 1:
        log = sys.argv[1]  # name of log file
    else:
        log = 'webmet.log'  # default log file
    if len(sys.argv) > 2:
        n = int(sys.argv[2])  # number of observations
    else:
        n = 10  # default single observation
    if len(sys.argv) > 3:
        delay = int(sys.argv[3])  # delay between observations (sec)
    else:
        delay = 30  # default delay 30 sec
    if len(sys.argv) > 4:
        elevation = float(sys.argv[4])  # elevation of start point
    else:
        elevation = 100  # default elevation for start point
    mu = WebMetMeasureUnit(
        msg="q=budapest&appid=13152b0308b85a39cc9a161e241ec2cf")
    wi = WebIface("demo", "http://api.openweathermap.org/data/2.5/weather",
                  "json")
    fw = FileWriter(fname=log,
                    filt=['pressure', 'temp', 'humidity', 'datetime'])
    web = WebMet('WebMet', mu, wi)
    for i in range(n):
        data = web.GetPressure()
        data['temp'] = web.GetTemp()['temp']
        fw.WriteData(data)
        print(data)
        time.sleep(delay)
    def false_positive(self, partitions: ClusterPoints,
                       clusters: ClusterPoints):
        return self.sum_of_pairs(clusters) - self.true_positive(
            partitions, clusters)

    @staticmethod
    def sum_of_pairs(cluster_points: ClusterPoints):
        combinations = 0
        for cluster_id in cluster_points.cluster_ids():
            cluster_count = cluster_points.points_count(cluster_id)
            combinations += cluster_count * (cluster_count - 1)
        return combinations / 2


nmi = ClusterEvaluator(NormalizedMutualInformation(), FileReader("", " "))
jcs = ClusterEvaluator(JaccardSimilarity(), FileReader("", " "))
results = list()
for iii in range(1, 6):
    nmi_result = nmi.evaluate("data/partitions.txt",
                              "data/clustering_" + str(iii) + ".txt")
    jcs_result = jcs.evaluate("data/partitions.txt",
                              "data/clustering_" + str(iii) + ".txt")
    print("////// " + str(iii) + " ///////")
    print(nmi_result)
    print(jcs_result)
    print()
    results.append([nmi_result, jcs_result])

writer = FileWriter("data/scores.txt", " ")
writer.write_list_of_rows_to_file(results)
Example #9
0
        from trimble5500 import Trimble5500
        mu = Trimble5500()
    else:
        print "unsupported instrument type"
        #sys.exit(1)
    # set port
    port = 'COM5'
    if len(sys.argv) > 4:
        port = sys.argv[4]
    iface = SerialIface("test", port)
    # set output file name
    fn = 'measmtrx.txt'
    if len(sys.argv) > 5:
        fn = sys.argv[5]
    # write out measurements
    wrt = FileWriter(angle='DEG', dist='.3f', fname=fn)
    if wrt.GetState() != wrt.WR_OK:
        sys.exit(-1)  # open error
    ts = TotalStation(stationtype, mu, iface, wrt)
    ts.SetATR(0)  # turn ATR off
    ts.SetEDMMode('RLSTANDARD')  # reflectorless distance measurement
    ts.SetRedLaser(1)  # turn red laser on

    w = raw_input("Target on lower left corner and press Enter")
    w1 = ts.GetAngles()
    w = raw_input("Target on upper right corner and press Enter")
    w2 = ts.GetAngles()

    dh = (w2['hz'].GetAngle() - w1['hz'].GetAngle()) / dh_nr
    dv = (w2['v'].GetAngle() - w1['v'].GetAngle()) / dv_nr
    # measurement loops
Example #10
0
    if len(sys.argv) > 1:
        cm = sys.argv[1]
    else:
        cm = '/dev/ttyUSB0'
    if re.search('COM[0-9]$', cm) or '/dev/ttyUSB0' == cm:
        from serialiface import SerialIface
        iface = SerialIface('test', cm)
    else:
        from bluetoothiface import BluetoothIface
        iface = BluetoothIface('test', cm, 1)

    #from localiface import LocalIface
    #iface = LocalIface('test', 'output.nmea')
    from nmeagnssunit import NmeaGnssUnit
    from filewriter import FileWriter
    from gnss import Gnss

    #Making measurement unit
    mu = NmeaGnssUnit()

    #Writer unit creating
    if len(sys.argv) > 2:
        fn = sys.argv[2]
    else:
        fn = 'stdout'
    wrt = FileWriter('', 'DEG', '.3f', '%Y-%m-%d %H:%M:%S', None, fn)

    #Get NMEA data
    g = Gnss('', mu, iface, wrt)
    while g.measureIface.state == g.measureIface.IF_OK:
        g.Measure()
Example #11
0
session = requests.Session()

start_time = getTime()

training_set_json = json.load(open(training_set_path))["documents"]

if test_set_limit != -1:
    test_set = json.load(open(test_set_path))["documents"][0:test_set_limit]
else:
    test_set = json.load(open(test_set_path))["documents"]

test_set_pmids = [doc["pmid"] for doc in test_set]
tlog("Test set read.")

fw = FileWriter()

for i in range(threshold_start, threshold_end + 1):
    thresholds.append(i)
    metrics_obj_list.append(Metrics())

eval = Evaluator()

doc_results = {}

results_file = open("results.json", "r")
pmid_results = json.load(results_file)

result_documents_file = open("result_documents.json", "r")
result_documents = json.load(result_documents_file)
 def __init__(self, log_file_path, callback):
     self.logger = logging.getLogger(self.__class__.__name__)
     super(SerialFileWriter, self).__init__(self.__class__.__name__)
     self._file_writer = FileWriter(log_file_path, callback)
Example #13
0
        log = sys.argv[1]  # name of log file
    else:
        log = 'bmp180.log'  # default log file
    if len(sys.argv) > 2:
        n = int(sys.argv[2])  # number of observations
    else:
        n = 10  # default single observation
    if len(sys.argv) > 3:
        delay = int(sys.argv[3])  # delay between observations (sec)
    else:
        delay = 30  # default delay 30 sec
    if len(sys.argv) > 4:
        elevation = float(sys.argv[4])  # elevation of start point
    else:
        elevation = 100  # default elevation for start point
    mu = BMP180MeasureUnit()
    i2c = I2CIface(None, 0x77)
    fw = FileWriter(fname='bmp180.log',
                    filt=['elev', 'pressure', 'temp', 'datetime'])
    bmp = BMP180('BMP180', mu, i2c)
    bmp.LoadCalibration()
    bmp.SetSealevel(elevation)
    #bmp.GetTemp()
    for i in range(n):
        data = bmp.GetPressure()
        data['elev'] = bmp.GetAltitude()
        data['temp'] = bmp.GetTemp()['temp']
        fw.WriteData(data)
        print(data)
        time.sleep(delay)