0

KMeans 클러스터링 알고리즘을 사용하여 프로필 데이터를 분석하고 싶습니다. 샘플 데이터 형식은 다음과 같습니다.클러스터링 알고리즘 (Kmeans & EM)의 기능 확장 (정규화)

Features: name ISBN  Date    ID  price .... 
      'A' '31NDB' '05/18/2014' 'CBDDN' 12.00 
      'B' '3241B' '08/19/2012/ 'ABCDE' 33.08 

이러한 내용은 실제 예일 뿐이지 만 실제 데이터는 반드시이 형식이 아닙니다. 그러나이 데이터 집합에 대해 클러스터링 알고리즘을 적용해야한다면, 어떻게 일차 스케일링을 할 수 있습니까? 문자열 값과 날짜 값 및 가격 (double) 값은 어떻게 처리해야합니까? 이 값들 사이에 관계가 있습니까? 나는 혼란 스럽다 ...

어떤 생각?

답변

1

K- 평균 및 EM은 숫자 용입니다.

이름/날짜/가격 유형 지정 데이터에 적용하는 것은별로 의미가 없습니다.

이름에서 알 수 있듯이 알고리즘은 수단을 계산해야합니다. "이름"열에서 평균을 어떻게 계산합니까? 데이트에는 해킹 할 수 있지만 이름에는 해킹 할 수 없습니다.

잘못된 작업 도구입니다.

+0

그렇다면 도구는 무엇입니까? 숫자가 아닌 데이터의 경우? 비슷한 책을 그룹으로 묶고 싶다고합시다. 또는 서버 로그 파일을 분석 중이라고 가정 해보십시오. – JudyJiang

+0

예 : 주제 모델링은 단어의 존재 여부에 따라 겹쳐진 기능으로 희소 한 텍스트 데이터로 작업하기위한 것입니다. –

0

숫자가 아닌 기능은 숫자로 인코딩해야합니다. 범주 형 또는 서수 형 기능의 경우입니다.

또한 특정 기능이 분석에 중요하지 않은 경우이를 버리는 것이 좋습니다. 예를 들어 도서를 클러스터하려는 경우 구입일이 일 수도 있고 일 수도 있습니다 (또는 관심사에 따라 다를 수 있음). 따라서 날짜를 추가하는 것이 의미가 없습니다.

3 가지 범주로 변수를 인코딩하는 예는 3 가지 변수 [1, 0, 0], [0, 1, 0], [0, 0, 1]로 인코딩 할 수 있습니다. 2 개의 변수 [0, 0], [1, 0], [0, 1]. here에 대한 설명이 조금 더 있습니다.

KMeans/GMM (EM에서 제외되었으므로)은 점 사이의 거리를 계산하므로 적절한 인코딩이 특히 중요합니다. 특히 서로 다른 피쳐 표준화 스킴과 함께 사용되는 경우 이해할 수있는 점을 이해하고 결과를보기 위해 다른 피쳐 표준화 스킴을 시도하십시오.

+0

그래서이 값들을 (어떤 방법으로) 숫자 값으로 변환해야합니까? 말, 날짜 --- 날짜 번호 및 이름 문자열 --- (일부 함수를 사용하십시오 ..) 또한 그들 사이의 관계를 찾으십시오 ..? – JudyJiang

+0

죄송합니다. 나는 기계 학습에서 새로운 의미를 가지지 않을 수도 있습니다. 읽을 수있는 방법이나 출처가 있습니까? 감사! – JudyJiang