Commit e68ae6a7 authored by adrian.canosa's avatar adrian.canosa

Traducciones inglés.

parent fd785998
......@@ -44,7 +44,7 @@ def consultar_fichero(id_fichero):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
return datos
......@@ -58,7 +58,7 @@ def wilcoxon(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
try:
resultado = wilcoxon_test(datos["matriz_datos"],alpha)
except Exception, fallo:
......@@ -82,7 +82,7 @@ def friedman(id_fichero, alpha=0.05, tipo=0, test_comparacion="bonferroni_dunn_t
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
resultado = test_ranking(friedman_test, getattr(tnp, test_comparacion), datos["nombres_algoritmos"], datos["matriz_datos"], len(datos["matriz_datos"]), alpha, tipo)
return json.dumps(resultado)
......@@ -103,7 +103,7 @@ def iman_davenport(id_fichero, alpha=0.05, tipo=0, test_comparacion="bonferroni_
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
resultado = test_ranking(iman_davenport_test, getattr(tnp, test_comparacion), datos["nombres_algoritmos"], datos["matriz_datos"], len(datos["matriz_datos"]), alpha, tipo)
return json.dumps(resultado)
......@@ -124,7 +124,7 @@ def friedman_rangos_alineados(id_fichero, alpha=0.05, tipo=0, test_comparacion="
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
resultado = test_ranking(friedman_rangos_alineados_test, getattr(tnp, test_comparacion), datos["nombres_algoritmos"], datos["matriz_datos"], len(datos["matriz_datos"]), alpha, tipo)
return json.dumps(resultado)
......@@ -145,7 +145,7 @@ def quade(id_fichero, alpha=0.05, tipo=0, test_comparacion="bonferroni_dunn_test
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
resultado = test_ranking(quade_test, getattr(tnp, test_comparacion), datos["nombres_algoritmos"], datos["matriz_datos"], len(datos["matriz_datos"]), alpha, tipo)
return json.dumps(resultado)
......@@ -159,7 +159,7 @@ def shapiro(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
estadisticos_w = []
p_valores = []
resultados = []
......@@ -181,7 +181,7 @@ def kolmogorov(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
estadisticos_d = []
p_valores = []
resultados = []
......@@ -203,7 +203,7 @@ def agostino(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
estadisticos_k2, p_valores = st.normaltest(datos["matriz_datos"],axis=0)
#Si p_valor < alpha, se rechaza la hipótesis "True" de que la muestra provenga de una distribución normal.
resultados = [np.asscalar(p_valores[i]<alpha) for i in range(len(p_valores))]
......@@ -219,7 +219,7 @@ def levene(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
argumentos = ()
for i in range(len(datos["matriz_datos"][0])):
argumentos = argumentos + ([conjunto[i] for conjunto in datos["matriz_datos"]],)
......@@ -239,9 +239,9 @@ def ttest(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key.."}
if len(datos["matriz_datos"][0]) != 2:
return {"fallo" : "Se requieren únicamente dos muestras."}
return {"fallo" : "Require only two samples."}
else:
argumentos = ()
for i in range(len(datos["matriz_datos"][0])):
......@@ -262,7 +262,7 @@ def anova(id_fichero, alpha=0.05):
try:
datos = lista_ficheros[id_fichero]
except Exception:
return {"fallo" : "No existe ningún fichero con esa clave."}
return {"fallo" : "There is no file with that key."}
res_anova = anova_test(datos["matriz_datos"],alpha)
if res_anova["resultado"] == True:
res_comparacion = bonferroni_test(datos["nombres_algoritmos"],res_anova["medias_algoritmos"],res_anova["cuadrados_medios"][2],len(datos["matriz_datos"]),alpha)
......
......@@ -8,6 +8,18 @@ Created on Tue Api 22 16:05:31 2014
import csv, re, hashlib
from collections import *
def singleton(myClass):
"""Patrón Singleton para tener únicamente una instancia de la clase
LimitedSizeDict.
"""
instances = {}
def getInstance(*args,**kwds):
if myClass not in instances:
instances[myClass] = myClass(*args,**kwds)
return instances[myClass]
return getInstance
@singleton
class LimitedSizeDict(OrderedDict):
"""Un diccionario con tamaño máximo. Cuando llega al límite, elimina al
elemento más antiguo del diccionario (FIFO).
......@@ -43,7 +55,7 @@ def leer_datos(archivo):
for fila in lector:
if len(fila)<3:
raise Exception("Error formato datos.")
raise Exception("Data format error.")
if numero_linea == 0:
for i in range(len(fila)):
if i == 0:
......@@ -52,25 +64,25 @@ def leer_datos(archivo):
if nombres_algoritmos.count(fila[i]) == 0:
nombres_algoritmos.append(fila[i])
else:
raise Exception("Nombre de algoritmo repetido.")
raise Exception("Algorithm name repeated.")
else:
numero_algoritmos = len(nombres_algoritmos)
if len(fila) != numero_algoritmos + 1:
raise Exception("Error formato datos")
raise Exception("Data format error")
lista_datos = []
for i in range(len(fila)):
if i == 0:
if nombres_conj_datos.count(fila[i]) == 0:
nombres_conj_datos.append(fila[i])
else:
raise Exception("Nombre conjunto datos repetido.")
raise Exception("Algorithm name repeated.")
else:
m = patron_numeros.match(fila[i])
if m:
dato = float(fila[i])
lista_datos.append(dato)
else:
raise Exception("Número \"" + fila[i] + "\" no valido en línea " + str(numero_linea+1) +".")
raise Exception("Number \"" + fila[i] + "\" not valid in line " + str(numero_linea+1) +".")
matriz_datos.append(lista_datos)
numero_linea = numero_linea + 1
......@@ -88,3 +100,4 @@ def generar_md5(archivo):
bufer = archivo.read(tam_bloque)
archivo.seek(0, 0);
return md5.hexdigest()
......@@ -85,7 +85,7 @@ def wilcoxon_test(matriz_datos, alpha=0.05):
#El test de Wilcoxon compara dos algoritmos.
if len(matriz_datos[0]) != 2:
raise Exception("Test de Wilcoxon solo aplicable a dos algoritmos")
raise Exception("Wilcoxon test requires only two algorithms.")
#Paso de una matriz de conjuntos de datos a dos listas: lista "a", que contiene
#los resultados de aplicar el primer algoritmo a los datos y una lista "b" que
......@@ -116,7 +116,7 @@ def wilcoxon_test(matriz_datos, alpha=0.05):
#El tamaño de la muestra (sin ligaduras) debe ser al menos de 5.
if N < 5:
raise Exception("Menos de 5 conjuntos de datos sin ligaduras")
raise Exception("Less than 5 datasets without ties.")
#Rangos de orden 1,2,...,N. Cada elemento de copia tiene un rango asociado:
#indice(elemento) + 1. Si hay empates se calcula la media del rango de cada
......@@ -146,7 +146,7 @@ def wilcoxon_test(matriz_datos, alpha=0.05):
#aproximar con la distribución normal.
if N <= 25:
if alpha not in tabla_wilcoxon:
raise Exception("Valor de alpha no contenido en la tabla de Wilcoxon")
raise Exception("Alpha value is not available in the Wilcoxon table.")
#Límite inferior del intervalo de aceptación.
punto_critico = tabla_wilcoxon[alpha][N]
......
This diff is collapsed.
This diff is collapsed.
......@@ -42,45 +42,45 @@
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<!--Consulta de fichero-->
<li><a href="consultar_fichero.html">Consultar fichero</a></li>
<li><a href="consultar_fichero.html">Show file</a></li>
<!--Subir el fichero-->
<li><a id="a_subida" href="#modal_fichero" data-toggle="modal">Subir fichero</a></li>
<li><a id="a_subida" href="#modal_fichero" data-toggle="modal">Upload file</a></li>
<!--Ayuda-->
<li><a href="ayuda.html">Ayuda</a></li>
<li><a href="ayuda.html">Help</a></li>
</ul>
</div>
</div>
</div>
<!--***************************************Modal de Subir el fichero***************************************-->
<div id="modal_fichero" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Subir fichero</h4>
</div>
<div class="modal-body">
<form class="form" id="formfichero" enctype="multipart/form-data">
<p class="text-warning"><small>El formato del archivo sigue el estándar .csv &nbsp;&nbsp;<label><a href="ayuda.html#collapseOne" id="ayuda_fichero" target="_blank">[More info]</a></label></small></p>
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-primary btn-file">
Abrir <input type="file" name="fichero" id="fichero"/>
</span>
</span>
<input type="text" class="form-control" style="width:150px;" readonly>
</div>
<div id="mensaje_subida" align="center"></div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary" id="boton_fichero">Subir fichero</button>
</div>
</div>
</div>
</div>
<div id="modal_fichero" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Upload file</h4>
</div>
<div class="modal-body">
<form class="form" id="formfichero" enctype="multipart/form-data">
<p class="text-warning"><small>The file must be in csv format &nbsp;&nbsp;<label><a href="ayuda.html#collapseOne" id="ayuda_fichero" target="_blank">[More info]</a></label></small></p>
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-primary btn-file">
Open <input type="file" name="fichero" id="fichero"/>
</span>
</span>
<input type="text" class="form-control" style="width:150px;" readonly>
</div>
<div id="mensaje_subida" align="center"></div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="boton_fichero">Upload file</button>
</div>
</div>
</div>
</div>
<!--*******************************************************************************************************-->
<div class="container-fluid">
......@@ -88,34 +88,33 @@
<div class="col-sm-3 col-md-2 sidebar">
<div id="MainMenu">
<div class="nav nav-sidebar list-group panel">
<a href="index.html" class="list-group-item"><span class="glyphicon glyphicon-home"></span>&nbsp;&nbsp;&nbsp;&nbsp;Principal</a>
<a href="#lista1" class="list-group-item" data-toggle="collapse" style="display=show;" data-parent="#MainMenu">Condiciones Paramétricas <i class="caret"></i></a>
<a href="index.html" class="list-group-item"><span class="glyphicon glyphicon-home"></span>&nbsp;&nbsp;&nbsp;&nbsp;Main</a>
<a href="#lista1" class="list-group-item" data-toggle="collapse" style="display=show;" data-parent="#MainMenu">Parametric conditions <i class="caret"></i></a>
<div class="collapse" id="lista1">
<a href="conditions_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Descripción</a>
<a href="normality.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Normalidad</a>
<a href="homocedasticity.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Homocedasticidad</a>
<a href="conditions_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Description</a>
<a href="normality.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Normality</a>
<a href="homocedasticity.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Homoscedasticity</a>
</div>
<a href="#lista2" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Tests Paramétricos <i class="caret"></i></a>
<a href="#lista2" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Parametric tests <i class="caret"></i></a>
<div class="collapse" id="lista2">
<a href="parametric_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Descripción</a>
<a href="parametric_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Description</a>
<a href="anova.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Anova</a>
<a href="ttest.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;T-test</a>
</div>
<a href="#lista3" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Tests no Paramétricos <i class="caret"></i></a>
<a href="#lista3" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Nonparametric tests <i class="caret"></i></a>
<div class="collapse" id="lista3">
<a href="nonparametric_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Descripción</a>
<a href="nonparametric_info.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Description</a>
<a href="wilcoxon.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Wilcoxon</a>
<a href="ranking.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Tests de Ranking</a>
<a href="ranking.html" class="list-group-item">&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;Ranking tests</a>
</div>
</div>
</div>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header">Contenido del fichero</h1>
<h1 class="page-header">File Contents</h1>
<div id="alerta_fichero" class="alert alert-info alert-dismissable" style="display:none">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<strong>¡Sube un fichero!</strong> A la derecha de la barra la barra de navegación superior puedes seleccionar y
subir un fichero en "Subir fichero". A continuación, pulsa en "Consultar fichero" para ver su contenido.
<strong>¡Upload a file!</strong> In the top right of the navigation bar you can select and upload a file by clicking "Upload file". Then, click "Show file" to watch its contents.
</div>
<div class="table-responsive">
<table id="contenido_fichero" class="table table-hover"></table>
......@@ -134,3 +133,4 @@
<script src="js/consultar_fichero.js"></script>
</body>
</html>
This diff is collapsed.
......@@ -81,7 +81,7 @@
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header"> STAC - Statistical Tests for Algorithm Comparison</h1>
<p align="justify">In this web platform you can perform validation of results obtained by learning algorithms by applying statistical tests on the experiments, which, among other features, support decision making (e.g. choosing the most suitable algorithm). <label><a href="ayuda.html#collapseThree" id="ayuda_fichero" target="_blank">[More info]</a></label></p>
<p align="justify">Through this web platform you can verify the results obtained from the learning algorithms applying the statistic tests to the experiments, which, among other uses, support the decision making process (the election of the most suitable algorithm, for example). <label><a href="ayuda.html#collapseThree" id="ayuda_fichero" target="_blank">[More info]</a></label></p>
<!--Flujo de trabajo general-->
<br>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment