다음은 데이터를 2차원으로 차원 축소한 결과입니다.
P1 P2
0 -0.489949 -0.679976
1 -0.519099 0.544827
2 0.330633 0.268880
3 -0.481656 -0.097611
4 -0.563512 -0.482506
훈련된 모델에 대해 시각적으로 표현해 봅시다.
코드 3-37 DBSCAN 모델 생성 및 결과의 시각화
db_default = DBSCAN(eps=0.0375, min_samples=3).fit(X_principal) ------ 모델 생성 및 훈련
labels = db_default.labels_ ------ 각 데이터 포인트에 할당된 모든 클러스터 레이블의 넘파일 배열을 labels에 저장
colours = {} ------ 출력 그래프의 색상을 위한 레이블 생성
colours[0] = 'y'
colours[1] = 'g'
colours[2] = 'b'
colours[-1] = 'k'
cvec = [colours[label] for label in labels] ------ 각 데이터 포인트에 대한 색상 벡터 생성
r = plt.scatter(X_principal['P1'], X_principal['P2'], color='y');
g = plt.scatter(X_principal['P1'], X_principal['P2'], color='g');
b = plt.scatter(X_principal['P1'], X_principal['P2'], color='b');
k = plt.scatter(X_principal['P1'], X_principal['P2'], color='k'); ------ 플롯(plot)의 범례(legend) 구성
plt.figure(figsize=(9,9))
plt.scatter(X_principal['P1'], X_principal['P2'], c=cvec) ------ 정의된 색상 벡터에 따라 X축에 P1, Y축에 P2 플로팅(plotting)
plt.legend((r, g, b, k), ('Label 0', 'Label 1', 'Label 2', 'Label -1')) ------ 범례 구축
plt.show()