작성
·
45
답변 1
0
안녕하십니까,
해당 부분은 군집화에 대한 부분이 아니고, 샘플 데이터를 만들기 위한 작업의 한 부분입니다.
# make_blobs() 로 300개의 데이터 셋, 3개의 cluster 셋, cluster_std=0.5 을 만듬.
X, y = make_blobs(n_samples=300, n_features=2, centers=3, cluster_std=0.5, random_state=0)
위와 같이 make_blobs()로 샘플 데이터를 만들지만, 이걸 아래쪽으로 길게 늘어나는 타원형 형태의 데이터 세트로 그냥 만들 수 없습니다. 그래서 일정의 선형 변환을 하는데, 선형 변환을 하기 위해서 적용되는 값이 transformation = [[0.60834549,-0.63667341],[-0.40887717,0.85253229]] 입니다. 이건 회전 및 늘어나는 데이터 변환을 위해 원본 데이터에 적용하는 필터성 데이터라고 생각해 주시면 됩니다.
이걸 원본 X 데이터에 np.dot()을 transformation값을 적용하게 되면 transformation 값에 따라 회전 및 늘어나는 데이터 변환을 수행하게 됩니다.
X_aniso = np.dot(X, transformation)
감사합니다.