<jupyter_start><jupyter_text>Silhouette Analysis Silhouette Coefficient- 실루엣 계수(Silhouette Coefficient) 측정 지표  - 개별 data points가 가지는 군집화 지표  - data points가 같은 군집 내의 다른 data points와 얼마나 가깝게 군집되어 있고,  - 다른 군집에 있는 data points와 얼마나 멀게 분리되어 있는지 나타내는 지표- 각 군집간 거리가 얼마나 효율적으로 분리되었는지 평가  - 다른 군집과의 거리는 멀고, 군집 내 data point 간의 거리는 가깝게 형성<jupyter_code># 군집분석 결과 사용
df['clustering'] = kmeans_3.labels_
df.head(3)
# 실루엣 계수값 계산
from sklearn.metrics import silhouette_samples

silhouette_samples(iris.data, df['clustering'])
# data points 별 실루엣 계수값 추가
df['silh_coef'] = silhouette_samples(iris.data, df['clustering'])
df.head(3)<jupyter_output><empty_output><jupyter_text>Silhouette Score- data points의 Silhouette Coefficient의 평균- 권장 Silhouette Score  - 전체 Silhouette Coefficient 평균이 0 ~ 1 사이의 값을 가지며, 1에 가까운 경우  - 개별 군집의 Silhouette Coefficient 평균들이 전체 Silhouette Coefficient 평균과 크게 차이나지 않는 경우<jupyter_code>from sklearn.metrics import silhouette_score

silhouette_score(iris.data, df['clustering'])
df.groupby('clustering')['silh_coef'].mean()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08695652173913043, 'fraction_numerical': 0.005671077504725898, 'mean_word_length': 5.577639751552795, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '87662', 'license': 'Apache-2.0', 'n_tokens_mistral': 580, 'n_tokens_neox': 681, 'n_words': 122, 'path': 'mytest/Theroem/silhouette analysis.ipynb', 'repo_name': 'probationer070/handson-ml2', 'size': '1058'}