아마도 이와 같은 관련 정보를 얻을 수 있습니다. 그리고 그것은 테이블에 연결됩니다. 그리고 Pro가 아닙니다.
클러스터링의 별자리 플롯
// 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, 문서를 클러스터링해야 할 때 첫 번째 응답에서 보낸 스크립트를 확실히 사용할 것입니다! 감사합니다.
그냥 추가 안녕하세요. '잠재 클래스 분석을 사용하여 행 (문서)을 그룹화하고 잠재 의미 분석을 사용하여 열 (용어)을 그룹화 할 수 있습니다. 이러한 플랫폼은 분석> 다변량 방법에서 사용할 수 있습니다. (또한 JMP Pro의 텍스트 탐색기에 내장되고 특수화되었습니다.) JMP 설명서를 참조하십시오 ...
아이디어는 JMP가 함께 작동하는 강력한 플랫폼을 많이 가지고 있다는 것입니다. 내 비유는 그래프 계산기입니다. 버튼이 많고 작업을 완료하려면 두 개 이상의 버튼이 필요한 경우가 많습니다. 즉, '모든 것을 수행하는'버튼이 하나도 없지만 거기에 도달 할 수 있습니다. 사용자 지정 응용 프로그램을 다시 만드는 대신 첫 번째 방법으로 JMP를 배워야합니다. 바퀴를 다시 발명하는 이유는 무엇입니까?
저는 1994 년부터 JMP 충성 주의자였습니다. 그래서 저는 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 사용자 커뮤니티의 두 가지 놀라운 특성)이 필요한 작업을 수행하려는 원래의 수수께끼가 남아 있습니다. 나는 스스로 소유하고있다.
JMP, JMP의 기술 지원 직원 (놀라운 사람), 그리고이 사용자 커뮤니티에 감사드립니다. 내 예산이 그 어느 때보 다 커질 때까지 표준 JMP 라이선스를 사용하여 작업을 수행하는 창의적인 방법에 대해 여기에서 계속 질문 할 것입니다 (때로는 한계를 뛰어 넘을 수 있음). JMP를 먼저 배워야한다는 Mark의 의견에 동의합니다 (25 년이 넘도록 즐겼습니다). 그래도 표준 JMP 라이선스로 확장되는 분석 및 시각화 요구 사항을 충족하는 방법을 이해하는 데 때때로 어려움을 겪고 있습니다. 나는 여전히 표준 JMP를 사용하여 키워드 동시 발생 네트워크 다이어그램을 만들어 완전한 상호 작용이 있고 JMP 테이블 스크립트로 저장할 수있는 용어를 그룹화하는 합법적 인 방법이 있기를 바라고 있습니다. 나는 이것을하는 방법을 모른다. JMP 문서를 읽고, JMP 커뮤니티 게시물을 검색하고, 직접 실험하는 일반적인 프로세스를 감안할 때이 작업을 수행하는 방법을 알아낼 수 없었습니다. JMP Pro 라이선스 없이는 수행 할 수없는 경우 드리프트를 허용하고이 그래프 유형을 시각화에서 제외합니다.
긴 답변에 대해 죄송합니다. JMP의 누군가가 JMP Pro를 감당할 수 없을 때 표준 JMP를 사용하는 방법에 대한 몇 가지 전략을 고려하고 싶다면 몇 가지 조언을 듣고 싶습니다 (좋은 블로그 주제처럼 보임). 이 토론 게시판의 주제가 아닐 수도 있습니다. 그렇지 않다면 사과드립니다. 누구든지 이것에 대한 제안이 있으면 caseylott@ymail.com으로 저에게 오프라인으로 연락하십시오.