Esempio n. 1
0
def plotByUser(alias=["Todos"],
               completado=True,
               expList=['UmbralAngulosPiloto', 'UmbralParalelismoPiloto']):

    from scripts.db import pandasUtilPiloto
    from IPython.display import display

    db = pandasUtilPiloto()

    if alias == ["Todos"]:
        users = db['alias'].unique()
    else:
        users = alias

    for user in users:

        userDb = db[db['alias'] == user]
        userAlias = userDb.iloc[0]['alias']

        if completado:
            userDb = userDb[userDb['convergenciaFinalizada'] == True]

        exps = userDb['expName'].unique()
        for exp in exps:
            if exp in expList:
                plotConvergenciaVersionPiloto(userDb, exp)
Esempio n. 2
0
def sessionStats():

    from scripts.db import pandasUtilPiloto
    from IPython.display import display
    from scripts.general import fechaLocal

    dbPiloto = pandasUtilPiloto()
    sessionInstances = dbPiloto['sessionInstance'].unique()
    for sessionInstance in sessionInstances:
        dbPilotoBySession = dbPiloto[dbPiloto['sessionInstance'] == sessionInstance]
        display ('El usuario ' + dbPilotoBySession.iloc[0]['alias'] + ' inicio sesion el ' + str(fechaLocal(sessionInstance)) + ' y juego ' + str(len(dbPilotoBySession['levelInstance'])) + ' niveles.')
Esempio n. 3
0
def sessionStats():

    from scripts.db import pandasUtilPiloto
    from IPython.display import display
    from scripts.general import fechaLocal

    dbPiloto = pandasUtilPiloto()
    sessionInstances = dbPiloto['sessionInstance'].unique()
    for sessionInstance in sessionInstances:
        dbPilotoBySession = dbPiloto[dbPiloto['sessionInstance'] ==
                                     sessionInstance]
        display('El usuario ' + dbPilotoBySession.iloc[0]['alias'] +
                ' inicio sesion el ' + str(fechaLocal(sessionInstance)) +
                ' y juego ' + str(len(dbPilotoBySession['levelInstance'])) +
                ' niveles.')
Esempio n. 4
0
def plotByUser(alias=["Todos"], completado=True, expList=["UmbralAngulosPiloto", "UmbralParalelismoPiloto"]):

    from scripts.db import pandasUtilPiloto
    from IPython.display import display

    db = pandasUtilPiloto()

    if alias == ["Todos"]:
        users = db["alias"].unique()
    else:
        users = alias

    for user in users:

        userDb = db[db["alias"] == user]
        userAlias = userDb.iloc[0]["alias"]

        if completado:
            userDb = userDb[userDb["convergenciaFinalizada"] == True]

        exps = userDb["expName"].unique()
        for exp in exps:
            if exp in expList:
                plotConvergenciaVersionPiloto(userDb, exp)
Esempio n. 5
0
def statByUser(alias=["Todos"],
               completado=True,
               expList=['UmbralAngulosPiloto', 'UmbralParalelismoPiloto']):
    from scripts.db import pandasUtilPiloto
    from IPython.display import display
    from scripts.plots import plotConvergenciaVersionPiloto
    import pandas as pd

    db = pandasUtilPiloto()

    if alias == ["Todos"]:
        users = db['alias'].unique()
    else:
        users = alias

    stats = pd.DataFrame()

    for user in users:

        userDb = db[db['alias'] == user]

        if completado:
            userDb = userDb[userDb['convergenciaFinalizada'] == True]

        exps = userDb['expName'].unique()
        for exp in exps:
            if exp in expList:
                expDb = userDb[userDb['expName'] == exp]
                for index, row in expDb.iterrows():
                    #plotConvergenciaVersionPiloto(db.ix[[index]], exp, fromStadistics=True)
                    if exp == 'UmbralAngulosPiloto':
                        M = 3
                    if exp == 'UmbralParalelismoPiloto':
                        M = 2
                    aciertos = [
                        elemento['acertado'] for elemento in row['historial']
                    ]
                    valores = [
                        elemento['estimulo']['desviacion']
                        for elemento in row['historial']
                    ]
                    senales = [
                        elemento['estimulo']['nivelSenal']
                        for elemento in row['historial']
                    ]
                    mean = sum(valores[-6:]) / 6
                    if mean < 0:
                        mean = -mean
                    # Creamos la entrada para el DataFrame
                    elemento = {}
                    elemento['userId'] = row['userId']
                    elemento['userAlias'] = row['alias']
                    elemento['expName'] = row['expName']
                    elemento['identificador'] = row['identificador']
                    elemento['levelInstance'] = row['levelInstance']
                    elemento['referencia'] = row['referencia']
                    elemento['serieSenal'] = [senales]
                    elemento['serieValores'] = [valores]
                    elemento['serieAciertos'] = [aciertos]
                    elemento['meanValue'] = mean
                    elemento['pValueCorrectas'], elemento[
                        'pValueFisher'] = condicion(aciertos, M)
                    if elemento['pValueCorrectas'] < 0.05:
                        elemento['deteccionCorrecta'] = True
                    else:
                        elemento['deteccionCorrecta'] = False
                    if elemento['pValueCorrectas'] > 0.9:
                        elemento['deteccionInCorrecta'] = True
                    else:
                        elemento['deteccionInCorrecta'] = False
                    if elemento['pValueFisher'] < 0.1:
                        elemento['evolucionDetectada'] = True
                    else:
                        elemento['evolucionDetectada'] = False
                    elemento['contar'] = 1
                    if elemento['expName'] == 'UmbralParalelismoPiloto':
                        idCategoria = 'Paralelismo '
                    if elemento['expName'] == 'UmbralAngulosPiloto':
                        idCategoria = 'Angulo '
                    idCategoria = idCategoria + str(
                        elemento['referencia']) + ' grados'
                    elemento['idCategoria'] = idCategoria
                    stats = pd.concat(
                        [stats, pd.DataFrame.from_dict(elemento)])

    return stats
Esempio n. 6
0
def statByUser (alias=["Todos"], completado=True, expList=['UmbralAngulosPiloto', 'UmbralParalelismoPiloto']):
    from scripts.db import pandasUtilPiloto
    from IPython.display import display
    from scripts.plots import plotConvergenciaVersionPiloto
    import pandas as pd

    db = pandasUtilPiloto()

    if alias == ["Todos"]:
        users = db['alias'].unique()
    else:
        users = alias

    stats = pd.DataFrame()

    for user in users:

        userDb = db[db['alias']==user]

        if completado:
            userDb = userDb[userDb['convergenciaFinalizada']==True]

        exps = userDb['expName'].unique()
        for exp in exps:
            if exp in expList:
                expDb = userDb[userDb['expName']==exp]
                for index, row in expDb.iterrows():
                    #plotConvergenciaVersionPiloto(db.ix[[index]], exp, fromStadistics=True)
                    if exp == 'UmbralAngulosPiloto':
                        M=3
                    if exp == 'UmbralParalelismoPiloto':
                        M=2
                    aciertos = [elemento['acertado'] for elemento in row['historial']]
                    valores = [elemento['estimulo']['desviacion'] for elemento in row['historial']]
                    senales = [elemento['estimulo']['nivelSenal'] for elemento in row['historial']]
                    mean = sum (valores[-6:]) / 6
                    if mean < 0:
                        mean = - mean
                    # Creamos la entrada para el DataFrame
                    elemento = {}
                    elemento['userId'] = row['userId']
                    elemento['userAlias'] = row['alias']
                    elemento['expName'] = row['expName']
                    elemento['identificador'] = row['identificador']
                    elemento['levelInstance'] = row['levelInstance']
                    elemento['referencia'] = row['referencia']
                    elemento['serieSenal'] = [senales]
                    elemento['serieValores'] = [valores]
                    elemento['serieAciertos'] = [aciertos]
                    elemento['meanValue'] = mean
                    elemento['pValueCorrectas'], elemento['pValueFisher'] = condicion (aciertos,M)
                    if elemento['pValueCorrectas'] < 0.05:
                        elemento['deteccionCorrecta'] = True
                    else:
                        elemento['deteccionCorrecta'] = False
                    if elemento['pValueCorrectas'] > 0.9:
                        elemento['deteccionInCorrecta'] = True
                    else:
                        elemento['deteccionInCorrecta'] = False
                    if elemento['pValueFisher'] < 0.1:
                        elemento['evolucionDetectada'] = True
                    else:
                        elemento['evolucionDetectada'] = False
                    elemento['contar'] = 1
                    if elemento['expName'] == 'UmbralParalelismoPiloto':
                        idCategoria = 'Paralelismo '
                    if elemento['expName'] == 'UmbralAngulosPiloto':
                        idCategoria = 'Angulo '
                    idCategoria = idCategoria + str(elemento['referencia']) + ' grados'
                    elemento['idCategoria'] = idCategoria
                    stats = pd.concat([stats, pd.DataFrame.from_dict(elemento)])

    return stats