Mi objetivo es presentar de manera concisa las precisiones de las pruebas logradas por modelos entrenados en los conjuntos de datos R1, R2 y R3. Para lograr esto, entrené los modelos en múltiples fases, incorporando gradualmente más datos de cada uno de los tres conjuntos, en lugar de comenzar con todo el conjunto de datos a la vez.
¿Qué piensa usted al respecto? No estoy muy seguro de si se puede evitar tener que repetir los nombres del conjunto de datos para cada modelo. Apreciaría cualquier consejo
Respuesta1
Mi principal recomendación es que transpongas el material, principalmente para que tengas sólo 4 o 5 columnas en lugar de 10 o más.
\documentclass{article}
\usepackage{array,booktabs}
\usepackage[flushleft]{threeparttable}
\begin{document}
\begin{table}[h]
\centering
\begin{threeparttable}
\caption{Test accuracies achieved by models trained on datasets R1, R2, and~R3}
\begin{tabular}{@{} ll ccc @{}}
\toprule
\multicolumn{2}{@{}l@{}}{Model} & \multicolumn{3}{c@{}}{Training Phases} \\
\cmidrule(l){3-5}
&& Phase 1 & Phase 2 & Phase 3 \\
\midrule
\multicolumn{2}{@{}l@{}}{Decision Tree} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\addlinespace
\multicolumn{2}{@{}l@{}}{LSTU} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\addlinespace
\multicolumn{2}{@{}l@{}}{Average} \\
& R1 & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
Apéndicepara abordar el comentario/solicitud de seguimiento del OP: para insertar una nueva columna alineada al centro en la tabla que se muestra arriba y usar "Línea de base" como contenido del nuevo encabezado, el cambio principal que debe realizar es reemplazar
\begin{tabular}{@{} ll ccc @{}}
con
\begin{tabular}{@{} ll c ccc @{}}
A continuación, cambie
\cmidrule(l){3-5}
a
\cmidrule(l){4-6}
Y, por supuesto, no olvide insertar el contenido de la nueva columna 3 de la tabla: 1 celda para cada fila.
\documentclass{article}
\usepackage{array,booktabs}
\usepackage[flushleft]{threeparttable}
\newcommand\ML[1]{\multicolumn{2}{@{}l}{#1}} % handy shortcut macro
\begin{document}
\begin{table}[h]
\centering
\begin{threeparttable}
\caption{Test accuracies achieved by models trained on datasets R1, R2, and~R3}
\begin{tabular}{@{} ll c ccc @{}}
\toprule
\ML{Model} & Baseline & \multicolumn{3}{c@{}}{Training Phases} \\
\cmidrule(l){4-6}
&&& Phase 1 & Phase 2 & Phase 3 \\
\midrule
\ML{Decision Tree} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\addlinespace
\ML{LSTU} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\addlinespace
\ML{Average} \\
& R1 & \dots & \dots & \dots & \dots \\
& R2 & \dots & \dots & \dots & \dots \\
& R3 & \dots & \dots & \dots & \dots \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
Respuesta2
No creo que esté mal repetir los nombres. Se me ocurrió lo siguiente. Dependiendo de sus datos, tal vez desee utilizar S
columnas del siunitx
paquete y/o poner el texto en negrita ( \textbf{...}
).
\documentclass{article}
\usepackage{booktabs,multirow}
\begin{document}
\begin{tabular}{llllllllll}
\toprule
\multirow{2}{*}{Training phases} & \multicolumn{3}{c}{Decision Tree} & \multicolumn{3}{c}{LST M} & \multicolumn{3}{c}{Average} \\ \cmidrule(lr){2-4}\cmidrule(lr){5-7}\cmidrule(lr){8-10}
& R1 & R2 & R3 & R1 & R2 & R3 & R1 & R2 & R3 \\ \midrule
Training phase 1 & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\
Training phase 2 & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\
Training phase 3 & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ \bottomrule
\end{tabular}
\end{document}
Respuesta3
Lorsque je dois faire de tels tableaux, je recurr à Excel2latex. Esta es una formidable macro de Excel que permite editar automáticamente el código LATEX de una tabla de Excel. Ça marche super bien, et s'est disponible en línea en Open Access. Simplemente consulte "Reed me" de ladite macro para ver los paquetes necesarios para su utilización (bigstruth, colortbl, multirow, etc.).
Con estas herramientas, construye tu tabla en Excel. Luego, seleccione y haga clic en "convertir mesa en látex". En un segundo, esto producirá el código de látex del cuadro seleccionado.
Respuesta4
Cuando necesito hacer este tipo de tablas, uso Excel2latex. Es una excelente macro de Excel que reproduce automáticamente el código LaTeX de una tabla de Excel. Funciona muy bien y está disponible en línea en acceso abierto. Tienes que marcar el "Léame" de la macro para ver los paquetes necesarios para usarla (bigstruth, colortbl, multirow, etc.).
Con esta herramienta, construyes tu tabla en Excel. Luego lo seleccionas y haces clic en "convertir tabla a LaTeX". En un segundo, genera el código LaTeX de la tabla seleccionada.