FeatureVector: Add feature_mapper, label_mapper in AggregateFeatureVector so can map back to string, use to display readable labels in pretty_pritnt
FeatureVector: Implement put_labeled_instances for aggregate feature vectors
Memoize: External indices always start at 0; memoize() -> to_index(), unmemoize() -> to_string()
Vector/FeatureVector: Make vectors/aggregates case classes
FeatureVector/Classify: Use correct names 'label' and 'choice' (vs. 'choice' and 'choice_yesno') and fix handling of Booleans and Arrays converting to/from external data
Reranker: Ensure same total number of choices when augmenting top-n
FeatureVector: Move put_labeled_instance(s) into object AggregateFeatureVector, add more assert checks, implement labeled_instances_to_file, rename put_labeled_instances -> labeled_instances_to_R
Classify/Cleanup: Add error(), other cleanups prior to adding MLogit
MLogit: Implement; works but hangs stuffing large data into R (FIXME!)
collection: Make some of the intersectWith/etc. fns return the right type (not finished)
Geolocate: Clean up file tag creation
Rerank: Set rank score as first default feature type
Rerank: Don't include an intercept term; not useful because not label-specific, would cause singularity error
MLogit: Finish implementation (but has memory errors with large models)
Reranker/Collection: Function to check whether a list is sorted and assert that ranker output has reverse-sorted scores
Scaladoc: Get working, auto API links to Scala library, fix bugs
Reranker/math: Standardize initial scores to mean 0, stddev 1 to make comparable across instances
Reranker: Add log/exp-initial-score, turn off misc -diff features that cause near-singularity errors
Reranker: Remove non-choice-specific features (not helpful, would cause singularity error)
collection: Finish getting intersectBy(), unionBy() etc. working