I've got as far as this with a table but it's obviously rather ugly as it is, especially the word "Predicted" being broken in half.
I want to "pad" the inner cells in some manner so as to allow the word "predicted" to be vertical and unbroken.
Current LaTeX code:
\usepackage{multirow}
\usepackage{makecell}
\usepackage{rotating}
\begin{table}
\centering
\begin{tabular}{llc|c|}
& & \multicolumn{2}{c}{Actual} \\
& & \multicolumn{1}{c}{Pos} & \multicolumn{1}{c}{Neg} \\
\cline{3-4}
\multicolumn{1}{c}{\multirow{2}{*}{\rotcell{Predicted}}} & \multicolumn{1}{r|}{Pos} & 6 TP & 3 FP \\
\cline{3-4}
\multicolumn{1}{c}{} & \multicolumn{1}{r|}{Neg} & 4 FN & 7 TN \\
\cline{3-4}
\end{tabular}
\end{table}
Here's a mockup in Excel:
\documentclass
and end with\end{document}
so potential helpers can just copy-and-paste it for experimentation.