问题标签 [linear-discriminant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
590 浏览

python - 减少数据集的 LDA 精度高于原始数据集

我正在尝试使用LDA减少数据集。我希望在减少的数据集上,我的准确性会降低。但是,根据我得到的随机种子,有时简化版本会给我更高的准确性。

你知道为什么降维后我的准确率更高吗?

0 投票
0 回答
1302 浏览

r - 逻辑回归错误分类

我有一个与评估逻辑回归模型的预测有关的问题。我对此很陌生,所以请多多包涵。首先,我将展示我对 LDA 所做的工作,因为我希望在完成逻辑回归后获得类似的“错误分类率”。

这给出了 train.lda.rate = 0.5265152 和 test.lda.rate = 0.461039。

现在基本上我希望能够从逻辑回归中提取相同类型的错误分类率,但我知道在我的逻辑回归模型上使用 predict() 后,没有 $class 选项。所以我想知道如何找到预测的类,以便我可以查看它们是否等于原始类,从而像我上面那样获得分类率。

这是我的逻辑回归代码:

编辑

实施评论中提供的解决方案后,我执行了以下操作:

这给了我 0.9715909 的错误分类错误。这似乎有点高,让我觉得我在某个地方出错了。任何建议,将不胜感激!

另一个编辑

我已经按照评论中的建议进行了处理,并使用了多项逻辑回归,因此我可以处理 11 个类。

我离这里很近,因为 head(predicted.train) 看起来像正确的结构,我只是得到原子向量错误 - 我想我需要将类 (1-11) 更改为因子类型,但我不是积极的。

0 投票
2 回答
3759 浏览

r - R - “CAPdiscrim”和“lda”错误“变量 1 在组内似乎是常数”

所以我一直在寻找解决这个问题的现有问题,但无济于事。

我有一个由个人 (117) 组成的数据集,每个人都有来自不同变量 (12) 的观察结果,并按具有 8 个级别的因子变量分组。

我想根据安德森和威利斯的方法对这些数据的主坐标进行规范分析。我从使用 BiodiversityR::CAPdiscrim 开始。让我们从一些示例数据开始:

CAPdiscrim 需要特定格式的数据:

现在我们可以对数据运行 CAPdiscrim

返回:

lda.default(x, grouping, ...) 中的错误:变量 1 在组内似乎是常数

我们可以使用 nearZeroVar 来查看这是否为真(这似乎不是真的):

现在我看到了关于这个特定于 lda() 的错误的其他问题,我注意到 CAPdiscrim() 调用了 vegdist()、cmdscale() 和 lda(),所以我试图逐个分解这个分析:

它返回一个非常相似的结果:

lda.default(x, grouping, ...) 中的错误:变量 1 2 3 4 5 在组内似乎是常数

现在lda()有一个参数“tol”可以用来在处理非常小的数字时消除这个错误,所以我可以这样做:

这提供了一些输出,但不包括某些功能,CAPdiscrim例如允许函数通过排列确定“m”的最佳数字。

谁能建议如何修改公差CAPdiscrim()?或者如何CAPdiscrim()使用这些其他功能手动执行幕后操作?

任何见解将不胜感激。

0 投票
1 回答
1372 浏览

python - 在 Sklearn 中使用 LDA 时出现 Python 错误

我正在尝试实现LinearDiscriminantAnalysisfrom sklearn,因为这是我迄今为止所做的:

我得到的错误信息是:

数据框的形状是正确的,所以我没有得到我所缺少的或者我应该转换什么以便函数接受参数,或者是其他原因?

我将不胜感激任何提示!

更新

这是dataframe_train.iloc[:,-1]看起来的样子:

每行是一个包含 20 个元素的向量。

**2nd_UPDATE"

运行以下:Training_Frame = lda.fit_transform(np_scaled_train,np.asarray(dataframe_train.iloc[:,-1]))

传递此错误消息:

0 投票
1 回答
806 浏览

python - RuntimeWarning: 除 S**2))[:self._max_components] 中遇到无效值

我正在尝试对具有两个类的分类问题执行降维。

我有 6 个 csv 文件。我的代码在这里:

我想这可能是问题所在。

这是我得到的错误:

每个文件有 100 行和 5 列。我想使用第 3、第 4 和第 5 列进行特征提取,它们称为“x”、“y”和“z”。

0 投票
0 回答
73 浏览

r - 如何将灵活判别分析可视化为 R 中的双图?

我读过 Gardner 和 Le Roux 关于将 Biplot Methodology 扩展到判别分析的论文。我想问是否有人对这种方法有任何实际经验。我有一个来自 kaggle Human Resources Analytics 的数据集的 FDA 模型,可在此处获取 data set。我使用了代码

来拟合模型。训练样本选择使用

当我尝试使用该biplot函数时,我收到一个缺少 y 值的错误。我知道有一个 ggbiplot 函数,但它似乎只适用于 LDA,因为它需要线性判别式进行绘图。而且我在我的模型输出中找不到那些更精确的判别值。我似乎错过了一些东西,但我无法弄清楚它是什么..

我的更多代码

返回缺失的 y 值。

还尝试缩放数据集

尝试使用虹膜数据上的示例但使用 LDA 来拟合 ggplot,但不知道用于aes. 似乎也没有名为 geom_axis 的函数

0 投票
2 回答
947 浏览

r - LDA 分析时下标越界

我正在尝试在 R 中运行线性判别分析。我的数据框包含两组数据,维度分别为 102 和 24。我运行 R 代码如下:

但是当我尝试绘制输出时,我得到了这个错误:

我发现问题是我LD1在输出中有突出部分并且LD2不可用。任何人都可以解决这个问题吗?通过此链接,您可以找到 mydata: https ://www.dropbox.com/preview/Foruhar/morph.txt

0 投票
1 回答
10499 浏览

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

LDA vs Naive Bayes 在机器学习分类方面的优缺点是什么?

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

0 投票
1 回答
1278 浏览

c++ - 为什么 LDA 中的特征向量和特征值为零?

我想在 OpenCV 中实现快速 PLDA(概率线性判别分析)。在此,LINK快速 PLDA 已在Matlab和中实现Python。PLDA 的组成部分之一是 LDA。我为在 OpenCV 中实现 LDA 编写了以下代码:

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

最好带上将数据从转换为的.mat代码.yml

编辑 1 ) 我用自己生成的一些样本尝试了 LDA:

但我必须得到相同的结果:特征值和特征向量变为零: 特征向量和特征值

0 投票
2 回答
869 浏览

python - sklearn.lda.LDA() 和 sklearn.discriminant_analysis.LinearDiscriminantAnalysis() 的区别

在使用 python 阅读有关 LinearDiscriminantAnalysis 的过程中,我有两种不同的方法来实现它,可在此处获得, http: //scikit-learn.org/stable/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html#sklearn.discriminant_analysis .线性判别分析

在这些方法中,签名在这里,

现在我又找到了另一种具有相同签名的方法,可在此处获得,

http://scikit-learn.org/0.16/modules/generated/sklearn.lda.LDA.html

我只是想知道两者之间有什么区别。我们应该在项目中使用哪种方法,为什么?