标签: linear-discriminant

为什么LDA中的特征向量和特征值变为零?

我想在OpenCV中实现快速PLDA(概率线性判别分析).在这个LINK快速PLDA已经实现MatlabPython.PLDA的一部分是LDA.我编写了以下用于在OpenCV中实现LDA的代码:

int LDA_dim = 120;

// Load data

FileStorage fs("newStorageFile.yml", FileStorage::READ);

// Read data

Mat train_data, train_labels;

fs["train_data"] >> train_data;
fs["train_labels"] >> train_labels;

// LDA

if (LDA_dim > 0)
{
    LDA lda(LDA_dim);
    lda.compute(train_data, train_labels);          // compute eigenvectors

    Mat eigenvectors = lda.eigenvectors();
}
Run Code Online (Sandbox Code Playgroud)

我已将上面链接中引入的数据库转换.mat.yml.结果是newStorageFile.yml我上传到了这里.train_data有650行和600列,train_labels有650行和1列.我不知道为什么特征向量和特征值变为零!! PLZ帮我修复此代码.

最好将转换数据的代码.mat带到.yml:

function matlab2opencv( variable, fileName, flag)

[rows cols] = size(variable);

% Beware of Matlab's linear indexing …
Run Code Online (Sandbox Code Playgroud)

c++ opencv probability eigenvalue linear-discriminant

17
推荐指数
1
解决办法
865
查看次数

线性判别分析与朴素贝叶斯

LDA 与朴素贝叶斯在机器学习分类方面的优缺点是什么?

我知道一些差异,比如朴素贝叶斯假设变量是独立的,而 LDA 假设高斯类条件密度模型,但我不明白什么时候使用 LDA,什么时候使用 NB 取决于情况?

classification machine-learning naivebayes linear-discriminant machine-learning-model

8
推荐指数
1
解决办法
8802
查看次数

LDA解释

我使用 HMeasure 包将 LDA 纳入我关于信用风险的分析中。我有 11000 个 obs,我选择了年龄和收入来进行分析。我不知道如何解释 LDA 的 R 结果。所以,我不知道我是否根据信用风险选择了最佳变量。我在代码下面给你看。

lda(default ~ ETA, data = train)

Prior probabilities of groups:
       0         1 
0.4717286 0.5282714 

Group means:
      ETA
0 34.80251
1 37.81549

Coefficients of linear discriminants:
         LD1
ETA 0.1833161
Run Code Online (Sandbox Code Playgroud)
lda(default~ ETA + Stipendio,  train)

Call:
lda(default ~ ETA + Stipendio, data = train)

Prior probabilities of groups:
       0         1 
0.4717286 0.5282714 

Group means:
      ETA Stipendio
0 34.80251  1535.531
1 37.81549  1675.841

Coefficients of linear discriminants:
                 LD1
ETA       0.148374799
Stipendio …
Run Code Online (Sandbox Code Playgroud)

r risk-analysis lda linear-discriminant

5
推荐指数
1
解决办法
8872
查看次数

如何在scikit-learn中使用LDA(线性判别)进行预测?

我一直在测试PCA和LDA如何有效地分类我想要自动识别的3种不同类型的图像标签.在我的代码中,X是我的数据矩阵,其中每一行是图像中的像素,y是一维数组,表示每行的分类.

import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.decomposition import PCA
from sklearn.lda import LDA

pca = PCA(n_components=2)
X_r = pca.fit(X).transform(X)

plt.figure(figsize = (35, 20))
plt.scatter(X_r[:, 0], X_r[:, 1], c=y, s=200)

lda = LDA(n_components=2)
X_lda = lda.fit(X, y).transform(X)
plt.figure(figsize = (35, 20))
plt.scatter(X_lda[:, 0], X_lda[:, 1], c=y, s=200)
Run Code Online (Sandbox Code Playgroud)

使用LDA,我最终得到3个清晰可辨的聚类,它们之间只有轻微的重叠.现在,如果我有一个新图像我要分类,一旦我把它变成一维数组,我该如何预测它应该落入哪个集群,如果它离中心太远怎么能说这个分类是"不确定的" "?我也很好奇".transform(X)"函数在我适应它之后对我的数据做了什么.

python machine-learning pca scikit-learn linear-discriminant

1
推荐指数
1
解决办法
1万
查看次数

R LDA(线性判别分析)如何从LDA系数/载荷获取/计算LDA分数

我正在使用 R 中的 lda 函数来拟合模型。拟合模型后,我想使用拟合结果放入计算机程序中,根据输入进行分类。我只看到线性判别式和组均值的系数。我认为我需要截距和系数才能获得每组的实际分数。

r linear-discriminant

1
推荐指数
1
解决办法
3848
查看次数