Here are 3 variants, using siunitx for the centred-right aligned numbers, and different possible rules with hhline, booktabs and/or boldline:
\documentclass[12pt]{article}
\usepackage{multirow,graphicx}
\usepackage{caption}
\usepackage{array, siunitx, boldline, hhline, booktabs}
\begin{document}
\begin{center}
\centering\sisetup{table-format=2.0}
\renewcommand\arraystretch{1.25}\setlength\arrayrulewidth{1pt}
\begin{tabular}{c|l *{3}{V{0.3}S}|}
\multicolumn{2}{c}{}& \multicolumn{3}{c}{ACTUAL} \\
\hhline{~~|---}
\multicolumn{2}{c|}{} & {Class A} & {Class B} & {Class C} \\
\hhline{~|----|}%\clineB{3-5}{0.3}
\multirow{3}{*}[-0.2ex]{\rotatebox{90}{\scriptsize ESTIMATED\,}} & Class A & 42 & 4 & 3\\ \clineB{2-5}{0.3}
& Class B & 11 & 35 & 2 \\ \clineB{2-5}{0.3}
& Class C & 3 & 6 & 38 \\
\hhline{~|----}
\end{tabular}
\captionof{table}{Risk Matrix}
\end{center}
\begin{center}
\centering\sisetup{table-format=2.0}
\renewcommand\arraystretch{1.25}\setlength\arrayrulewidth{1pt}
\begin{tabular}{cl| *{3}{S}}
\multicolumn{2}{c}{} & \multicolumn{3}{c}{ACTUAL} \\
& & {Class A} & {Class B} & {Class C} \\
\cline{2-5}
\multirow{3}{*}[-0.2ex]{\rotatebox{90}{\scriptsize ESTIMATED\,}} & Class A & 42 & 4 & 3\\ %
& Class B & 11 & 35 & 2 \\ %
& Class C & 3 & 6 & 38 \\
\end{tabular}
\captionof{table}{Risk Matrix}
\end{center}
\begin{center}
\centering\sisetup{table-format=2.0}
\begin{tabular}{cl *{3}{S}}
& & \multicolumn{3}{c}{ACTUAL} \\
\cmidrule(l{-1.5em}r{-1.5em}){4-4}
& & {Class A} & {Class B} & {Class C} \\%
\cmidrule[\heavyrulewidth]{2-5}
\multirow{3}{*}{\rotatebox{90}{\scriptsize ESTIMATED\,}} & Class A & 42 & 4 & 3\\ \addlinespace
& Class B & 11 & 35 & 2 \\ \addlinespace
& Class C & 3 & 6 & 38 \\
\cmidrule[\heavyrulewidth]{2-5}
\addlinespace[-\belowrulesep]
\end{tabular}
\captionof{table}{Risk Matrix}
\end{center}
\end{document}

\begin{tabular}{ | l | l | c | c | c | }. How to rotate text in multirow table? might solve the "Estimated"-cell issue, right? And what about no vertical lines at all? – ebosi May 09 '16 at 12:52