Предположим, у меня есть следующий DataFrame в Scala Spark, где год year
значение является категориальным представлением String, но в данных есть порядок.
+-----+
|years|
+-----+
| 0-1|
| 1-2|
| 2-5|
| 5-10|
+-----+
Я хотел бы создать результирующийпопарная матрица, представляющая «расстояние» для каждой пары значений.Одни и те же значения получают оценку 1
, значения на крайнем конце - 0
, например.«0-1» и «5-10».Остальные значения заполнены линейной моделью .:
Я хотел бы получить следующие ожидаемые результаты (в DataFrame или аналогичной структуре для запроса пары)
x/y, 0-1, 1-2, 2-5, 5-10,
0-1, 1 , 0.33, 0.67, 0,
1-2, 0.33, 1 , 0.33, 0.67,
2-5, 0.67, 0.33, 1 , 0.33,
5-10, 0 , 0.67, 0.33, 1
В конце дляданная пара years
Я бы хотел получить значения distance
.Я хотел бы избежать жесткого кодирования этого решения, есть ли лучший способ сделать это?