matlab - GMModel - 如何使用它来预测标签的数据?

标签 matlab machine-learning statistics gaussian

我使用 fitgmdist 制作了一个 GMModel。这个想法是在数据上产生两个高斯分布,并用它来预测它们的标签。我如何确定 future 的数据点是否适合这些分布之一?我是否误解了 GMModel 的目的?

clear;
load C:\Users\Daniel\Downloads\data1 data;


% Mixed Gaussian
GMModel = fitgmdist(data(:, 1:4),2)

产品

GMModel = 

Gaussian mixture distribution with 2 components in 4 dimensions
Component 1:
Mixing proportion: 0.509709
Mean:    2.3254   -2.5373    3.9288    0.4863

Component 2:
Mixing proportion: 0.490291
Mean:    2.5161   -2.6390    0.8930    0.4833

编辑:

clear;
load C:\Users\Daniel\Downloads\data1 data;



% Mixed Gaussian
GMModel = fitgmdist(data(:, 1:4),2);


P = posterior(GMModel, data(:, 1:4));
X = round(P)

blah = X(:, 1)
dah = data(:, 5)

Y = max(mean(blah == dah), mean(~blah == dah))

最佳答案

我不明白为什么你要舍入后验值。这是拟合混合模型后我要做的事情。

P = 后验(GMModel, 数据(:, 1:4)); [~,Y] = max(P,[],2);

现在 Y 包含标签,该标签是数据根据最大后验 (MAP) 属于哪个高斯分布的索引。重要的是在评估分类错误之前对齐标签。由于可能会发生重新编号,即真实中的高斯分量 1 可能是生成的聚类中的分量 2,依此类推。除了其他微妙的问题之外,可能这就是为什么您的准确度从 51% 到 95% 不等。

关于matlab - GMModel - 如何使用它来预测标签的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34121836/

相关文章:

matlab - 如何在 Curve Fitting Toolbox 中保存修改后的数据?

algorithm - 如何找到 $\sqrt(x)$ 形式的无理数的第 n 个数字

algorithm - 如何识别相似的声音 - 技巧

tensorflow - 训练神经网络时资源耗尽 - keras

java - JFreeChart Boxplot Outlier 和 Farout 外观

python - NumPy 或 SciPy 计算加权中位数

r - 将 stat_compare_means 与 r : calculates p value only for 1 facet 中的构面结合起来

c - Matlab或C函数

matlab - 将图形大小分配给具有给定句柄的图形 (MATLAB)

python - 非负矩阵分解无法收敛