您可能会获得与此相关的东西。 并连接到桌子。 而不是专业。
聚类的星座图
// load some documents that might separate into some categories
dt1 = Open( "f:/gutenberg/books5000.jmp" ); // 5000 is too many, subset 36...
dt1 << selectwhere( Starts With( Loc Class, "D501" ) | Starts With( Loc Class, "TX:" ) | Starts With( Loc Class, "Q" ) | Starts With( Loc Class, "P" ) );
dt2 = dt1 << subset( selected rows( 1 ) );
Close( dt1, nosave );
originalnames = dt2 << getColumnNames();
te = dt2 << Text Explorer(
Text Columns( :text ), // the entire document is in one cell of the row
Add Stop Words(
{"agreement", "almost", "another", "company", "copyright holder", "electronic", "foundation", "gutenberg", "literary archive", "little",
"person or entity", "project", "public domain", "research", "without"}
),
Minimum Characters per Word( 6 ),
Stemming( "Stem for Combining" ),
Language( "English" )
);
te << savedocumenttermmatrix( Maximum Number of Terms( 300 ), Minimum Term Frequency( 25 ), Weighting( "TF IDF" ) );//BINARY would use ALL rather than !any, below
te << closewindow;
// remove all-connected columns
allnames = dt2 << getColumnNames();
For( iname = N Items( allnames ), iname > N Items( originalnames ), iname -= 1,
If( !Any( dt2[0, iname] ),
dt2 << deletecolumns( iname )
)
);
allnames = dt2 << getColumnNames();
cols = (N Items( originalnames ) + 1) :: N Items( allnames );
dt2 << Hierarchical Cluster( Y( allnames[cols] ),
Label( Transform Column( "Label", Character, Formula( Left( left(LoC Class,4)||:Subject||:Title, 20 ) ) ) ), // build your own identifier here
Method( "Ward" ), Standardize Data( 1 ), Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 4 ), Constellation Plot( 1 ), Show Dendrogram( 0 ),
SendToReport(Dispatch({"Constellation Plot"},"Clust Hier",FrameBox,{Frame Size( 1056, 716 )}))
);嗨,Craige,
这太棒了! 我不是JSL专家,但可以使用我的数据。 我唯一不知道如何做的是创建一个标签标识符,该标识符使用列名作为文档术语矩阵中的术语。 我的文档术语矩阵有252列。 每个列名称均使用词干值和后缀TF IDF2自动格式化。 例如,一列命名为“ distribut·TF IDF 2”,另一列命名为“ mountain·TF IDF 2”。 我希望将星座点标签作为词干,但不带后缀(例如,distribut·或mountain·)。 是否有一种简单的方法可以将文档术语矩阵的列名中的值用作点标签?
非常感谢您提供此脚本。
凯西
我不确定;我认为对于每一行,您都需要该行的3或4个最重要的单词(列名),并且它们可能是价值最大的单词。 当您查看某些行时,这看起来正确吗? 如果是这样,那么创建该标签列将不需要太多的预处理步骤。
一次使用一行可能不是正确的答案。在图中不必与邻居是一个共同的词。 除非两个空间邻居共享某些单词。
嗨,Craige,
我刚刚意识到,您发送的脚本使用DTM中的值基于文档中术语的相似用法来创建文档集群。 在这种情况下,每个节点代表一个文档,每个链接都基于来自聚类分析的距离值。 我正在尝试做一些稍有不同的事情。
我想创建一个这样的星座图,其中每个节点代表DTM中的TERM,并且每个链接都基于某种描述关键字共现的统计信息。 这超出了我的专业知识。 我喜欢这样的图的想法,但是我不确定以某种方式重新格式化DTM是否合适,以便可以在术语以节点结尾的情况下进行聚类分析(或者我将如何做)。 这将实现我基于术语相关性在JMP中创建图形的目标,该图形可在交互式数据可视化中用作全局过滤器。 但是,这种方式是否会创建不基于文本分析最佳实践的图形? 对于那些了解此领域的人来说,使用聚类分析来说明关键字共现是否不合适? 如果是这样,是否有人在JMP中构建了可以进行关键字共现分析(使用适当的统计方法进行此类分析)的工具?我有兴趣听取社区对此的反馈意见。 抱歉,我的原始帖子不够清晰。 Craige,当我需要对文档进行群集时,我一定会使用您在第一个响应中发送的脚本! 谢谢你。
只是添加到@Craige_Hales可以帮助您使用潜在类分析对行(文档)进行分组,并使用潜在语义分析对列(术语)进行分组。 这些平台位于“分析”>“多变量方法”下。 (它们也是内置的,并且专门用于JMP Pro中的Text Explorer。)请参阅JMP文档...
这个想法是JMP有很多可以协同工作的强大平台。 我的类比是一个图形计算器。 有很多按钮,通常需要一个以上的按钮才能完成工作。 也就是说,没有一个按钮可以“完成所有操作”,但是您可以到达那里。 您需要学习JMP作为第一种方法,而不是尝试重新创建自定义应用程序。 为什么要重新发明轮子?
自1994年以来,我一直是JMP的忠实拥护者,因此我意识到它的很多优点,以及如何通过不同的途径解决不同的问题(这只是我所喜欢的事情之一)。 我总是从JMP开始。 我的专业社区由R用户主导。 他们可以进行各种分析,但是R创建交互式数据可视化的能力(我的东西)甚至与JMP不在同一个联盟中。 因此,我坚持使用JMP。 但是,随着统计方法的发展,只有通过R或JMP Pro才可能进行较大比例的更新分析,而不能使用标准JMP许可证(例如,各种文本分析平台,基本模型选择程序,这些都是本领域的标准做法) )。 这使我更难进行整体工作,开始在JMP中完成分析。 随着JMP Pro和标准JMP的距离越来越远,我发现自己正在向社区咨询以寻求我可以使用标准JMP许可证解决的问题的可能解决方案。Craige的帖子是社区的一个很好的例子,该社区帮助我找到了一种在标准JMP中使用DTM对文档进行分组的方法。 我最近的帖子询问是否有可能使用标准JMP中的DTM对术语进行分组的类似解决方案。
在这种特定情况下,我试图将关键字共现网络图形合并到我在标准JMP中创建的现有交互式可视化中。我不认为我要重新发明轮子。 我认为我要么陷入标准JMP许可证的功能壁垒(也许),要么我缺乏如何实现这一点的知识/创造力(更有可能)。我买不起JMP Pro。 这是我的现实,我认为它不会很快改变。 您提到的潜在类分析和潜在语义分析平台仅在JMP Pro中可用。 当我问有关标准JMP许可证功能的问题并得到答复,告诉我我只能在JMP Pro中执行某项操作时,它并没有真正帮助我。 如果我的问题可以帮助解决JMP Pro用户的问题,我感到很高兴,但是我仍然面临尝试在标准JMP中做一些比起JMP Pro用户需要更多创造力和知识(JMP用户社区的两个惊人特性)的事情的初衷。我自己拥有。
我感谢JMP,JMP的技术支持人员(很棒)和这个用户社区。 在我的预算变得前所未有的庞大之前,我可能会在这里不断询问有关使用标准JMP许可证完成工作的创造性方法的问题(这有时可能会使人望而却步)。 我同意Mark的观点,那就是首先需要学习JMP(我享受25多年来一直很喜欢)。 尽管如此,我有时还是很难理解如何使用标准的JMP许可证来满足不断增长的分析和可视化需求。 我仍然希望有一种使用标准JMP来创建关键字共现网络图的合法方法,以将具有完全交互性并可以另存为JMP表脚本的术语进行分组。 我不知道该怎么做。 考虑到我正常的阅读JMP文档,搜索JMP社区帖子以及仅靠自己进行试验的过程,我无法弄清楚该如何做。 如果没有JMP Pro许可证就无法完成,那么我会让它漂移并将这种图形类型排除在我的可视化范围之外。
很抱歉得到您的长时间回复。 如果JMP的任何人都想在无法负担JMP Pro的情况下考虑如何使用标准JMP的一些策略,那么我将建议您一些建议(似乎是一个不错的博客主题)。 也许这不是此讨论板的主题。 如果不是,我对此表示歉意。 如果有人对此有任何建议,请随时通过caseylott@ymail.com与我离线。