글

연관규칙(Association Rule) 검색 - 초간단 튜토리얼

설치 저는 apriori 알고리즘으로 연관규칙 마이닝을 해보렵니다. 적합한 패키지는 {arules}입니다. 먼저 CRAN으로부터 필요한 것들을 내려받습니다. R> install.packages("arules") 거래명세서 연관규칙은 IF ... THEN ... 이라는 규칙에 따라 만들어집니다. 예를 들어 "사과를 구입했다면 주스를 구입한다."는 식입니다. 연관규칙을 생성하려면 규칙을 확률적으로 생성할 수 있도록 명세서를 줘야 합니다. 이를 특히 거래명세서라고 부릅니다. 거래명세서 오브젝트(transaction)를 여러 방법으로 만들어 봅시다. list 형태의 데이터 직관적이고 간편한 방법입니다. R> shopping_list = list(c("juice","coke")                                      ,c("milk","juice","soap")                                      ,c("juice","soap")                                      ,c("juice","soap","coke")                                 ...

Web Harvesting + Dynamic HTML 다루기

# TripAdvisor_review_image ------------------------------------------------ library(rvest) library(RSelenium) library(foreach) #웹주소 # 함수 ---------------------------------------------------------------------- expandMore <- function(wdd) {   eles = wdd$findElements(using='css selector','span.moreLink')   a=foreach(ele=eles) %do% tryCatch(ele$clickElement(),error=function(e){}) } goNextReviewPage <- function(wdd) {   result <- tryCatch({     nextBtn = wdd$findElement(using='css selector','a.nav.next')     nextBtn$clickElement()     return(TRUE)   },error=function(e){     return(FALSE)   })   result } # Headless PhantomJS ------------------------------------------------------ pjs <- phantom() # Web Harvesting ---------------------------------------------------------- url = "http://www.tripadvisor.com/Restaurant_Review-g35805-d570063-Reviews-or20-Alinea-Chicago_Illinois.html#REVIEWS...

인터넷에서 그림 다운로드 받기

이미지
이달 초에 아주대에서 특강을 했습니다. 그때 수업을 듣던 학생이 질문을 합니다. "어떻게 하면 인터넷에 있는 이미지를 다운로드 받지요?" 간단한 예를 들어보겠습니다. http://images.all-free-download.com/images/graphiclarge/disappearing_city_554541.jpg 이 주소의 이미지는... R에서 다운로드 받겠습니다. R> photo.url = "http://images.all-free-download.com/images/graphiclarge/disappearing_city_554541.jpg" R> download.file(photo.url,"free_sample.jpg",quiet=TRUE,mode='wb') free_sample.jpg라는 이름으로 다운로드 받았습니다.

dplyr tutorial (Korean)

이미지

고려대학교 특강 강의자료

R프로그래밍 기초 1강 2강 3강 4강 R과 기초통계 문서자료 동영상자료

logit regression의 chi-square fit과 pseudo R-square

glm으로 logit regression을 만들고, model fit을 확인하려면? 스탠포드 대학의 정치과학계산연구소가 개발한 {pscl}의 pR2() 함수를 쓰면 McFadden의 R^2를 구할 수 있어요. 다음 예제 코드를 실행시켜 보세요. library(MASS) data(menarche) model <- glm(cbind(Menarche, Total-Menarche) ~ Age,family=binomial(logit), data=menarche) if(!require(pscl)) {   install.packages("pscl")   library(pscl) } # pR2()는 {pscl}의 함수 pR2(model)["McFadden"] 결과는  McFadden 0.9706837 97%의 pseudo R^2네요. McFadden's의 알고리즘은 categorical data analysis 책들이나 구글 검색해서 공부해요. ㅋㅋㅋ 모델의 적합도를 보는 다른 방법은 model이 데이터를 설명하는 예측력을 따져보는 것이에요. 이럴 때는 Pearson chi-square를 계산하지요. 1 - pchisq(deviance(model), df.residual(model)) 위의 계산을 보면 chi-square의 p-value를 구하는 것임이 보이지요. 이때 p-value가 유의미하지 않게 나와야 model fit이 있다고 봅니다. 왜냐구요? null hypothesis가 model이 관측치 예측을 잘 한다... 이것이니 reject하면 안되니까요. 이 계산법에는 문제가 있을 수 있어요. Grouped data를 기반으로 한 검정법이라서 covariance가 어느 정도 그룹화된 패턴이 나와야 해요. if(!require("epiR") {   install.packages("epiR")   library(epiR) } m...

R 기본 문법

저는 경영학 전공자에요. 수학이 싫어서 인문계로 온 1인이지요. @.@ 먹고 살기 위해 어쩔수 없이(?) 숫자랑 친하게 지내는 사이지만 실은 숫자 아닌 쪽에 더 정이 가는 것을 어쩔 수 없지요. 숫자 울렁증 있는 당신이 별 수 없이 R을 익혀야 한다면 무엇부터 해야 할까? 네. R은 전자계산기입니다. 계산기 중에서도 똑똑한 편에 속합니다. 사칙연산(더하기, 곱하기, 빼기, 나누기) 당연히 잘 합니다. 그리고 메모리 기능도 있습니다. 사칙연산과 메모리를 활용해서 R을 계산기로 써보겠어요. R의 프롬프트를 R> 이렇게 표시하겠어요. R> 10 +2 [1] 12 R> 10 - 2 [1] 8 R> 10 * 2 [1] 20 R > 10 / 5 [1] 2 R> -10 + 15 [1] 5 사칙 연산에 문제 없고, 메모리와 괄호도 써보지요. R> m1 <- (10+10)*2 + 10 R> m1 [1] 50 R> m1 / 5 [1] 10 계산기에서 MR과 같은 기능은 함수 rm()이 해요. 메모리를 지워보지요. R> rm(m1) 이외에도 수학함수들을 지원해요. 자연로그 log10() 로그 log() 절대값 abs() 제곱근 sqrt() 지수 exp() 반올림 round() 올림 floor() 내림 ceiling() sin() cos() tan() asin() acos() atan()