PySpark получает корреляцию между всеми столбцами и указанными c столбцами - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь сгенерировать фрейм корреляционных данных, который найдет корреляцию только между всеми столбцами в фрейме данных искры с указанными 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 колонны против всего остального? Любой вклад действительно ценится!

...