Таким образом, травление упростило задачу, так как я мог сохранить весь объект и повторно импортировать его по требованию в новой функции. Понимая, что он будет использовать слишком много операций ввода-вывода, я сделаю это только один раз.
Для маринования я добавил следующий код в конец моего кластерного алгоритма. И затем это код оценки, который я использовал для получения сегментов для векторов данных:
def score_data (data): с open (Config.PATH + "/kmeans.pickle", 'rb') в качестве дескриптора: кластеризация = pickle.load (ручка)
with open(Config.PATH + "/hclust.pickle", 'rb') as handle:
Hclustering = pickle.load(handle)
data_scaled = normalize(data)
data_scaled = pd.DataFrame(data_scaled, columns=data.columns)
clustering.labels_ = clustering.predict(data_scaled)
post_clust_data_mapping = {case: cluster for case, cluster in enumerate(clustering.labels_)}
H_mapping = {case: cluster for case,
cluster in enumerate(Hclustering.labels_)}
final_mapping = {case: H_mapping[post_clust_data_mapping[case]]
for case in post_clust_data_mapping}
final_mapping_ls = list(final_mapping.values())
return [x + 1 for x in final_mapping_ls]