JMP 之外的奇異值分解你好 - 我是 JMP 的長期用戶(3.2!),也是 R 中一個非常沒有天賦的初學者。 作為一名生態學家,文本分析對我來說是個新事物,但我真的很喜歡使用 Text Explorer 平台。 我生成了一個稀疏文檔術語矩陣,我想對其進行奇異值分解,以便在 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 的一個好方法是複制您在 JMP 中熟悉的 R 結果。
和您一樣,我更喜歡 JMP 而不是 R,原因有很多,事實上,我早在 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
回复:JMP 之外的奇異值分解好的, 如果我明白@馬克貝利正確地說,SVD 是一個“遊戲規則改變者”;但是,您需要 JMP Pro 才能使用 JMP 玩這個遊戲。 它是否正確?
進一步思考這個問題,似乎 JMP(非專業版)不允許我在視頻中看到或在博客中讀到的任何文本分析功能:潛在類分析、潛在語義分析、主題分析、判別分析、文檔聚類或術語聚類。 作為 JMP 的長期用戶,我買得起 JMP 但買不起 JMP Pro,我仍在努力找出更有效的後續步驟。
例如,如果我能夠生成一個奇異值矩陣(例如,在 R 中的 JMP 之外)並將該矩陣帶回 JMP,我似乎仍然無法使用這些分析,至少不能直接使用,因為我這樣做了甚至沒有任何這些分析平台的菜單項(通過 Text Explorer 熱點)。 我只是對統計細節知之甚少,無法理解嘗試使用標準主成分或集群平台在 JMP 中復制這些類型的文本分析是否是個好主意。 例如,我剛剛看到一個帖子@勞拉CS她說“潛在語義分析 (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 之外的奇異值分解Text Explorer 中的新 SVD 例程是真正的遊戲規則改變者,也是進一步文本分析所需要的。
這就是我所能提供的。 我希望其他人除了減少 DMT 的大小之外還有一些有用的建議。
回复:JMP 之外的奇異值分解謝謝,馬克。 我還沒有測試我需要在多大程度上縮小我的文檔術語矩陣才能在 JMP(而非 JMP Pro)平台中使用潛在語義類分析。 也許我可以完成這項工作,我會嘗試,但是當我有更大的文檔集時怎麼辦? 我預測我會再次遇到這個問題。
我認為我最初的評估可能仍然是正確的。 似乎我可能仍然需要一種方法將我的稀疏文檔術語矩陣(在 JMP 中創建)轉換為密集矩陣(通過 R 中的奇異值分解),以便我可以將密集矩陣讀回 JMP 以進行額外的多元分析。
換句話說,我認為我無法在沒有 JMP Pro 的情況下在 JMP 中創建奇異值的密集矩陣,這確實限制了我在 JMP 中進行文本分析的能力。
如果有人對如何在 JMP 中處理此問題有任何其他建議,或者可能有一些基於 R 的解決方案,我很樂意聽取他們的意見。
回复:JMP 之外的奇異值分解首先,我說錯了。 我很難記住每個版本的 JMP 中有哪些功能以及 JMP 和 JMP Pro 之間的所有差異。 您是對的:JMP 中僅提供 PCA 和潛在類別分析。
其次,我擔心大而稀疏的 DTM 對於 Text Explorer 平台之外的 JMP 來說太過分了。 您可以嘗試修剪術語列表。 一般來說,整理術語和短語列表比依賴默認參數可以進行更有意義的分析。 這是減小 DTM 大小的一種方法。 您還可以在保存 DTM 時減少最大術語數或增加最小術語頻率。
最後,您使用的是 64 位 JMP 嗎?
回复:JMP 之外的奇異值分解好的,謝謝你的建議。 到目前為止,我已經嘗試了一些沒有用的東西。 也許我做錯了什麼。 我保存了加權文檔術語矩陣,然後將其作為 y 變量輸入:1) 主成分平台和 2) 潛在類分析平台。 在我的非專業版 JMP 中,我沒有看到任何潛在語義分析選項。 這些將位於何處?
當我嘗試在主成分平台中運行加權文檔術語矩陣時,JMP 只是旋轉並不可避免地崩潰。
當我嘗試將文檔術語矩陣放入潛在類分析平台中的 Y 角色時,我收到消息說我正在使用不受支持的數據類型。
有什麼建議麼?
回复:JMP 之外的奇異值分解歡迎您將 R 與 JMP 結合使用,但我認為這種方式不是必需的。 您可以從文本瀏覽器中保存加權文檔術語矩陣,然後使用 JMP 中的任何平台(包括多變量組中的平台)分析新數據列。 這包括不使用 JMP Pro 的主成分分析、潛在類分析和潛在語義分析。
請注意,TE 中的版本針對 DTM 等稀疏矩陣進行了優化,但您至少應嘗試使用獨立平台。