Das folgende Python 3 Code-Snippet demonstriert die Implementierung eines einfachen K-Means Clusterings, um Eingabedaten automatisiert anhand von gegebenen Features in Gruppen zu unterteilen.
Im Beispiel wird zunächst eine TAB-getrennte CSV Datei geladen, die drei entsprechende Eingabe-Spalten enthält. Anschließend wird das K-Means Clustering Modell anhand dieser Eingabedaten erstellt bzw. erlernt. Anschließend können neue Daten mit der predict() Methode anhand des Modells klassifiziert werden.
Für den Beispiel-Code muss die Scikit-learn sowie die Pandas Bibliothek installiert sein (pip install sklearn, pip install pandas).
from sklearn.cluster import KMeans
import pandas as pd
import numpy as np
import pickle
# read csv input file
input_data = pd.read_csv("input_data.txt", sep="\t")
# initialize KMeans object specifying the number of desired clusters
kmeans = KMeans(n_clusters=4)
# learning the clustering from the input date
kmeans.fit(input_data.values)
# output the labels for the input data
print(kmeans.labels_)
# predict the classification for given data sample
predicted_class = kmeans.predict([[1, 10, 15]])
print(predicted_class)