클러스터링 평가 지수 프로파일 계수 sklearn ---

'' ' 
    형상 계수 평가 지표 클러스터링하는 ----- 
            좋은 클러스터링 : 동일한 클러스터의 밀도 외측 희소 샘플은 충분히 조밀 내부로 다른 클러스터 간의 샘플 충분히 멀리한다. 

            프로필 계수 연산 규칙은 : 특정 샘플 샘플 공간 들어, 계산되는 경우, 다른 샘플의 평균 거리 A와 클러스터 
            와 가장 가까운 클러스터의 모든 샘플을 평균 거리 (B)와 다른 샘플, 샘플의 프로파일 계수 (BA) / 최대 (a, b), 
            모든 샘플의 전체 표본 공간 형상 계수 산술 평균을 취해, 분할 클러스터링 성능 지수들. 

            형상 계수는 구간 [- 1, 1]. -1 불량의 분류 1 좋은 분류 결과를 나타낸다. 0은 좋은 분류가없는 클러스터의 중복을 나타냅니다. 

            컨투어에게 API 연관된 계수들을 
                가져 sklearn.metrics SM을 AS 
                # V : 평균 프로파일 계수 
                # 메트릭 : 거리 알고리즘 : 유클리드 거리 (유클리드) 
                V = sm.silhouette_score (입력 설정, 설정 출력 SAMPLE_SIZE = 숫자 샘플, 메트릭 거리 = 알고리즘) 

    경우 : 출력 프로파일 KMeans 클러스터링 알고리즘의 계수 분할. 
'' ' 

오기 NP NumPy와 AS를
 가져 오기 MP AS matplotlib.pyplot
오기 AS sklearn.cluster의 SC
 오기 AS sklearn.metrics SM 

# 데이터를 판독하는 이미지 드로잉 
X = np.loadtxt ( ' ./ml_data/multiple3.txt ' , 압축 풀기 = 거짓, DTYPE은 = " F8 " , DELIMITER = ' , ' )
 인쇄 (x.shape) 

# 기반 클러스터링 Kmeans 전체 
모델 = sc.KMeans (=의 n_clusters. 4 ) 
model.fit (X)   # 전체 클러스터 
pred_y = model.predict (X)   #는 점을 예측하는 클러스터에서 
인쇄 (pred_y)는   #의 각 샘플 클러스터의 출력 레이블 
#의 인쇄 프로파일 계수 
프린트(sm.silhouette_score (X, pred_y, SAMPLE_SIZE = LEN (X), 미터 = ' 유클리드 ' ))
 #이 클러스터 센터를 획득 
센터 = model.cluster_centers_
 인쇄 (센터) 

#이 경계선 분류 그릴 
L을, R = X [: 0] 30 ℃와 pH 5.5 또는 다른 pH () - 1, X [0 :.,] .max () + 1이다. 
B, T의 =의 X [: 1] 30 ℃와 pH 5.5 또는 다른 pH () - 1, X [:.., 1] .max () + 1.. 
N- = 500 
grid_x, grid_y = np.meshgrid (np.linspace (L, R & LT) N-, np.linspace (B, T, N-)) 
bg_x = np.column_stack ((grid_x.ravel () grid_y.ravel ( ))) 
bg_y = model.predict (bg_x) 
grid_z = bg_y.reshape (grid_x.shape) 

#의 도면은 샘플 데이터를 나타낸다
mp.figure ( ' Kmeans ' , facecolor = ' lightgray ' ) 
(mp.title ' Kmeans ' , 글꼴 크기 = 16 ) 
mp.xlabel ( ' X ' , 글꼴 크기 = 14 ) 
mp.ylabel ( ' Y ' , 글꼴 크기 = 14 ) 
mp.tick_params (labelsize = 10 ) 
mp.pcolormesh (grid_x, grid_y, grid_z, cmap를 = ' 회색 ' ) 
mp.scatter (X [:, 0] X [:, 1, S = 80, C = pred_y, cmap를 = ' BRG ' , 라벨 = '견본' ) 
Mp.scatter (센터 [: 0], 센터 [: . 1, S = 300, 색 = ' 레드 ' , 마커 = ' + ' , 라벨 = ' 클러스터 센터 ' ) 
mp.legend () 
MP. 쇼 () 


출력 : 
( 200 (2) ) 
[ 1 1 0 2 3 1 0 1 2 3 0 2 1 3 1,302,130,213,023,302,130 2. 0 2. 1. 
 3. 0 2 3 1 0 1 2 3 0 2 1,302,130,213,021,302,130 2. 1 3 0 2 3 1 
 0 2 3 1 0 1 2 3 0 3 2 1 0 2 1,302,130,203,021,302,130 2 1 3 0
  2 3 1 0 1 2 3 0 2,130,213,021,302,130,213 0,213,021,302
 1 1 0 2 1 3 0 2 1 3 0 3 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 3 0 2 1 
 3 0 2 1 3 0 2 1 3 0 2 1 3 0-2 ]
 0.5773232071896659 
[ 5.91196078 2.04980392 ] 
 [ 1.831 1.9998     ] 
 [ 7.07326531 5.61061224 ] 
 [ 3.1428 5.2616]

  

추천

출처www.cnblogs.com/yuxiangyang/p/11220206.html