You can leave a blank line between your Input and Output statements, which sets the proper alignment:

\documentclass[twocolumn]{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\begin{document}
\begin{algorithm}
\caption{Data Preprocessing}
\textbf{Input} input data \\
\textbf{Output} Preprocessed output dataset
\begin{algorithmic}[1]
\STATE Something
\STATE \ldots
\RETURN Something else
\end{algorithmic}
\end{algorithm}
\end{document}
However, a better approach is to use the functionality provided by algorithmic
through \REQUIRE
(for input) and \ENSURE
(for output):

\documentclass[twocolumn]{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\begin{document}
\begin{algorithm}
\caption{Data Preprocessing}
\begin{algorithmic}[1]
\REQUIRE input date
\ENSURE Preprocessed output dataset
\STATE Something
\STATE \ldots
\RETURN Something else
\end{algorithmic}
\end{algorithm}
\end{document}
You can adjust the formatting/style of the output produced by \REQUIRE
and \ENSURE
via a \renewcommand
of their defaults:
\newcommand{\algorithmicrequire}{\textbf{Require:}}
\newcommand{\algorithmicensure}{\textbf{Ensure:}}