K-Means Clustering in Python
Sample Script
from sklearn.preprocessing import StandardScaler
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
import sample as sp
customers, purchases = sp.sample()
array = pd.DataFrame([{'age':x['age'], 'income':x['income']} for x in customers]).to_numpy()
def normalize_data(data):
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
return scaled_data
model = kmeans = KMeans(n_clusters=3, random_state=42)
result = kmeans.fit(normalize_data(array))
centroids = result.cluster_centers_.tolist()