Databricks의 텐서플로우(TensorFlow™)
클러스터링 및 k-평균
이제 k-평균 알고리즘을 사용하여 클러스터링하는 첫 번째 애플리케이션을 살펴보겠습니다. 클러스터링은 다양한 데이터를 살펴보고 서로 유사한 특성을 가진 그룹을 찾는 데이터 마이닝 작업입니다. k-평균은 다양한 유형의 데이터세트에서 클러스터를 찾는 데 유용한 알고리즘입니다.
클러스터 및 k-평균에 대한 자세한 내용은 k-평균 알고리즘에 대한 scikit-learn 문서를 참조하거나 다음 비디오를 시청하세요.
샘플 생성
먼저 몇 가지 샘플을 생성해야 합니다. 샘플을 무작위로 생성할 수도 있지만, 이 경우 매우 희소한 포인트를 제공하거나 하나의 큰 그룹만 제공할 가능성이 높으므로 클러스터링에 유용하지 않습니다.
대신, 3개의 중심을 생성하는 것부터 시작한 다음 해당 포인트를 중심으로 (정규 분포를 사용하여) 무작위로 선택해 보겠습니다. 먼저, 이 작업을 수행하는 방법은 다음과 같습니다.
코드를 functions.py에 포함
작동 방식은 n_clusters
의 서로 다른 중심을 무작위로 생성하고(np.random.random((1, n_features))
사용), 이를 tf.random_normal
의 중심 포인트로 사용하는 것입니다. tf.random_normal
함수는 정규 분포된 난수 값을 생성한 다음, 이 값을 현재 중심 포인트에 추가합니다. 그러면 이 중심 포인트 주변에 포인트 blob이 생성됩니다. 이제 중심(centroids.append
)과 생성된 샘플(slices.append(samples)
)을 기록합니다. 마지막으로 tf.concat
을 사용하여 "