JMP 之外的奇异值分解您好 - 我是 JMP 的长期用户(3.2!),并且是 R 语言中一个毫无天赋的初学者。 作为一名生态学家,文本分析对我来说是新事物,但我真的很喜欢玩文本资源管理器平台。 我已经生成了一个稀疏文档术语矩阵,我想对其进行奇异值分解,以便在 JMP 中对约 100 个向量的奇异值密集矩阵进行额外分析。 因为我没有 JMP Pro(买不起),所以我遇到了一些障碍。 我认为这意味着我需要将我的稀疏文档术语矩阵读入 R,运行某种 svd 函数,然后将我的新密集矩阵读回 JMP。 对于更熟悉文本分析和精通 R 的人来说,这似乎是一件容易的事。 我一直在努力弄清楚要使用哪个 R 包来执行此操作(似乎有很多)。 当我查看不同包的文档时,我一直在努力弄清楚我应该使用哪些函数和参数来完成这项任务。 我知道,现在是我致力于学习 R 的时候了。 多年来,JMP 一直保护我免受这种不可避免的影响。 如果有人可以分享一些 R 建议,或者更好的代码,可以将稀疏矩阵读取为 .csv,在 R 中创建密集奇异值矩阵,然后将此矩阵写为新的 .csv , 我会很感激。 谢谢!回复:JMP 之外的奇异值分解谢谢, @G_M . 我将把您的回复称为我的问题的“解决方案”,因为我很确定唯一的解决方案是让我在 JMP 之外进行文本分析。 您的帖子有助于向我展示从 JMP 呼叫 R 是多么容易。 这可能只是我需要致力于学习如何集成这两个工具的推动力。
回复:JMP 之外的奇异值分解@caseylott开始使用 R 和 JMP 的一个好方法是在 R 中复制您在 JMP 中熟悉的结果。
和你一样,我更喜欢 JMP 而不是 R,事实上,我在 2009 年向执行团队展示结果时使用了 R
与往常一样,主管还有其他问题,(我没有预料到,我在这方面做得更好),我不能只是
在 R 中生成新的分析,live。我要求 25 分钟去进行分析并带来结果……我失去了他们的注意力。那晚
我回家思考如何在未来避免这种情况......1)更好地预测进一步的分析,2)确定一个更敏捷的软件。
JMP 重新进入了我的生活(几年前一位同事向我介绍了 JMP),从那以后一直是我选择的软件。
也就是说,这里有一些 JMP 到 R 语法,可以帮助您入门。
这可能太基本了,但我希望对您有所帮助。我使用 R 来估计非线性混合效应模型、多头 IRT 模型,最近开始估计
通过 JMP 使用 R 和 JAGS 的贝叶斯模型。
Names Default To Here( 1 );
//Open Big Class in JMP
df = Open( "$SAMPLE_DATA/Big Class.jmp" );
//execute bivariate regression of weight on height in JMP
df << Bivariate( Y( :weight ), X( :height ), Fit Line( {Line Color( {213, 72, 87} )} ) );
//make sure that you have embedded log open in your JSL Scripting window.
//Initiate R
R Init();
//send data frame to R
R Send( df );
//submit R Code for bivariate regression of weight on height
R Submit(
"\[
fit1 <- lm(weight~height, data = df)
summary(fit1)
]\"
);//close R Submit
//Look into the log and see the R Results
回复:JMP 之外的奇异值分解好的, 如果我明白@Mark_Bailey正确地,SVD 是“游戏规则改变者”;但是,您需要 JMP Pro 才能使用 JMP 玩这个游戏。 这个对吗?
再想一想,似乎 JMP(非专业版)不允许我在视频中看到或在博客中读到的任何文本分析功能:潜在类分析、潜在语义分析、主题分析、判别分析、文档聚类或术语聚类。 作为一个能买得起 JMP 但买不起 JMP Pro 的长期 JMP 用户,我仍在努力找出更有效的下一步。
例如,如果我能够生成一个奇异值矩阵(例如,在 R 中的 JMP 之外)并将这个矩阵带回 JMP,我似乎仍然无法使用这些分析,至少不能直接使用,因为我这样做了甚至没有任何这些分析平台的菜单项(通过文本资源管理器热点)。 我只是对统计细节知之甚少,无法理解尝试使用标准主成分或集群平台在 JMP 中复制这些类型的文本分析是否是一个好主意。 例如,我刚刚看到一个帖子@LauraCS她在哪里说“潜在语义分析 (LSA) 只是在文本术语的相关矩阵上完成的 PCA(但不涉及任何旋转)”。 我想知道这句话的字面意思。 这是否意味着,如果我可以将奇异值矩阵引入 JMP,我可以使用 JMP 的 PCA 工具进行与潜在语义分析和潜在类分析基本相同的分析? 如果没有更好地了解统计细节,我这样做似乎有点冒险。
所以......在对这个话题痴迷了几天之后,似乎我最好的选择可能是弄清楚如何在 JMP(用于管理文档术语矩阵和可视化)和 R(用于分析)之间来回切换就像我在@herush和@andrewtkarl名为“JMP 和 R 中的文本挖掘”的视频。 似乎现在是与我的一个 R 朋友共进午餐并进行合作的好时机。
我不知道有多少 JMP 用户在我的位置(例如,不太可能升级到 JMP Pro)。 也许我只是在推动典型 JMP 用户无法理解的内容。 但是,如果有像我这样的其他人,如果我能找到其他“帮助”或“培训”资源(例如,博客、教程、第三方视频)来说明 JMP 和 R 之间的协同作用以及方法,那就太棒了处理像我目前所处的情况,其中需要 2 个工具(JMP 和 R)来完成工作。
就像我之前说过的。 我非常喜欢 JMP,并且在我的整个职业生涯中都在使用它。 这不会改变,但似乎是我该认真学习 R 的时候了。 有人告诉我这值得我花时间,但是该死,我真的更喜欢 JMP 的交互式、菜单驱动的工作流程。
回复:JMP 之外的奇异值分解文本资源管理器中的新 SVD 例程是一个真正的游戏规则改变者,这正是进一步的文本分析所需要的。
这就是我所能提供的。 我希望其他人除了减小 DMT 的大小之外,也有一些有用的建议。
回复:JMP 之外的奇异值分解谢谢,马克。 我还没有测试在缩小文档术语矩阵方面需要走多远才能在 JMP(不是 JMP Pro)平台中使用潜在语义类分析。 也许我可以完成这项工作,我会尝试,但是当我有一个更大的文档集时呢? 我预测我会再次遇到这个问题。
我认为我最初的评估可能仍然是正确的。 似乎我仍然需要一种方法将我的稀疏文档术语矩阵(在 JMP 中创建)转换为密集矩阵(通过 R 中的奇异值分解),以便我可以将密集矩阵读回 JMP 以进行额外的多变量分析。
换句话说,我认为如果没有 JMP Pro,我无法在 JMP 中创建密集的奇异值矩阵,这确实限制了我在 JMP 中进行文本分析的能力。
如果有人对如何在 JMP 中处理这个问题有任何其他建议,或者可能有一些基于 R 的解决方案,我很想听听他们的意见。
回复:JMP 之外的奇异值分解首先,我说错了。 我很难记住每个 JMP 版本中有哪些功能以及 JMP 和 JMP Pro 之间的所有差异。 您是对的:JMP 中只有 PCA 和潜在类分析可用。
其次,我担心对于文本资源管理器平台之外的 JMP,大而稀疏的 DTM 会太多。 您可以尝试修剪术语列表。 通常,与依赖默认参数相比,整理术语和短语列表可以带来更有意义的分析。 这是减小 DTM 大小的一种方法。 您还可以在保存 DTM 时减少最大术语数或增加最小术语频率。
最后,您使用的是 64 位 JMP 吗?
回复:JMP 之外的奇异值分解好的,谢谢你的建议。 到目前为止,我已经尝试了几件事,但都没有奏效。 也许我做错了什么。 我保存了加权文档术语矩阵,然后将其作为 y 变量输入:1)主组件平台和 2)潜在类分析平台。 在我的非专业版 JMP 中,我没有看到任何潜在语义分析选项。 这些将位于哪里?
当我尝试在主组件平台中运行加权文档术语矩阵时,JMP 只是旋转并不可避免地崩溃。
当我尝试将文档术语矩阵放入潜在类分析平台中的 Y 角色时,我收到消息说我正在使用不受支持的数据类型。
有什么建议么?
回复:JMP 之外的奇异值分解欢迎您将 R 与 JMP 一起使用,但我认为没有必要这样做。 您可以从文本资源管理器中保存加权文档术语矩阵,然后使用 JMP 中的任何平台分析新数据列,包括多变量组中的那些。 这包括没有 JMP Pro 的主成分分析、潜在类分析和潜在语义分析。
请注意,TE 中的版本针对 DTM 等稀疏矩阵进行了优化,但您至少应该尝试使用独立平台。