JMP 외부에서 특이값 분해안녕하세요- 저는 오랫동안 JMP를 사용해 온(3.2!) R 초보자입니다. 텍스트 분석은 생태학자인 나에게 처음이지만 텍스트 탐색기 플랫폼을 가지고 노는 것을 정말 즐겼습니다. 약 100개의 벡터에 대한 특이값의 조밀한 행렬에 대해 JMP에서 추가 분석을 수행하기 위해 특이값 분해를 적용하고 싶은 희소 문서 용어 행렬을 생성했습니다. JMP Pro가 없기 때문에 약간의 벽에 부딪혔습니다(구매할 여유가 없습니다). 이것은 희소 문서 용어 행렬을 R로 읽고 일종의 svd 함수를 실행한 다음 새로운 밀집 행렬을 다시 JMP로 읽어야 한다는 것을 의미한다고 생각합니다. 이것은 텍스트 분석에 더 익숙하고 R에 능숙한 사람에게는 쉬운 작업일 수 있습니다. 이 작업을 수행하는 데 사용할 R 패키지를 파악하는 데 어려움을 겪었습니다(여러 가지가 있는 것 같습니다). 여러 패키지에 대한 문서를 살펴보면서 이 작업을 수행하기 위해 어떤 함수와 인수를 사용해야 하는지 알아내느라 애를 먹었습니다. R을 배우기로 결심할 때입니다. JMP는 수년 동안 이러한 불가피한 상황으로부터 저를 보호해 주었습니다. 희소 행렬에서 .csv로 읽을 수 있는 R 조언이나 더 나은 코드를 공유할 수 있는 사람이 있다면 R에서 조밀한 특이 값 행렬을 만든 다음 이 행렬을 새 .csv로 작성하십시오. , 나는 매우 감사하게 될 것입니다. 감사합니다!Re: JMP 외부에서 특이값 분해감사합니다, @G_M . 귀하의 답변을 제 문제에 대한 "해결책"이라고 부르겠습니다. JMP 외부에서 텍스트 분석을 수행하는 것이 유일한 해결책이라고 확신하기 때문입니다. 귀하의 게시물은 JMP에서 R을 호출하는 것이 얼마나 쉬운지 보여주는 데 도움이 되었습니다. 이것은 아마도 두 가지 도구를 통합하는 방법을 배우는 데 전념하는 데 필요한 추진력일 것입니다.
Re: JMP 외부에서 특이값 분해@caseylott R 및 JMP 사용을 시작하는 좋은 방법은 JMP에서 익숙한 결과를 R에서 복제하는 것입니다.
여러분과 마찬가지로 저는 여러 가지 이유로 R보다 JMP를 선호합니다. 사실 저는 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
Re: JMP 외부에서 특이값 분해좋아요, 내가 이해한다면 @Mark_Bailey 올바르게 SVD는 "게임 체인저"입니다. 그러나 JMP로 이 게임을 플레이하려면 JMP Pro가 필요합니다. 이 올바른지?
조금 더 생각해보면, 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를 정말 좋아하고 제 경력 내내 JMP를 사용해 왔습니다. 이것은 변하지 않을 것이지만, 이제 내가 무릎을 꿇고 R을 배울 때인 것 같습니다. 시간을 투자할 가치가 있다는 말을 많이 들었지만 저는 JMP의 대화식 메뉴 중심 워크플로우를 정말 선호합니다.
Re: JMP 외부에서 특이값 분해텍스트 탐색기의 새로운 SVD 루틴은 진정한 게임 체인저이며 추가 텍스트 분석에 필요한 것입니다.
그것이 내가 제공해야 할 전부입니다. 다른 사람들이 DMT 크기를 줄이는 것 외에 몇 가지 유용한 제안이 있기를 바랍니다.
Re: JMP 외부에서 특이값 분해고마워, 마크. JMP(JMP Pro가 아님) 플랫폼에서 잠재 의미 체계 클래스 분석을 사용할 수 있으려면 문서 용어 행렬을 얼마나 축소해야 하는지 테스트하지 않았습니다. 아마도 이 작업을 수행할 수 있고 시도할 것입니다. 하지만 훨씬 더 큰 문서 세트가 있는 경우에는 어떻습니까? 이 문제에 다시 부딪칠 것이라고 예상합니다.
내 원래 평가가 여전히 정확할 수 있다고 생각합니다. 추가 다변량 분석을 위해 조밀한 행렬을 다시 JMP로 읽을 수 있도록 희소 문서 항 행렬(JMP에서 생성됨)을 조밀한 행렬로 변환(R의 특이값 분해를 통해)하는 방법이 여전히 필요한 것 같습니다.
즉, JMP Pro 없이는 JMP에서 특이값의 조밀한 행렬을 생성할 수 없기 때문에 JMP에서 텍스트 분석을 최대한 활용하는 데 한계가 있다고 생각합니다.
누군가 JMP 또는 일부 R 기반 솔루션에서 이 문제를 처리하는 방법에 대한 다른 제안이 있다면 듣고 싶습니다.
Re: JMP 외부에서 특이값 분해첫째, 나는 말을 잘못했다. JMP의 각 버전에 어떤 기능이 있는지, JMP와 JMP Pro의 차이점은 무엇인지 기억하기 어렵습니다. 맞습니다. JMP에서는 PCA 및 잠재 클래스 분석만 사용할 수 있습니다.
두 번째로 크고 희박한 DTM이 Text Explorer 플랫폼 외부의 JMP에 너무 과하지 않을까 두려웠습니다. 용어 목록을 다듬을 수도 있습니다. 일반적으로 용어 및 구문 목록을 큐레이팅하면 기본 매개 변수에 의존하는 것보다 훨씬 더 의미 있는 분석을 수행할 수 있습니다. 이것은 DTM의 크기를 줄이는 한 가지 방법입니다. DTM을 저장할 때 최대 용어 수를 줄이거나 최소 용어 빈도를 늘릴 수도 있습니다.
마지막으로 64비트 JMP를 사용하고 있습니까?
Re: JMP 외부에서 특이값 분해알겠습니다. 제안해 주셔서 감사합니다. 지금까지 작동하지 않는 몇 가지를 시도했습니다. 아마도 내가 뭔가 잘못하고 있는 것 같습니다. 가중 문서 용어 행렬을 저장한 다음 1) 주요 구성 요소 플랫폼 및 2) 잠재 클래스 분석 플랫폼에 대한 y 변수로 입력했습니다. 비 Pro 버전의 JMP에서 잠재 의미 체계 분석에 대한 옵션이 표시되지 않습니다. 이들은 어디에 위치할까요?
기본 구성 요소 플랫폼에서 가중 문서 용어 행렬을 실행하려고 하면 JMP가 회전하고 불가피하게 충돌이 발생합니다.
문서 용어 행렬을 잠재 클래스 분석 플랫폼의 Y 역할에 넣으려고 하면 지원되지 않는 데이터 유형을 사용하고 있다는 메시지가 표시됩니다.
어떤 제안?
Re: JMP 외부에서 특이값 분해JMP와 함께 R을 사용하는 것은 환영하지만 저는 그런 방법이 필요하다고 생각하지 않습니다. 텍스트 탐색기에서 가중 문서 용어 행렬을 저장한 다음 다변량 그룹의 플랫폼을 포함하여 JMP의 모든 플랫폼에서 새 데이터 열을 분석할 수 있습니다. 여기에는 JMP Pro를 사용하지 않는 주성분 분석, 잠재 클래스 분석 및 잠재 의미 체계 분석이 포함됩니다.
TE의 버전은 DTM과 같은 희소 행렬에 최적화되어 있지만 최소한 독립 실행형 플랫폼을 사용하려고 시도해야 합니다.