JMP 之外的奇異值分解您好 - 我是 JMP 的長期用戶(3.2!),並且是 R 語言中一個毫無天賦的初學者。 作為一名生態學家,文本分析對我來說是新事物,但我真的很喜歡玩文本資源管理器平台。 我已經生成了一個稀疏文檔術語矩陣,我想對其進行奇異值分解,以便在 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 的一個好方法是在 R 中復制您在 JMP 中熟悉的結果。
和你一樣,我更喜歡 JMP 而不是 R,事實上,我在 2009 年向執行團隊展示結果時使用了 R
與往常一樣,主管還有其他問題,(我沒有預料到,我在這方面做得更好),我不能只是
在 R 中生成新的分析,live。我要求 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 之外的奇異值分解好的, 如果我明白@Mark_Bailey正確地,SVD 是一個“遊戲規則改變者”;但是,您需要 JMP Pro 才能使用 JMP 玩這個遊戲。 這個對嗎?
再想一想,似乎 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,並且在我的整個職業生涯中都在使用它。 這不會改變,但似乎是我該認真學習 R 的時候了。 有人告訴我這值得我花時間,但是該死,我真的更喜歡 JMP 的交互式、菜單驅動的工作流程。
回复:JMP 之外的奇異值分解文本資源管理器中的新 SVD 例程是一個真正的遊戲規則改變者,這正是進一步的文本分析所需要的。
這就是我所能提供的。 我希望其他人除了減小 DMT 的大小之外,也有一些有用的建議。
回复:JMP 之外的奇異值分解謝謝,馬克。 我還沒有測試在縮小文檔術語矩陣方面需要走多遠才能在 JMP(不是 JMP Pro)平台中使用潛在語義類分析。 也許我可以完成這項工作,我會嘗試,但是當我有一個更大的文檔集時呢? 我預測我會再次遇到這個問題。
我認為我最初的評估可能仍然是正確的。 似乎我仍然可能需要一種方法將我的稀疏文檔術語矩陣(在 JMP 中創建)轉換為密集矩陣(通過 R 中的奇異值分解),以便我可以將密集矩陣讀回 JMP 以進行額外的多變量分析。
換句話說,我認為如果沒有 JMP Pro,我無法在 JMP 中創建密集的奇異值矩陣,這確實限制了我在 JMP 中進行文本分析的能力。
如果有人對如何在 JMP 中處理這個問題有任何其他建議,或者可能有一些基於 R 的解決方案,我很想听聽他們的意見。
回复:JMP 之外的奇異值分解首先,我說錯了。 我很難記住每個 JMP 版本中有哪些功能以及 JMP 和 JMP Pro 之間的所有差異。 您是對的:JMP 中只有 PCA 和潛在類分析可用。
其次,我擔心對於文本資源管理器平台之外的 JMP 來說,大而稀疏的 DTM 會太大。 您可以嘗試修剪術語列表。 通常,與依賴默認參數相比,整理術語和短語列表可以帶來更有意義的分析。 這是減小 DTM 大小的一種方法。 您還可以在保存 DTM 時減少最大術語數或增加最小術語頻率。
最後,您使用的是 64 位 JMP 嗎?
回复:JMP 之外的奇異值分解好的,謝謝你的建議。 到目前為止,我已經嘗試了幾件事,但都沒有奏效。 也許我做錯了什麼。 我保存了加權文檔術語矩陣,然後將其作為 y 變量輸入:1)主組件平台和 2)潛在類分析平台。 在我的非專業版 JMP 中,我沒有看到任何潛在語義分析選項。 這些將位於哪裡?
當我嘗試在主組件平台中運行加權文檔術語矩陣時,JMP 只是旋轉並不可避免地崩潰。
當我嘗試將文檔術語矩陣放入潛在類分析平台中的 Y 角色時,我收到消息說我正在使用不受支持的數據類型。
有什麼建議麼?
回复:JMP 之外的奇異值分解歡迎您將 R 與 JMP 一起使用,但我認為沒有必要這樣做。 您可以從文本資源管理器中保存加權文檔術語矩陣,然後使用 JMP 中的任何平台分析新數據列,包括多變量組中的那些。 這包括沒有 JMP Pro 的主成分分析、潛在類分析和潛在語義分析。
請注意,TE 中的版本針對 DTM 等稀疏矩陣進行了優化,但您至少應該嘗試使用獨立平台。