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
def list_gesture_ids(): filenames = util.get_files('./wrd_data', '.wrd') gesture_ids = [filename.split('.')[0] for filename in filenames] return gesture_ids
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"]:
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:')
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