From code I succeed to extract the following MWE:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\section{section}
\begin {table}[htb]
\begin{tabular*}{\textwidth}{@{\hskip 6pt\extracolsep{\stretch{1}}}*{9}{r}}
\toprule
M & TA & MO & P & N & ID & CC & XC & KL \\
\midrule
method & 0.79 & 0.59 & - & - & 4 & 3 & 5 & \\
ED [] & 5 & 7 & - & - & 6 & & & \\
CR & 4 & 7 & - & - & 22 & & & \\
NB[] & 2 & 75 & - & - & 6 & & & \\
\bottomrule
\end{tabular*}
\caption{Set of observations }
\end{table}
\end{document}
which gives:

I'm curious now: what is your problem?
For above image I remove all irrelevant packages and correct numbers of columns in your table and also complete ampersands in all rows where they missing (actually in all rows except the first). Was this problem?
Addendum:
After exchange of opinions with Christian Hupfer, how the above table can be also set, I make (for my exercise) two more solutions. Both are added to first one that you can more easy compare their code and results. For them I add two packages: tabularx
and siunitx
:
\documentclass{article}
\usepackage{booktabs,tabularx}
\usepackage{siunitx}
\newcommand\mcx{\multicolumn{1}{>{\centering\arraybackslash}X}}
\begin{document}
\section{section}
\begin {table}[htb]
\begin{tabular*}{\textwidth}{@{\hskip 6pt\extracolsep{\stretch{1}}}*{9}{r}}
\toprule
M & TA & MO & P & N & ID & CC & XC & KL \\
\midrule
method & 0.79 & 0.59 & - & - & 4 & 3 & 5 & \\
ED [] & 5 & 7 & - & - & 6 & & & \\
CR & 4 & 7 & - & - & 22 & & & \\
NB[] & 2 & 75 & - & - & 6 & & & \\
\bottomrule
\end{tabular*}
\caption{Set of observations }
\end{table}
Similarly result can be obtained with \verb+tabularx+ packages
\begin {table}[htb]
\begin{tabularx}{\textwidth}{*{9}{>{\raggedleft\arraybackslash}X}}
\toprule
M & TA & MO & P & N & ID & CC & XC & KL \\
\midrule
method & 0.79 & 0.59 & {--} & {--} & 4 & 3 & 5 & \\
ED [] & 5 & 7 & {--} & {--} & 6 & & & \\
CR & 4 & 7 & {--} & {--} & 22 & & & \\
NB[] & 2 & 75 & {--} & {--} & 6 & & & \\
\bottomrule
\end{tabularx}
\caption{Set of observations}
\end{table}
One more solution with quite sophisticated table setting with exploiting packages \verb+tabularx+ and \verb+siunitx+:
\begin {table}[htb]
\begin{tabularx}{\textwidth}{r*{8}{S[table-format=2.2]}}
\toprule
\mcx{M} & \mcx{TA} & \mcx{MO} & \mcx{P} & \mcx{N} & \mcx{ID} & \mcx{CC} & \mcx{XC} & \mcx{KL} \\
\midrule
method & 0.79 & 0.59 & {--} & {--} & 4 & 3 & 5 & \\
ED [] & 5 & 7 & {--} & {--} & 6 & & & \\
CR & 4 & 7 & {--} & {--} & 22 & & & \\
NB[] & 2 & 75 & {--} & {--} & 6 & & & \\
\bottomrule
\end{tabularx}
\caption{Set of observations}
\end{table}
\end{document}

multicol
. Further, you don't tell us which error is confusing you (I got several when I tried to run your code). Please prepare a minimal working example, and clearly explain your problem with a subject line that matches; it'll make it a lot easier for people to help you.