from sklearn.cluster import KMeans, SpectralClustering
# This function runs clustering on a data frame full of spectra. Different
# algorithms can be chosen
[docs]
def cluster(df, col, method, params, kws):
do_cluster = None
if method == "K-Means":
do_cluster = KMeans(*params, **kws)
if method == "Spectral":
do_cluster = SpectralClustering(*params, **kws)
if do_cluster is None:
print("No valid clustering method selected!")
else:
do_cluster.fit(df[col])
df[(method, method + "-Cluster")] = do_cluster.labels_ + 1
return df