R을 이용한 검색 랭킹과 검색 클러스터링 초간단 구현

KoNLP와 같이 쓰면 정말 좋은 R 패키지중에 tm이라는 아주 좋은 패키지가 있다. R에서 텍스트 분석을 한다면 이 패키지를 반드시 쓰게 되어 있다. 이 패키지의 가장 큰 장점은 텍스트를 숫자로 표현하는 대표적인 방법인 Term Document Matrix를 만들어 준다는 것이다. 이것으로 뭘 할지는 이후의 분석에 달려 있겠지만 일단 숫자로 변환된 텍스트는 다른 어떤 R패키지들을 활용하든지 적절한 통계적 […]

계속 읽기

R 배치 프로그램 작성시 문제들과 나의 해결책

R로 분석을 하고 나서 주기적으로 돌아가는 배치 프로그램을 작성할 경우가 많다. 이 배치 프로그램을 제작하는 것은 사실 분석 프로그램을 작성하는 것과는 사뭇 다른점이 있으며, 이 부분을 제외하고 나서도 다른 언어하고 상당히 다른 동작을 하는 부분을 쉽게 찾을 수 있다. 가장 먼저 난감했던 점은 대다수의 프로그래밍 언어들이 다른 소스 스크립트나 리소스들을 참조할 때 메인 스크립트 소스파일의 […]

계속 읽기

라즈베리 파이로 R cran 로컬 미러 만들어서 사용하기

라즈베리 파이로 R cran 로컬 미러 만들어서 사용하기 전에 국가기관에 다니는 분이 이와 비슷한 질문을 하신 분이 있었고, 나도 역시 외부 프로젝트 나갈때를 대비해 이런 준비를 할 필요성을 느꼈는데, 이제야 좀 감이 잡혀서 글을 써본다. 문제는 이거다. 외부 네트웍이 전혀 안되는 곳에서 R 패키지 설치하기가 매우 번거롭다. 내 경우엔 필요한 모든 패키지를 USB로 다운 받아가서 […]

계속 읽기

ggthemes 예제들

ggthemes 참고용 이미지들… 패키지에서 제공한 예제 코드들에 대해서 실행한 결과물을 함께 올렸다. 필요할때 찾아서 쓰자! 개인적으론 theme_economist가 제일 맘에 드네.. library(ggthemes) dsamp <- diamonds[sample(nrow(diamonds), 1000), ] (qplot(carat, price, data = dsamp, colour = clarity) + theme_solarized() + scale_colour_solarized("blue")) ## Dark version (qplot(carat, price, data = dsamp, colour = clarity) + theme_solarized(light = FALSE) + scale_colour_solarized("blue")) […]

계속 읽기

Sampling-Importance-Resampling algorithm

Sampling-Importance-Resampling algorithm 어제에 이어 Sampling-Importance-Resampling algorithm 코드를 올려본다. 물론 책의 코드를 참고했는데, R코드를 구현하다 보니 거의 pseudo코드에 근접하는 것을 알 수 있었다. 이는 시뮬레이션과 데이터에 최적화된 R의 특징 때문이라 생각된다. 특히나 가중치 값에 따라 resampling하는 부분이 함수 하나로 치환되었고 컴퓨팅 속도도 무척 빨라졌다. weight값에 따라 재 샘플링하는 부분이 어떻게 동작하는지 comment된 부분을 참고하는 것도 좋을거 […]

계속 읽기

Rejection Sampling 시뮬레이션

rejection sampling 겨울학교에서 Gibbs Sampling 방법론에 대한 내용이 나와서 이게 바이오정보학과목에서 본거 같은데 확실한 의미를 몰라서 찾아보다가 여러 샘플링 기법에 대해서 살펴보고 있다. 대부분 복잡한 확률 모델들은 확률값을 추론하기가 힘들다. 이 때문에 여러 샘플링 방법을 사용해서 확률값을 근사하는게 되는데, 책을 보다가 책에 있는 코드를 기반 R로 시뮬레이션을 해봤다. 함수가 있는데 이런식으로 시뮬레이션 샘플링을 하는 이유는 […]

계속 읽기

iris 데이터에 대한 베이지언 분류기 토이 예제

패턴인식 겨울 학교 첫날에 정규분포를 가정한 데이터에 대한 베이지언 분류기를 만들어 보는 토이 예제가 나와서 간단하게 R로 구현해 봤다. 몇몇 함수를 먼저 정의할 필요가 있다. 특히나 공분산 행렬을 만드는… 물론 R은 cov()라는 공분산 행렬을 만드는 함수가 있으나 목적상 직접 만들어 보자. # 학습셋과 테스트셋을 구분 set.seed(1234) idx <- sample(1:50, size = 45) sub_set_train <- subset(iris, […]

계속 읽기

패턴인식 겨울학교 2013

오늘 관련 발표자료를 받아 봤는데, 발표자도 작년과 크게 다르지 않고 발표 자료도 업데이트 되는 수준인거 같다. 그래도 새로운 발표자분들이 오셔서 약간 기대는 하고 있다. 예상과 다르게 패턴인식 겨울학교가 빨리 마감되었는데, 너무 많이 등록해서 오프라인 등록도 받지 않는다 한다. 그럼 거의 참석자들은 정해졌다고 볼 수 있는데, 참석자분들의 소속이 어디인지 궁금해서 살짝 시각화를 해봤다. 관련 기술에 대한 […]

계속 읽기

knitr를 이용한 워드프래스 포스팅하기

이제 블로깅도 R + knitr + Markdown으로… 개요 지난 금요일 오후 늦게부터 토요일까지 이 블로그를 서비스하는 호스팅 서버에 문제가 생겼다. 다른때였으면 큰 문제가 되지 않았을텐데, 반드시 블로그를 통해서 디버깅을 해야될 상황이 겹친것이었다. knitr 개발자가 새로 인코딩 옵션이 들어간 함수의 버그 패치를 빨리 해달라는 메일을 받고 그나마 정신이 없는 상황에 호스팅 서비스에 대한 증오는 정말 시간이 […]

계속 읽기