def initialize(): anotacoes = parser.parseAnnotation() dominios = parser.parseDominio() participantes = {} atributos = ["type", "size", "colour", "hpos", "vpos", "near", "left", "right", "below", "above", "in-front-of"] targets = {"01f-t1n":"h", "01f-t1r":"h", "01f-t2n":"h", "01f-t2r":"h", "01o-t1n":"h", "01o-t1r":"h", "01o-t2n":"h", "01o-t2r":"h", "02f-t1n":"o", "02f-t1r":"o", "02f-t2n":"o", "02f-t2r":"o", "02o-t1n":"o", "02o-t1r":"o", "02o-t2n":"o", "02o-t2r":"o", "03f-t1n":"m", "03f-t1r":"m", "03f-t2n":"m", "03f-t2r":"m", "03o-t1n":"m", "03o-t1r":"m", "03o-t2n":"m", "03o-t2r":"m", "04f-t1n":"a", "04f-t1r":"a", "04f-t2n":"a", "04f-t2r":"a", "04o-t1n":"a", "04o-t1r":"a", "04o-t2n":"a", "04o-t2r":"a", "05f-t1n":"m", "05f-t2n":"m", "05f-t1r":"m", "05f-t2r":"m", "05o-t1n":"m", "05o-t1r":"m", "05o-t2n":"m", "05o-t2r":"m", "06f-t1n":"h", "06f-t1r":"h", "06f-t2n":"h", "06f-t2r":"h", "06o-t1n":"h", "06o-t1r":"h", "06o-t2n":"h", "06o-t2r":"h", "07f-t1n":"i", "07f-t1r":"i", "07f-t2n":"i", "07f-t2r":"i", "07o-t1n":"i", "07o-t1r":"i", "07o-t2n":"i", "07o-t2r":"i", "08f-t1n":"a", "08f-t1r":"a", "08f-t2n":"a", "08f-t2r":"a", "08o-t1n":"a", "08o-t1r":"a", "08o-t2n":"a", "08o-t2r":"a" } return dominios, targets, anotacoes, atributos, participantes
def initialize(): anotacoes = parser.parseAnnotation() dominios = parser.parseDominio() participantes = {} atributos = ["type", "colour", "hpos", "vpos", "near", "left", "right", "below", "above"] targets = {"abs1":"e2", "abs3":"e2", "abs5":"e3", "proj1":"e2", "proj3":"e4", "proj5":"e2" } return dominios, targets, anotacoes, atributos, participantes
def crossValidation(anotacoes = {}): if len(anotacoes) == 0: anotacoes = parser.parseAnnotation() folds = {} for i in range(1,7): folds[i] = {} for anotacao in anotacoes: contexto = anotacao["caracteristicas"]["context"] participante = anotacao["caracteristicas"]["trial"] for i in range(1,7): if participante not in folds[i]: folds[i][participante] = anotacao break return folds
def crossValidation(fold = int, anotacoes = {}): if len(anotacoes) == 0: anotacoes = parser.parseAnnotation() folds = {} nroParticipantes = contabilizaParticipantes(anotacoes) nroAnotacoes = len(anotacoes) expressoesParticipantePorFold = (nroAnotacoes / nroParticipantes) / fold nroExpressoes = {} for i in range(1,fold+1): folds[str(i)] = {} nroExpressoes[str(i)] = {} for anotacao in anotacoes: contexto = anotacao["caracteristicas"]["context"] participante = anotacao["caracteristicas"]["trial"] achou = False for i in range(1,fold+1): if participante not in folds[str(i)]: folds[str(i)][participante] = [] nroExpressoes[str(i)][participante] = expressoesParticipantePorFold if nroExpressoes[str(i)][participante] > 0: folds[str(i)][participante].append(anotacao) nroExpressoes[str(i)][participante] = nroExpressoes[str(i)][participante] -1 achou = True break if achou == False: for i in range(1,fold+1): if nroExpressoes[str(i)][participante] == 0: folds[str(i)][participante].append(anotacao) nroExpressoes[str(i)][participante] = nroExpressoes[str(i)][participante] -1 break return folds