问题标签 [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.
r - R:三类情况下LDA的阈值如何计算?
三类判别分析的结果是两个判别函数LD1和LD2。
在两个类别的情况下,有一个判别函数LD1,判别阈值可以计算如下:
M1是第 1 类的LD1估计值的平均值,以及第 2 类的M2估计值的平均值。
请帮助我了解如何使用LD1和LD2计算三类情况的歧视阈值。
换句话说,我如何在图表上找到这些阈值线的方程?
该图的代码取自此处R: plotting later classification probabilities of a linear discriminant analysis in ggplot2
scikit-learn - 使用 scikit-learn 从 PCA 和 LDA 得到的结果
我真的对这个结果感到困惑.. 2 个类的相同数据集以及 PCA 和 LDA 的结果.. 这是合理的还是可能有问题?
感谢您的任何回答!
r - 如何在坐标轴上绘制线性判别函数?
我有一个 y 的判别函数,但我需要将它与数据一起绘制在坐标轴 (x1, x3) 上。我如何在 R 上做到这一点?
min13[,1] 是 x1,min13[,3] 是 x3。如何在数据点图上绘制判别函数?谢谢你的帮助!
matlab - 使用 Matlab fitcdiscr 的 LDA 系数
我正在使用 Matlab 命令fitcdiscr来实现具有 379 个功能和 8 个类的 LDA。我想获得每个特征的全局权重,以研究它们对预测的影响。如何从 ClassificationDiscriminant 对象的 Coeffs 字段中的成对(对于每对类)系数中获得它?
r - 在 LDA 中查找数据已分配到的三个类别的均值
我正在查看如何计算基于 Q = W^{-1}B 的 Fisher 的 LDA 的示例代码。
数据导入如下:
我有以下 Fisher 的 LDA 示例。使用 计算 Q solve(W, B)
,然后找到 Q 的第一个特征向量,然后分配类:
该命令str(classified)
产生以下输出:
我想找到数据被分配到的三个类的方法。这听起来应该很简单;但是,我对 R 缺乏经验,并且不确定如何执行此操作。我认为apply
andselect
函数与这种情况有关,但我不确定。
我能够使用相关的 R 函数实现我自己的 LDA:
我想对我的实现做同样的事情(找到三个类的方法),就像上面的例子一样。
该命令str(predict( lda.0 ))
产生以下输出:
那么,对于这两种情况,找到数据分配到的三个类别的均值的好方法是什么?
完整的数据集太大,无法包含在这篇文章中,因此我包含了一个较小版本的数据集:
rate - 误分类率
我正在查看 LDA 和 QDA 的结果。我对我的结果的错误分类率感兴趣。通常我有 2x2 表并将误分类率读取为 2 个其他对角线值除以表中的所有值。但是,我不确定如何解释一个更大的表的误分类率,该表没有包含二进制数据的严格对角项,如下表。谁能给我一些关于如何计算这种表的错误分类率的指导。由于 2 个错误的预测值,我相信答案将是 2/5 x 100 = 40%,但我不能 100% 确定这是正确的。
预料到的 | 实际的 |
---|---|
1 | 1 |
2 | 1 |
1 | 2 |
1 | 1 |
2 | 2 |
任何帮助,将不胜感激。谢谢
r - 如何将使用 Hellinger 度量的层次聚类分析应用于 LDA 模型?
我在做 LDA 分析,我有主题,但是我需要根据 Hellinger 距离对主题进行聚类。我需要将 LDA 模型生成的 20 个主题分组并呈现在树状图中。我分享部分代码。
python - 如何在拟合我的估计器之前使用 sklearn RFECV 选择最佳特征以传递给降维步骤
在使用 KNN 拟合我的估计器之前,如何使用 sklearn RFECV 方法选择最佳特征以传递给 LinearDiscriminantAnalysis(n_components=2) 方法进行降维。
我从此代码中收到以下错误。如果我在没有 LinearDiscriminantAnalysis() 步骤的情况下运行此代码,那么它可以工作,但这是我处理的重要部分。
r - 将增加的累积循环的结果打印为 R 中的单个数据帧
我一直在对 R 中的主成分分析的结果进行最小判别分析,并且我一直在根据代表返回的累积变化的某个阈值的 PC 的最小数量计算要使用的适当 PC 数量遵循之前一些研究中的方法,重新分类率最高。
我一直在使用循环计算各种累积 PC 数量的重新分类率,但希望将其打印为 RMarkdown 报告的 data.frame。这是我一直在使用的代码。
在这段代码trainingframe
中是训练数据集,locus
是 LDA 感兴趣的分类变量。第一列没有被选中,因为它是轨迹。我无法提供原始数据,但这应该可以在包含许多变量的主要成分以及一些感兴趣的分类变量的任何数据集上进行。
这是我从脚本中得到的结果。
但是,如您所见,打印结果为每个结果打印了许多独立的数据帧,而不是一个包含所有分析结果的数据帧。
我想要制作的是一个如下的data.frame ...
我试图找出一种方法来重写上述代码以生成此处显示的最后一个数据帧。
scikit-learn - 特定数据集的 Scikit-learn 线性判别分析错误?
我有一个机器学习管道LinearDiscriminantAnalysis
,我尝试使用不同的数据集,但其中一个ValueError: Internal work array size computation failed: -10
出现错误lapack.py
。这是一个正常80x16
的数字矩阵,但不知何故这些数字存在问题,我不得不向它们添加非常少量的噪声 ( 1e-6 x rand(matrix_size)
) 以绕过这个错误。我认为这个矩阵有一些奇点(对不起,如果我错了,我对线性代数不是很了解),因此我独立地对其进行了特征值分解,但没有出错。我不知道原始矩阵到底有什么问题!