问题标签 [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 回答
183 浏览

python - 使用 LDA 减少训练集维度时的单样本预测问题

我对数据使用的监督分类方法有问题。

假设我们正在使用 LDA 降维方法将维度从 100 减少到 2 后用数据 (N=70) 训练我们的算法。

现在,我们想预测第 71 个样本的类别,我们完全不知道它的类别。但是,它仍然有 100 个功能;所以我们必须减小它的尺寸。

乍一看似乎很容易:我可以使用第一个归约的变换特性。例如,在 python 中:

我已经存储了训练数据的拟合属性。X_p 是我的单个样本。因此,当我再次使用“flda”进行转换时,会使用相同的拟合信息:

但是,它不能正确预测!为了测试,我使用了我的第一个 N=70 数据。提取其中一个(所以现在,它是 N=69)。我使用第 70 个数据作为测试样本。而且它没有再次正确预测。

当我比较之前的数据 (N=70) 和新的数据 (N=69) 时,我看到每个数字都发生了变化!如果我没有遗漏什么(我希望我遗漏了,你可以告诉我我遗漏了什么)LDA 降维不适用于真正的机器学习应用,因为只有一个数据可以改变一切。

请注意,尽管所有数字都发生了显着变化(这意味着点的相对位置没有变化),但简化数据的图没有变化。

你知道在真实的机器学习应用中如何使用 LDA 降维吗?我必须做什么,按以下顺序测试一个样品:

  • 将训练数据的维度减少到 2
  • 将测试数据的维度减少到 2
  • 预测!

不使用相同的转换特性?

0 投票
0 回答
212 浏览

python - 多元分布的对数优势决策边界

我有一些关于 2 个类的二维数据,我正在尝试计算对数几率:

然后我想绘制决策边界,即所有对数赔率 = 0 的点。我已经为 1d 数据做到了这一点,但对于 2d 数据,我的直觉是我必须使用 2d 直方图来获得P(x)P(x|class = a), P(x | class = b)。我在做什么正确吗?我的一个问题是我从哪里得到 P(class = a)?它只是 0.5,因为有 2 个样本数量相同的类吗?我还认为我绘制决策边界的方式可能是错误的,因为它并不是我所期望的。

在此处输入图像描述

0 投票
3 回答
1636 浏览

python - 在 Python 中使用 scikit learn 进行线性判别分析

我正在进入机器学习领域,最近我使用线性判别分析研究了线性可分数据的分类。为此,我使用了 scikit-learn 包和函数

来自 MNIST 手写数字数据库的数据。我已经使用数据库来拟合模型并通过这样做对测试数据进行预测:

哪个工作得很好。我得到了 95% 的不错的准确率。然而,预测函数使用来自所有 784 个维度的数据(对应于 28x28 像素的图像)。我不明白为什么所有维度都用于预测?

我虽然线性判别分析的目的是在低维空间上找到一个投影,该投影允许最大限度地允许类分离,这样理想情况下数据是线性可分的并且分类很容易。

如果所有 784 维都用于预测,LDA 和确定投影矩阵有什么意义?

0 投票
1 回答
1094 浏览

python - 如何从线性判别分析中解释变量权重?

我正在研究监督分类。首先,我想找到对区分每个类别具有重要权重的变量。我的代码如下:

结果是:

然后我试试这个:

我得到一个错误:

你有解决这个问题的想法吗?此外,如果您知道创建一个相关圈,那就太好了!

谢谢你。

0 投票
0 回答
84 浏览

r - R中的线性判别分析函数

我有以下 R 代码

我知道代码是一个计算线性判别函数的函数。

但是,我不确定以下代码在做什么。它直接跟在上面的代码之后。

我知道它正在为患者计算线性判别函数,但我不确定每条线的含义。

预先感谢您的任何帮助!

0 投票
1 回答
321 浏览

python-3.x - 线性判别分析(错误:索引 1 超出范围)

我有一个数据集。前 10 个数字是我的特征(一、二、...、十),最后一列是我的目标(只有 2 个目标,包括 MID 和 HIGH)。数据以 txt 格式 (data.txt) 保存,例如:

我试图根据可用的教程来实现 LDA 分析。我还使用StandardScaler进行标准化,因为第9列和第10列的单位与前 8 列不同。这是我尝试过的:

我收到此错误:

有人知道我该如何解决这个问题吗?在此先感谢您的帮助。

0 投票
0 回答
230 浏览

python - ValueError: X 每个样本有 2 个特征;期待 10

您好,我是编码初学者,必须为我的生物信息学课程进行基因分析。

当我对一些基因进行分类时。我收到以下错误:

我使用了以下代码:

这就是字典的样子:' {'X_train': array([[ 2.19006658, -0.73904548, 1.0546373 , ..., 2.66134771, 0.98862311, 0.44361308], [ 0.20861127, -0.934618461, 1.0.856, ... -1.09109426, 0.80392969], [ 1.42440021, -0.44252457, 0.44931581, ..., 2.24048554, 1.14914253, 0.99105977], ..., [-1.05716004, -1.05594894, 1.33725141, ..., 0.97913019, 3.47341899, -1.49987541], [-1.65004305,-0.94600641,0.62179489,...,1.89665973,3.23602037,1.01596823] [[ 1.83955442, 0.78721169, 4.13619852, ..., 1.24837935, 0.81366998, 0.99879906], [ 2.37883518, 1.61882149, 1.38400345, ..., 0.80778427, -0.17820107, -0.82231867], [ 1.89283928, 3.3226534 , 3.51393647, ..., 1.77412229, -0.04522057, 0.45582996], ..., [ 0.46143703, 0.42804519, 0.34723485, ..., -1.0361394 , 0.5680955 , 0.74929476] ,[0.0964557,-0.84329019,-0.98493767,...,0.94844,-0.42561057,1.92670305] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=uint8), 'y_test': 数组([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 , 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=uint8)}2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=uint8)}2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=uint8)}

如果有人能够修复它,我将不胜感激

0 投票
1 回答
44 浏览

r - 等效于 R 中的 fitcdiscr(关于 Coeffs.linear 和 Coeffs.Const)

我目前正在将一些 MATLAB 脚本翻译成 R 以进行多变量数据分析。目前我正在尝试生成与MATLAB 中的函数Coeffs.LinearCoeffs.Const部分相同的数据。fitdiscr正在使用的代码是:

数据由3组组成。

不幸的是,R 函数似乎只对两个 LD 进行 LDA,而 MATLAB 似乎总是比较所有星座中的所有组。有人知道我如何获得这些数据吗?

0 投票
0 回答
235 浏览

r - 如何使用 3 个输入变量在 R 中绘制线性判别分析图的决策边界

我想为具有 3 个输入变量和 2 个类的矩阵绘制 LDA 的决策边界。如果只向 LDA 提供 2 个输入变量,我可以找到一些用于绘制边界的代码,但是我为 3 个输入变量找到的代码给出了不正确的边界。

0 投票
0 回答
168 浏览

machine-learning - 我应该使用多项逻辑回归还是线性判别分析?

在分类问题中,如果我的数据标签(也称为因变量)有两个以上的类别,我就不能使用简单的 logit 模型。这给我留下了多项回归和线性判别分析(LDA)等。为什么多项式 logit 在机器学习中不如 LDA 流行?LDA 提供的特殊优势是什么?