Fixed generate features so that features found in training but no in test and vice versa are still supported so that the size of both feature matrices are the same at the end