总的来说,我是ML.Net和AI的新手。我有一个包含销售数量的数据集。在滚动的12个月期间,销售通常有3个阶段-低、中和高(峰值)。我的想法是,我将在前几年的数据上训练一个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));我可能完全误解了算法和它的目的。如果是这样的话,请让我知道。
发布于 2019-08-08 01:24:13
你能发布你的数据片段吗?如果您已经标记了数据,因此将目标阶段与每一行相关联,那么您应该进行多类分类,而不是聚类。聚类是针对未标记的数据,试图找出是否有分组以及分组是什么。
https://stackoverflow.com/questions/57398524
复制相似问题