The Koopman operator was recently shown to be a useful method for nonlinear system identification and controller design. However, the scalability of current data-driven approaches is limited by the selection of feature maps. In this paper, we present a new data-driven framework for learning feature maps of the Koopman operator by introducing a novel separation method. The approach provides a flexible interface between diverse machine learning algorithms and well-developed linear subspace identification methods, as well as demonstrating a connection between the Koopman operator and observability. The proposed data-driven approach is tested by learning stable nonlinear dynamics generating hand-written characters, as well as a bilinear DC motor model.