gpt4 book ai didi

c# - 如何使用 C# 在 Accord.NET 中构建观察数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:16:13 28 4
gpt4 key购买 nike

我正在努力学习 Accord.NET 和 AI 世界中的诀窍...目标是使用 K-Means 算法对客户列表进行聚类。对于每个客户,我得到了三个特征:

CustomerID, ProductCategory, TotQty, TotAmount

AAA, 01, 50, 3000
AAA, 02, 10, 150
BBB, 01, 45, 2700
...

现在,我必须将观察结果传递给 K-Means 算法:

double[][] observations = ... (?)

// Create a new K-Means algorithm
KMeans kmeans = new KMeans(k: 10);

// Compute and retrieve the data centroids
var clusters = kmeans.Learn(observations);

// Use the centroids to parition all the data
int[] labels = clusters.Decide(observations);

第一个问题:我是否必须按客户对数据进行分组?像这样:

double[][] observation =
{
new double[] { 1, 50, 3000, 2, 10, 150 },
new double[] { 1, 45, 2700}
}

或:

double[][] observation =
{
new double[] { 1, 50, 3000},
new double[] { 2, 10, 150},
new double[] { 1, 45, 2700}
}

第二个问题:如何将结果追溯到原来的CustomerID?我的意思是,一旦我得到带有指定标签的结果 int[] labels = clusters.Decide(observations); 我如何确定哪个客户属于哪个集群/标签?

最佳答案

我为 C# 制作了通用 K-means 库

所以你可以用它来回答你的第二个问题。 (获得质心后,您可以获得属于该质心的对象)

https://github.com/pashkovdenis/K-means/

关于c# - 如何使用 C# 在 Accord.NET 中构建观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45756668/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com