あなたは、多分、このように、関連する何かを得ることができます。 そして、それはテーブルに接続されています。 そしてプロではありません。
クラスタリングからのコンスタレーションプロット
// 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 )}))
);こんにちはクレイジ、
これは素晴らしいです! 私はJSLの専門家ではありませんが、データを処理することができました。 方法がわからないのは、ドキュメントの用語マトリックスの用語に列名を使用するラベル識別子を作成することだけです。 私のドキュメント用語マトリックスには252列があります。 各列名は、語幹値と接尾辞TFIDF2で自動フォーマットされます。 たとえば、1つの列の名前は「distribut・TF IDF 2」で、別の列の名前は「mountain・TFIDF2」です。 星座ポイントのラベルを、接尾辞を付けずに語幹の用語にしたいのです(例:distribut・またはmountain・)。 ドキュメント用語マトリックスの列名の値をポイントラベルとして使用する簡単な方法はありますか?
このスクリプトを提供していただき、ありがとうございます。
ケーシー
よく分かりません;各行について、その行の3つまたは4つの最も重要な単語(列名)が必要であり、それらが最大の価値を持つものである可能性があると思います。 いくつかの行を見ると、それは正しく見えますか? もしそうなら、そのラベル列を作成することは前処理ステップの多くではないでしょう。
一度に1行を使用することは、正しい答えではない場合があります。これは、図の隣人と共通の単語である必要はありません。 2つの空間的な隣人がいくつかの単語を共有しない限り。
こんにちはクレイジ、
送信したスクリプトがDTMの値を使用して、ドキュメント間の用語の同様の使用法に基づいてドキュメントのクラスターを作成していることに気付きました。 この場合、各ノードはドキュメントを表し、各リンクはクラスター分析からの距離値に基づいています。 少し違うことをしようとしています。
このようなコンスタレーショングラフを作成したいと思います。各ノードはDTMのTERMを表し、各リンクはキーワードの共起を説明するある種の統計に基づいています。 これは私の専門知識をはるかに超えています。 私はそのようなプロットのアイデアが大好きですが、用語がノードになる場所でクラスター分析を実行できるように、DTMを何らかの方法で再フォーマットすることが適切かどうか(またはこれをどのように行うか)はわかりません。 これにより、インタラクティブなデータ視覚化でグローバルフィルターとして使用できる用語の関連性に基づいてJMPでグラフィックを作成するという私の目標を達成できます。 ただし、この種のエンドアラウンドは、テキスト分析のベストプラクティスに基づいていないグラフィックを作成しますか? この分野を理解している人にとって、このクラスター分析の使用は、キーワードの共起を説明するのに不適切でしょうか? もしそうなら、誰かがJMPで(このタイプの分析のための適切な統計的方法を使用して)キーワード共起分析を行うことができる何かを構築しましたか?これについてコミュニティからのフィードバックを聞くことに興味があります。 元の投稿が明確でなかったことをお詫びします。 クレイジ、ドキュメントをクラスター化する必要がある場合は、最初の応答で送信したスクリプトを必ず使用します。 ありがとうございました。
に追加するだけ@Craige_Hales '潜在クラス分析を使用して行(ドキュメント)をグループ化し、潜在意味分析を使用して列(用語)をグループ化できるようにします。 これらのプラットフォームは、[分析]> [多変量メソッド]で利用できます。 (これらはJMP Proのテキストエクスプローラーにも組み込まれており、専用です。)JMPのドキュメントを参照してください...
JMPには、連携して機能する強力なプラットフォームがたくさんあるという考え方です。 私の例えはグラフ電卓です。 ボタンはたくさんあり、仕事を成し遂げるのに複数のボタンが必要になることがよくあります。 つまり、「すべてを実行する」ボタンは1つではありませんが、そこに到達することはできます。 カスタムアプリケーションを再作成するのではなく、最初のアプローチとしてJMPを学ぶ必要があります。 なぜ車輪の再発明をするのですか?
私は1994年からJMPのロイヤリストを務めているので、それが多くの長所であり、さまざまな経路を介してさまざまな問題をどのように解決できるかを認識しています(これは私が気に入っていることの1つです)。 私はいつもJMPから始めます。 私の専門家コミュニティはRユーザーによって支配されています。 彼らはあらゆる種類の分析を行うことができますが、インタラクティブなデータ視覚化を作成するRの能力(私のもの)は、JMPと同じリーグにさえありません。 だから、私はJMPに固執します。 ただし、統計手法が進化するにつれて、新しい分析の大部分はRまたはJMP Proを介してのみ可能になりますが、標準のJMPライセンス(たとえば、さまざまなテキスト分析プラットフォーム、私の分野で標準的な方法である基本的なモデル選択手順)を使用することはできません。 )。 これにより、JMPで全体的な分析を開始し、終了することが難しくなります。 JMP Proと標準のJMPがさらに離れていくにつれて、標準のJMPライセンスで解決できる問題の解決策についてコミュニティに相談していることに気づきました。Craigeの投稿は、標準のJMPでDTMを使用してドキュメントをグループ化する方法を見つけるのに役立つコミュニティの優れた例でした。 私の最近の投稿では、標準のJMPでDTMを使用して用語をグループ化できる同様のソリューションがあるかどうかを尋ねました。
この特定のケースでは、キーワードの共起ネットワークグラフィックを、標準のJMPで作成した既存のインタラクティブな視覚化に組み込みます。私は車輪の再発明をしようとしているとは思わない。 私は、標準のJMPライセンスの機能の壁にぶつかっている(多分)か、これを実現する方法に関する知識/創造性の欠如(より可能性が高い)のどちらかだと思います。JMPProを買う余裕はありません。 これが私の現実であり、すぐに変わることはないと思います。 あなたが言及した潜在クラス分析と潜在意味分析プラットフォームはどちらもJMPProでのみ利用可能です。 標準のJMPライセンスの機能について質問し、JMP Proでしかできないことを示す応答を受け取った場合、それは実際には役に立ちません。 私の質問がJMPProユーザーの問題の解決に役立つことを嬉しく思いますが、標準のJMPで、より多くの創造性と知識(JMPユーザーコミュニティの2つの驚くべき品質)を必要とする何かをしようとするという当初の難問が残っています。私は自分で所有しています。
JMP、JMPのテクニカルサポートスタッフ(素晴らしい)、そしてこのユーザーコミュニティに感謝します。 私の予算がかつてないほど大きくなるまで、私はおそらく、標準のJMPライセンスを使用して物事を成し遂げるための創造的な方法についてここで質問し続けるでしょう(それは時々限界を押し上げるかもしれません)。 私は、最初にJMPを学ぶ必要があるというMarkに同意します(私は25年以上にわたってJMPを楽しんでいます)。 それでも、標準のJMPライセンスを使用して、拡大する分析と視覚化のニーズを満たす方法を理解するのに苦労することがあります。 標準のJMPを使用して、完全な対話性を持ち、JMPテーブルスクリプトとして保存できる用語をグループ化するためのキーワード共起ネットワーク図を作成する正当な方法があることを今でも望んでいます。 これを行う方法がわかりません。 JMPドキュメントを読んだり、JMPコミュニティの投稿を検索したり、自分で実験したりする通常のプロセスを考えると、これを行う方法を理解できませんでした。 JMP Proライセンスなしでは実行できない場合は、ドリフトさせて、このグラフタイプを視覚化から除外します。
長い返答でごめんなさい。 JMP Proを購入する余裕がない場合に、JMPの誰かが、標準のJMPを使用する方法についていくつかの戦略を検討したい場合は、いくつかのアドバイスが必要です(良いブログトピックのようです)。 おそらく、それはこのディスカッション掲示板のトピックではありません。 そうでない場合はお詫び申し上げます。 誰かがこれについて提案を持っているならば、caseylott @ ymail.comで私にオフラインで遠慮なく連絡してください。