Skip to content
Snippets Groups Projects
Commit 4154ce32 authored by DIANE's avatar DIANE
Browse files

Kmeans update

parent 44f63690
No related branches found
No related tags found
No related merge requests found
from Packages import *
class Sk_Kmeans:
def __init__(self, x, max_clusters):
self.x = x
self.max_clusters = max_clusters
self.inertia = pd.DataFrame()
for i in range(1, max_clusters+1):
model = KMeans(n_clusters = i, init = 'k-means++', random_state = 42)
model.fit(x)
self.inertia[f'{i}_clust']= [model.inertia_]
self.inertia.index = ['inertia']
@property
def inertia_(self):
return self.inertia
def fit_optimal(self, nclusters):
model = KMeans(n_clusters = nclusters, init = 'k-means++', random_state = 42)
model.fit(self.x)
yp = model.predict(self.x)
num_colors = nclusters
colors = ['#' + ''.join([random.choice('0123456789ABCDEF') for _ in range(6)]) for _ in range(num_colors)]
col = np.array(['#' + ''.join([random.choice('0123456789ABCDEF') for _ in range(6)]) for _ in range(self.x.shape[0])])
for i in range(nclusters):
ss = np.where(yp==i)
col[ss] = colors[i]
return self.x, col
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment