JMP 之外的奇异值分解你好 - 我是 JMP 的长期用户(3.2!),也是 R 中一个非常没有天赋的初学者。 作为一名生态学家,文本分析对我来说是个新事物,但我真的很喜欢使用 Text Explorer 平台。 我生成了一个稀疏文档术语矩阵,我想对其进行奇异值分解,以便在 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 的一个好方法是复制您在 JMP 中熟悉的 R 结果。
和您一样,我更喜欢 JMP 而不是 R,原因有很多,事实上,我早在 2009 年就在使用 R,当时我正在向执行团队展示结果,并且
像往常一样,主管还有其他问题,(我没有预料到,我在这方面做得更好)而且我不能只是
在 R 中实时生成新分析。我要求 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 之外的奇异值分解好的, 如果我明白@马克贝利正确地说,SVD 是一个“游戏规则改变者”;但是,您需要 JMP Pro 才能使用 JMP 玩这个游戏。 它是否正确?
进一步思考这个问题,似乎 JMP(非专业版)不允许我在视频中看到或在博客中读到的任何文本分析功能:潜在类分析、潜在语义分析、主题分析,判别分析、文档聚类或术语聚类。 作为 JMP 的长期用户,我买得起 JMP 但买不起 JMP Pro,我仍在努力找出更有效的后续步骤。
例如,如果我能够生成一个奇异值矩阵(例如,在 R 中的 JMP 之外)并将该矩阵带回 JMP,我似乎仍然无法使用这些分析,至少不能直接使用,因为我这样做了甚至没有任何这些分析平台的菜单项(通过 Text Explorer 热点)。 我只是对统计细节知之甚少,无法理解尝试使用标准主成分或集群平台在 JMP 中复制这些类型的文本分析是否是个好主意。 例如,我刚刚看到一个帖子@劳拉CS她说“潜在语义分析 (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 之外的奇异值分解Text Explorer 中的新 SVD 例程是真正的游戏规则改变者,也是进一步文本分析所需要的。
这就是我所能提供的。 我希望其他人除了减少 DMT 的大小之外还有一些有用的建议。
回复:JMP 之外的奇异值分解谢谢,马克。 我还没有测试我需要在多大程度上缩小我的文档术语矩阵才能在 JMP(而非 JMP Pro)平台中使用潜在语义类分析。 也许我可以完成这项工作,我会尝试,但是当我有更大的文档集时怎么办? 我预测我会再次遇到这个问题。
我认为我最初的评估可能仍然是正确的。 似乎我可能仍然需要一种方法将我的稀疏文档术语矩阵(在 JMP 中创建)转换为密集矩阵(通过 R 中的奇异值分解),以便我可以将密集矩阵读回 JMP 以进行额外的多元分析。
换句话说,我认为我无法在没有 JMP Pro 的情况下在 JMP 中创建奇异值的密集矩阵,这确实限制了我在 JMP 中进行文本分析的能力。
如果有人对如何在 JMP 中处理此问题有任何其他建议,或者可能有一些基于 R 的解决方案,我很乐意听取他们的意见。
回复:JMP 之外的奇异值分解首先,我说错了。 我很难记住每个版本的 JMP 中有哪些功能以及 JMP 和 JMP Pro 之间的所有差异。 您是对的:JMP 中仅提供 PCA 和潜在类别分析。
其次,我担心大而稀疏的 DTM 对于 Text Explorer 平台之外的 JMP 来说太过分了。 您可以尝试修剪术语列表。 一般来说,整理术语和短语列表比依赖默认参数可以进行更有意义的分析。 这是减小 DTM 大小的一种方法。 您还可以在保存 DTM 时减少最大术语数或增加最小术语频率。
最后,您使用的是 64 位 JMP 吗?
回复:JMP 之外的奇异值分解好的,谢谢你的建议。 到目前为止,我已经尝试了一些没有用的东西。 也许我做错了什么。 我保存了加权文档术语矩阵,然后将其作为 y 变量输入:1) 主成分平台和 2) 潜在类分析平台。 在我的非专业版 JMP 中,我没有看到任何潜在语义分析选项。 这些将位于何处?
当我尝试在主成分平台中运行加权文档术语矩阵时,JMP 只是旋转并不可避免地崩溃。
当我尝试将文档术语矩阵放入潜在类分析平台中的 Y 角色时,我收到消息说我正在使用不受支持的数据类型。
有什么建议么?
回复:JMP 之外的奇异值分解欢迎您将 R 与 JMP 结合使用,但我认为这种方式不是必需的。 您可以从文本浏览器中保存加权文档术语矩阵,然后使用 JMP 中的任何平台(包括多变量组中的平台)分析新数据列。 这包括不使用 JMP Pro 的主成分分析、潜在类分析和潜在语义分析。
请注意,TE 中的版本针对 DTM 等稀疏矩阵进行了优化,但您至少应尝试使用独立平台。