Я пытаюсь сгенерировать фрейм корреляционных данных, который найдет корреляцию только между всеми столбцами в фрейме данных искры с указанными c столбцами. Поэтому, хотя это корреляционная матрица, я не хочу, чтобы она была 1: 1. Из официальных документов видно, что мы можем запустить матрицу корреляции для всего набора данных следующим образом:
from pyspark.ml.linalg import Vectors
from pyspark.ml.stat import Correlation
data = [(Vectors.sparse(4, [(0, 1.0), (3, -2.0)]),),
(Vectors.dense([4.0, 5.0, 0.0, 3.0]),),
(Vectors.dense([6.0, 7.0, 0.0, 8.0]),),
(Vectors.sparse(4, [(0, 9.0), (3, 1.0)]),)]
df = spark.createDataFrame(data, ["features"])
r1 = Correlation.corr(df, "features").head()
Есть ли способ изменить это так, чтобы я мог запустить корреляцию, например, с 3 указанными c колонны против всего остального? Любой вклад действительно ценится!