feature_means and feature_sds are provided to allow
alignment of new datasets. For example, after a model is trained, new data
for prediction must be transformed in the same way as the training data to
ensure predictions are valid. If either is NULL, both will be
computed from Xs and the output will be internally standardized
(i.e., columns of do.call(rbind, standardizeFeatures(Xs)) will be
have a mean of 0 and a standard deviation of 1).