问题标签 [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 投票
0 回答
84 浏览

python - 如何使用线性判别分析根据序列值进行预测

我正在开发一个基于 EMG 信号预测手部动作的程序。到目前为止,我有一个 CSV 文件用作 LDA 程序的数据库。我发现的问题实际上是能够通过程序进行预测。有没有一种方法可以根据我从串行端口(我的传感器)获得的值来预测手指运动?

0 投票
1 回答
4187 浏览

python - 基于多维数据在python中绘制类之间的边界线?

我正在尝试根据此文档在Python 中使用Iris 数据集绘制边界线。LDAsklearn

对于二维数据LDA.coef_,我们可以使用和轻松绘制线条LDA.intercept_

但是对于已缩减为两个分量的多维数据LDA.coef_,和LDA.intercept有很多维度,我不知道如何使用这些维度在二维缩减维度图中绘制边界线。

我尝试仅使用 and 的前两个元素进行绘图LDA.coef_LDA.intercept但它没有用。

边界线的结果由生成lda.coef_[0]lda.intercept[0]显示一条不太可能在两个类别之间分开的线

在此处输入图像描述

我试过使用 np.meshgrid 来绘制类的区域。但我收到这样的错误

ValueError: X 每个样本有 2 个特征;期待 4

它期望原始数据的 4 维,而不是来自网格网格的 2D 点。

0 投票
0 回答
71 浏览

r - 如何使用 LDA 对狗和猫数据进行分类?

我在 R 的世界里很新。我有一个用 R 编程的小项目。我们有 2 个数据集,一个包含狗数据的数据集和一个包含猫数据的数据集(要清楚,80 个狗行数据和 80 个猫行数据)。这些行中的每一行都是一个 64x64 像素 IMG,只是打包在一行中。我只是使用 PCA 对这些进行分类并绘制猫和狗的图像。所以现在的问题是,我如何使用线性判别分析对这两种动物进行分类?我没有想法。也许我可以看看你的答案,这样可以帮助我继续进步。

我刚刚尝试使用 PCA 绘制一些猫和狗的图像。在这部分之前,我只需要描述一个灰色调色板。

就像,猫数据的第一行是由 0-255 的 4.096 个元素给出的。

0 投票
1 回答
121 浏览

r - 缩放 LDA 决策边界

我有一个非常规的问题,很难找到解决方案。非常感谢您的帮助。

我有 4 个基因(特征),我的分类是二进制(0 和 1)。经过多次反复,我最终确定使用 LDA 进行分类。我有不同的研究,每项研究都比较相同的两个类别,并且我在每项研究中都使用这 4 个基因训练了我的模型。

我想以点图的形式可视化 LDA 分数。如下所示,其中每个部分代表不同的研究/数据集。X 轴上该数据集的样本和我使用的 LD1 值 - lda_model = lda(formula = class ~ ., data = train) predict(lda_model,train)Y 轴上。

在此处输入图像描述 由于我在每个数据集上训练了不同的模型,我们可以清楚地看到每个数据集的决策边界(我假设是黑线)是不同的并且在不同的规模上。但是,我想缩放 Y 轴上的值,这样我的所有数据集都在相同的比例上,我可以用一个决策边界来表示这个图(同样,我可以在图上清楚地绘制一些东西,比如红线)。

这里的 LD1 值为 - a(GeneA) + b(GeneB) + c(GeneC) + d(GeneD) - mean(a(GeneA) + b(GeneB) + c(GeneC) + d(GeneD))。这是针对每个数据集单独完成的。然而,这并不完全等于我们可以使用逻辑回归得到的 (a(GeneA) + b(GeneB) + c(GeneC) + d(GeneD) + intercept)。我正在尝试找到可以使用 LDA 在所有数据集上缩放我的 Y 轴的值或某种方法。

谢谢你的帮助!

0 投票
0 回答
37 浏览

r - 运行lda函数时不断出错

我是机器学习的新手。我在 r 中的 lda 函数中遇到问题。

下面是我的代码

它给了我以下错误。

先感谢您!!

0 投票
1 回答
36 浏览

statistics - 如何使用统计方法计算某些受访者群体的加权平均值(未给出加权因子时)?

我们有 4 个队列(15、10、5、20 人),其中我们得到了每个队列(10、6、5、16)中少数人的回复,以测量一周内的体重(增加或减少)(以公斤为单位)吃药时。我们必须为每个队列计算一个加权因子来测量加权平均值,以便我们可以比较药物对这些队列的相对影响。

0 投票
1 回答
540 浏览

scikit-learn - LDA 协方差矩阵与计算的协方差矩阵不匹配

我希望更好地理解 scikit-learn 的 LDA 对象返回的 covariance_ 属性。

我确定我遗漏了一些东西,但我希望它是与输入数据相关的协方差矩阵。但是,当我将 .covariance_ 与 numpy.cov() 返回的协方差矩阵进行比较时,会得到不同的结果。

谁能帮我理解我错过了什么?感谢并乐于提供任何其他信息。

请在下面找到一个说明差异的简单示例。

0 投票
0 回答
32 浏览

r - 是否可以在 R 中编写一个函数来执行具有累积可变数量因子的判别分析?

我正在尝试对几何形态测量数据进行最小判别分析。由于几何形态测量数据通常会产生大量变量,并且判别分析需要比变量更多的数据点才能准确分类标本,因此文献中的常见解决方案是执行主成分分析,然后使用数量可变的 PC,代表少于 99%的累积方差,但返回最高的重新分类率作为 LDA 的输入。

现在我这样做的方式是在 R 中运行 LDA(使用MorphoMASS包中的函数)在每个可能使用的 PC 数量下,并手动记录分类精度,直到我找到返回最高精度的最少数量的 PC ,但这是非常低效的。

我想知道是否有任何方法可以编写一个函数来为前 N 个 PC 的所有可能数量运行 LDA(直到某个用户定义的级别,代表累积方差的 99%)并返回百分比重新分类率每个级别,产生如下内容:

因此,第 1 行是使用前 20 台 PC 时的重新分类率,第 2 行是使用前 19 台 PC 时的重新分类率,依此类推。

0 投票
0 回答
52 浏览

r - 候选 SNP 主成分的判别分析

我刚刚对我的 SNP 数据集进行了冗余分析,并从中获得了候选 SNP。我想在这个数据上运行一个 DAPC,但是这个教程让我有点困惑。这是因为我相信我已经在集群中拥有了我的数据,我只想运行 DAPC,但由于这些错误,它只是由于某种原因无法正常工作,而且我相信在我开始之前我做错了什么这一点,但我不知道是什么

0 投票
0 回答
46 浏览

python - 为什么我的线性判别分析系数矩阵是 2x1 而不是 2x2?

我正在对一些股市数据进行线性判别分析。我正在关注“统计学习简介”第 4 章中的实验室。我的问题涉及 2 个预测变量(x 变量)和 2 个可以分配给它们的类。

我正在使用 scikit 学习来做到这一点。但是,当打印出我的系数矩阵时,我对其尺寸感到困惑。通过系数,我指的是乘以以下等式中的预测值的系数:

在此处输入图像描述

鉴于我的问题中有 2 个预测变量和 2 个可能的类别,我希望这个系数矩阵为 2 x 2。所以每个类别 k 有 2 个系数 - 每个预测变量一个。但是,根据 scikit learn 文档,该数组应具有以下形状:

形状 = [等级,n_classes - 1](https://scikit-learn.org/0.15/modules/generated/sklearn.lda.LDA.html

在我的情况下,排名等于我拥有的预测变量的数量。谁能解释为什么列数是'n_classes - 1',而不仅仅是n_classes?