我想在我的數據上執行邏輯迴歸R
。 我已經創建了所有的模型變量,並在我的Redshift數據庫的表中將它們置於 的位置。 讓我們參考這個數據庫作爲數據庫,用一個「和表作爲 「表A」在4GB RAM的Latop上運行邏輯迴歸可行嗎
問題陳述
是帶着4 GB RAM
筆記本電腦上運行邏輯迴歸是可行的我不想做
我不想等待我的查詢執行, 並等待它顯示所有記錄。我有大約200萬條記錄。 我對右鍵單擊不感興趣,然後將結果另存爲 CSV文件。我認爲這非常耗時。
我的研究和dplyr包。
我已經通過this關於將R連接到亞馬遜的博客Redshift 它討論通過RJDBC
包建立連接。 我從我的個人筆記本電腦連接到Redshift。我在筆記本電腦上提供了 R版本供您參考。我的筆記本電腦上的version
命令輸出以下內容。
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 2.5
year 2016
month 04
day 14
svn rev 70478
language R
version.string R version 3.2.5 (2016-04-14)
nickname Very, Very Secure Dishes
我能夠創建到紅移的連接。我用tbl
函數創建了一個R對象,指向我在Amazon Redshift中的'表A'。 該sudo代碼是
myRedshift <- src_postgres('Database A',
host = 'Host_name',
port = Portnumber,
user = "XXXX",
password = "XXXX")
my.data <- tbl(myRedshift, "Table A")
這工作正常。我檢查了尺寸。他們是正確的。
我沒有下一個什麼
我試圖使用tbl_df
函數到 my.data
對象的值存儲在中的R的數據幀來執行邏輯迴歸。 但該操作只持續運行超過50分鐘。我中止[R
我也試圖鏈結果爲數據幀作爲
new.data <- my.data %>% select(*)
但是,這給了我的錯誤。我有超過15列,我不想 輸出每列的名稱。
我在網上搜索,並遇到了SparkR
它似乎可以幫助我 我按照this鏈接中提到的說明。但當 我在我的windows cmd
終端上運行.\bin\sparkR
命令。我得到一個 錯誤說
Access is denied
The system cannot find the file 'C:\Users\Name\AppData\Local\Temp'
The system cannot find the path specified.
我應該如何糾正這個錯誤? 在Redshift 中存儲我的表中的數據以便執行邏輯迴歸的有效方法是什麼? 我知道unload
函數輸出管道分隔文件, 我應該問我的IT部門使用卸載功能?
看起來您已成功加載數據框,這與「在R'環境中查找從Redshift的數據庫A中的表A獲取數據的有效方法」相矛盾。看來你的問題更多的是運行邏輯迴歸所花費的時間。回答真正的問題:「在具有4GB RAM的筆記本電腦上進行200萬次觀察後進行邏輯迴歸是否可行?」答案不僅取決於觀察次數,而且還取決於變量的數量以及正在使用的R函數 – SpiritusPrana
請您添加(a)您用於迴歸的公式(b)str()的結果my.data)和(c)用於運行邏輯迴歸的R命令的語法。 – SpiritusPrana
此外,如果您有權訪問分佈式處理羣集,SparkR將爲您提供幫助。 Spark旨在有效地將分析工作負載分佈到集羣中。在筆記本電腦上以本地模式運行時,它不會增加很多效率,甚至可能比基本R功能慢。 – SpiritusPrana