행렬을 행(row) 단위 min-max scaling으로 정규화합니다. 각 행의 값이 [0, 1] 범위로 변환되며, 값이 모두 동일한 행은 0으로 처리됩니다.
Examples
df <- data.frame(
"일자" = c(20230101, 20230102, 20230103),
"언론사" = c("조선일보", "한겨례", "경향신문"),
"제목" = c("[속보] 경찰, 민주노총 도심 집회 1차 해산명령",
"[사설] 한반도 긴장 높인 북한의 군사정찰위성 발사 규탄한다",
"‘직권남용죄’ 남용 유감"),
"키워드" = c("경찰,해산명령,민주,노총,도심,집회,해산,명령,민주노총",
"한반도,긴장,북한,규탄,군사,정찰,위성,발사,북한,인공위성",
"직권남용죄,남용,유감,왜냐면,이정환,민주사회,변호사모임"))
data <- tfidf_vector(df)
nor_data <- normalize_vector(data)
head(data)
#> Terms
#> Docs 경찰 노총 도심 명령 민주 민주노총 집회
#> 1 0.1761069 0.1761069 0.1761069 0.1761069 0.1761069 0.1761069 0.1761069
#> 2 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#> 3 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#> Terms
#> Docs 해산 해산명령 군사 규탄 긴장 발사 북한
#> 1 0.1761069 0.1761069 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#> 2 0.0000000 0.0000000 0.1584963 0.1584963 0.1584963 0.1584963 0.3169925
#> 3 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#> Terms
#> Docs 위성 인공위성 정찰 한반도 남용 민주사회 변호사모임
#> 1 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
#> 2 0.1584963 0.1584963 0.1584963 0.1584963 0.0000000 0.0000000 0.0000000
#> 3 0.0000000 0.0000000 0.0000000 0.0000000 0.2264232 0.2264232 0.2264232
#> Terms
#> Docs 왜냐면 유감 이정환 직권남용죄
#> 1 0.0000000 0.0000000 0.0000000 0.0000000
#> 2 0.0000000 0.0000000 0.0000000 0.0000000
#> 3 0.2264232 0.2264232 0.2264232 0.2264232