Posts

Showing posts from September, 2013

R 語言筆記

記錄一下今天用 R 撰寫因為統計需要的 scripts 遇到的問題。(雖然這些計算用 python 不消幾分鐘的事情... lol) 1. 常用指令:     getwd(), setwd(), source() ... 2. 對於預設路徑的解決方法。由於直接開起 RGui 的話,預設路徑皆為 "C:\USERS\..."     替代方法:      1. 將 RGUI.EXE的路徑加入環境變數      2. 使用 CMD CONSOLE, 在指定路徑下執行  RGUI.EXE 3. 讀取 CSV:     read.csv("FILENAME") 4. 讀取某個column:     若column name 簡單的話(像是 User, Quality, amount)          ex. df#[COLUMN_NAME]     或是透過涵式 colnames(df) 取得          ex. colnames(df) 5. 檢查是否有 NA 值:     is.na(df$QUALITY)     *另外函數像 sum, max, mean都有參數可以讓 user 自動避掉 NA 值。(避掉而非刪除)     ex. sum(QUALITY, na.rm=TRUE) 6. 針對 large size 的檔案讀取, 用一般 read.csv 或 read.table 效率極差。 myline <- scan("rawdata.csv", sep=",") # cost 2.6(s) rm <- matrix(myline, length(myline)/3, 3, byrow=TRUE, ) dimnames(rm) <- list(NULL, c("user", "mid", "rank")) class(rm) <- "numeric" dfrm <- as.data.frame(rm) #若不作 matrix to dataframe 轉換, cast 會出錯 library(reshap

Introduction to Recommendation 心得[1]

Image
[*** 以下為個人理解,如有錯誤歡迎指證 ***] [***This article may contain mistakes and thus any correction is greatly appreciated***] 因為學長推薦, 最近在 coursera 上一門叫「Introduction to Recommendation」的課,了解像 amazon, facebook, youtube, rakuten 等是怎麼預測並推薦你會想知道的資訊。 一開始當然遇到很多詞彙要澄清,這裡記錄一下: 1. unstructured data  指的是結構未知(廢言)的資料(通常是text, 但包括audio與video)。舉例來說像是對只懂中文的人來說,與他們說中文以外的語言,由於每個詞彙的語意不明,於是對方的話就成了 unstructured data ... *所以 structured data 的代表就像是 RDBMS,就是資料庫啦! *生活上為懂他國語言(unstructured data),我們從單辭文法上著手。在計算機裏頭使用NPL自然語言去找出辭意。 2. information retrieval 有別於NPL了解每個詞的意義,IR採用統計的規律性而非了解字義。這是一種猜,不過是很統計的猜法!最常使用的是 TFIDF (term frequency inverse document frequency)。TF * IDF 被用來評估一個詞彙對於一個文件或整個資料語庫的重要性。簡單說就是一個字在文件中出現的次數越多(TF),同時,在其他文件的次數越少(IDF),則表示這個詞相當具分類的能力。 定義: * static content base * dynamic information need ** invest time in indexing content and then queries will present  in "real time" 3. information filtering 與IR相反,IF是 dynamic content base & static information need。另外之前一直搞混的地方是 IF 強調是系統透過ML將資料主動