RowMatrix
과 함께 제공되는 columnSimilarities
메서드를 사용하여 다양한 레코드 (내용 기반)의 코사인 유사성을 찾을 수 있음을 읽었습니다. 내 데이터는 다음과 같이 보입니다 : 자, 위의 텍스트 기능의 TF-IDF (장르, 배우)을 계산하는 스파크 ml의 파이프 라인을 만들었습니다Spark ml 코사인 유사성 : 1에서 n까지의 유사도를 얻는 방법
genre,actor
horror,mohanlal shobhana pranav
comedy,mammooty suraj dulquer
romance,fahad dileep manju
comedy,prithviraj
을 모두 조립 내 파이프 라인에 VectorAssembler
을 사용 기능은 단일 열 "기능"에 있습니다. 그 후, 나는이 사용하여 내 얻을 DataFrame
변환 : 그런 다음 RDD[Vector]
로 변환
val vectorRdd = finalDF.map(row => row.getAs[Vector]("features"))
을, 나는 나의 RowMatrix
val matrix = new RowMatrix(vectorRdd)
에 의해 나는 참조 this 가이드 다음입니다 얻기 코사인 유사성과 내가 필요한 것은 특정 레코드와 sklearn의 this 메서드와 같은 다른 모든 것들 사이의 유사성을 찾기 위해 spark-mllib의 메서드입니다. 가이드에 표시 :
그러나 이것을 수행하는 방법을 찾을 수 없습니다. matrix.columnSimilarities()
이 (가) 비교하고 반환하는 내용을 이해할 수 없습니다. 누군가 내가 찾고있는 것을 도울 수 있습니까?
도움을 주시면 감사하겠습니다. 감사.