Example #1
0
def option7(gesture_file, vector_model, top_k_input=None):
    filenames = util.get_files('./wrd_data', '.wrd')
    distances = []
    for filename in filenames:
        gesture_id = filename.split('.')[0]
        distance = gesture_dtw_distance(gesture_file, gesture_id)
        distances.append((gesture_id, distance))
    distances.sort(key=lambda pair: pair[1])
    return distances
Example #2
0
def list_gesture_ids():
    filenames = util.get_files('./wrd_data', '.wrd')
    gesture_ids = [filename.split('.')[0] for filename in filenames]
    return gesture_ids
Example #3
0
import math
import sys
from pathlib import Path
from typing import List
import general_util as util
import numpy as np
from task2 import load_vector, list_gesture_ids
from sklearn import decomposition

working_dir = os.getcwd()
# Make sure the output directory exists
if (not util.LATENT_SEMANTICS_FOLDER in os.listdir(working_dir)):
	os.mkdir(working_dir+util.SLASH+util.LATENT_SEMANTICS_FOLDER)

# Get the keys of all the words in our gesture-word dictionary
filename = util.get_files('./vector_data', '.txt')[0]
dict_word_to_vector_value = util.read_vector_txt('./vector_data/' + filename)
word_keys = list(dict_word_to_vector_value.keys())

# Get user's preferences
# Obtain the type of vector model
print('Specify the type of vector model, TF or TF-IDF:')
vector_model_input = input().upper()
if vector_model_input not in ["TF","TF-IDF"]:
    print("Invalid vector model")
    print("vector_model_input")
    exit()

print('Specify the type of analysis: PCA, SVD, NMF, or LDA:')
analysis_input = input().upper()
if analysis_input not in ["PCA", "SVD", "NMF", "LDA"]:
Example #4
0
print('Using directory ' + gesture_dir)
print()

gesture_dir += util.SLASH

# Ensure that all component directories are present
files = os.listdir(gesture_dir)
for c in util.COMPONENTS:
    if (not c in files):
        print('Error: missing component ' + c)
        quit()

# Create a non-redundant list of data files common to all component directories
data_files = set()
for c in util.COMPONENTS:
    data_files = data_files.union(set(util.get_files(gesture_dir + c, '.csv')))
for c in util.COMPONENTS:
    data_files = data_files.intersection(
        set(util.get_files(gesture_dir + c, '.csv')))
data_files = list(data_files)
data_files.sort()

print('Found the following data files:')
for f in data_files:
    print(f)
print()

# Obtain RESOLUTION, WINDOW_LENGTH, and SHIFT_LENGTH
print('Please specify a desired resolution r:')
util.R = int(input())
print('Please specify a desired window length w:')
Example #5
0
import os
import math
import general_util as util
from task0_util import *

SENSORS = []
util.load_user_settings()

working_dir = os.getcwd()
wrd_dir = working_dir + util.SLASH + util.WRD_FOLDER
wrd_files = util.get_files(wrd_dir, '.wrd')

print('Found the following wrd files:')
for f in wrd_files:
	print(f)
print()



print('Reading wrd data...\n')
data = {}
for f in wrd_files:
	file_name = f[0:-4]
	data[file_name] = util.read_wrd_symbolic(working_dir+util.SLASH+util.WRD_FOLDER+util.SLASH+f) # Read tuple list
	
	if (len(SENSORS) == 0):
		for q in data[file_name]:
			if(not q[1] in SENSORS):
				SENSORS.append(q[1])
	
	# Convert tuples to strings