from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
distortion = []
N = range(1, 15)
for n in N:
model = KMeans(n_clusters=n, random_state=56789)
model.fit(df)
distortion.append(model.inertia_)
plt.figure(figsize=(30, 15))
plt.plot(N, distortion, 'bx-')
plt.xlabel('Число кластеров, шт')
plt.ylabel('Значение целевой функции')
plt.show()