currently machine learning models in mllib package use raw Array[Double] directly which is not portable and elegant.
Replacing arrays with vectors can provide the following benefits:
1. Higher Performance. When the data are dense vectors, using array is fine, but when the data is sparse, using SparseVector can gain higher performance
2. Higher abstraction. Vectors can provide higher abstractions, which are elegant and intuitive, while Array[Double] is verbose.