我是ML.Net和AI的新手。我有一个包含销售数量的数据集。在连续12个月的销售期内,销售通常分为三个阶段-低,中和高(峰值)。我的想法是,我将根据前几年的数据训练一个KMeans聚类模型,然后使用该模型来确定我们目前处于一年中的哪个阶段。
我让模型成功地识别了3个不同的集群,但是集群ID似乎从未相同。例如,一次模型可能说高阶段为1,然后下次说它为3。我是否应该能够使用此模型来知道集群ID 1是“低”阶段?阶段,2是“中等”阶段,等等?
string featuresColumnName = "Features";
var pipeline = context.Transforms
.Concatenate(featuresColumnName, "SaleCount")
.Append(context.Clustering.Trainers.KMeans(featuresColumnName, numberOfClusters: 3));
var model = pipeline.Fit(data);
var predictor = context.Model.CreatePredictionEngine<SaleModel, SalePrediction>(model);
var prediction = predictor.Predict(new SaleModel(1600));
我可能完全误解了算法及其用途。如果是这样,请告诉我。
答案 0 :(得分:1)
您可以发布一段数据吗?如果已标记数据,则目标阶段与每一行都相关联,则应进行多类分类,而不是聚类。群集用于未标记的数据,试图找出是否存在分组以及分组是什么。