Python으로 배우는 마케팅용 Machine Learning
Karolis Urbonas
Head of Analytics & Science, Amazon
K-means로 세분화 (k개 클러스터):
from sklearn.cluster import KMeanskmeans=KMeans(n_clusters=k)kmeans.fit(wholesale_scaled_df)wholesale_kmeans4 = wholesale.assign(segment = kmeans.labels_)
NMF로 세분화 (k개 클러스터):
from sklearn.decomposition import NMF
nmf = NMF(k)
nmf.fit(wholesale)
components = pd.DataFrame(nmf.components_, columns=wholesale.columns)
세그먼트 할당 추출:
segment_weights = pd.DataFrame(nmf.transform(wholesale, columns=components.index)
segment_weights.index = wholesale.index
wholesale_nmf = wholesale.assign(segment = segment_weights.idxmax(axis=1))
k) 설정이 필요k를 정하는 두 가지 방법: 1) 수학적, 2) 테스트 앤 런k 값을 순회k에 대해 클러스터링 실행SSE) 계산SSE 대 k를 그려 "엘보" 지점 식별 — 오류 감소의 체감 구간sse = {}
for k in range(1, 11):
kmeans=KMeans(n_clusters=k, random_state=333)
kmeans.fit(wholesale_scaled_df)
sse[k] = kmeans.inertia_
plt.title('Elbow criterion method chart')
sns.pointplot(x=list(sse.keys()), y=list(sse.values()))
plt.show()
k 주변의 여러 값으로 세분화 구축Python으로 배우는 마케팅용 Machine Learning