2014-07-20 8 views
-1

IP 주소 및 포트 번호와 같은 열이있는 네트워크 데이터에 클러스터링 (k-means)을 적용합니다. 포트 번호는 정수이지만, 예를 들어 80 번째와 81 번째 포트 간의 관계는 80 번째와 1800 번째 사이의 관계보다 더 가깝지 않습니다. 그래서 저는 그것들을 그대로 사용해서는 안된다고 생각합니다 (정수).네트워크 데이터의 클러스터링을위한 사전 처리

DictVectorizer를 사용하는 것은 65535 포트가 있기 때문에 적합하지 않습니다. 그래서 다른 접근 방식이 필요합니다. IP 주소는 포트와 동일한 문제가 있습니다.

scikit-learn (또는 k-means 포함 또는 포함하지 않음) 여부에 관계없이 문제를 해결할 수있는 방법이 있습니까?

+0

총 데이터 포인트 수는 얼마입니까? 포트 번호는 어떻게 분배됩니까? 거의 균일하게 또는 일부 포트 | IP 번호가 자주 사용되고 다른 일부는 산발적입니까? –

+0

특정 데이터 집합이 없습니다. 여러 데이터 세트에 적용되지만 일부 포트 번호는 예를 들어 80만큼 풍부하지만 60103은 대부분의 데이터 세트에 나타나지 않는다고 말할 수 있습니다. 그러나 나는 IP 주소에 대해서 똑같은 말을 할 수 없다. 나는 포트/ip 배포에 관한 질문을 이해할 수 없었다. – Yavuz

답변

3

k- 수단은 을 의미해야합니다.을 의미합니다.

포트 80과 포트 81의 평균은 무엇입니까? 포트 80.5?

아니오 K-수단 연속선형 특성 만 분별 이다. 그렇지 않으면 분산 (k- 평균의 최적화 기준)도 평균도 의미가 없습니다 ...

각 포트를 별도의 속성으로 만드는 등 다양한 해킹을 시도 할 수 있습니다. 그러나 k-means는 이진 데이터에도 의미가 없습니다.

다른 알고리즘을 사용하십시오. 거리 기반 알고리즘은 인 경우 인 경우 유사성을 측정하는 방법을 알아 냈습니다.

+0

k-means가 바이너리 데이터로 작동하지 않는 이유는 무엇입니까? (DictVectorizer는 여기 있다고 생각하십니까?) – Yavuz

+0

"센터"가 더 이상 바이너리가 아니기 때문에 "작동"하지만 결과는별로 의미가 없습니다. 보통 결과는 꽤 엉터리 일 것입니다. 출력을 다시 확인하십시오. –

+0

"이진 데이터에는 의미가 없습니다": PCA/SVD와 결합하면 실제로 제대로 작동 할 수 있습니다. –