Есть что-то очень раздражающее функцией VectorAssembler. В настоящее время я преобразовываю набор столбцов в один столбец векторов , а затем использую функцию StandardScaler для применения масштабирования к включенным функциям. Тем не менее, кажется, что SPARK для памяти причин, решает, следует ли использовать DenseVector или SparseVector для представления каждой строки функций. Но, когда вам нужно использовать StandardScaler, вход SparseVector (s) недействителен, допускаются только DenseVectors. Кто-нибудь знает об этом?Выход VectorAssembler только для DenseVector?
Edit: я решил просто использовать UDF функцию вместо, которая превращает разреженный вектор в плотный вектор. Вид глупый, но работает.