В настоящее время я работаю над проектом машинного обучения на python, который должен изучать поведение по запросам входных данных (данные отправляются через запросы HTTP POST).Мой алгоритм выбирает входные данные один за другим и вызывает функцию partial_fit
в модели scikit-learn Mini Batch KMeans.Вот краткая процедура.
- сбор 5 запросов данных.
- вызов функции part_fit для собранных данных.
- сохранение модели.
Согласно определению, моя модель Kmeans должна иметь 3 кластера.Однако обученная модель вернула только одну метку, когда вызывается model.labels_
.Но model.cluster_centers_
вернул список массивов, связанных с тремя кластерами.Будем благодарны за любую помощь или объяснение этой проблемы.
Вот соответствующий сегмент кода.
kmeans = MiniBatchKMeans(n_clusters=3, init='k-means++', max_iter=800, random_state=50)
# re-train and save the model
# newly fethched data are stored in dataframe variable (Pandas dataframe).
kmeans = pickle.load(open(model.sav, 'rb'))
kmeans.partial_fit(dataframe)
pickle.dump(kmeans,open('model.sav'), 'wb'))
Вот результат, который я получил.