RStudio for Keras 그리고 GPU

이미지
This post is to help students who have issues on Keras for R during installation. If you have GPU but stuck in errors, consider the following. Sample codes are created under Windows 10. For your information, I used a computer with a preinstalled NVidia driver and a CUDA toolkit. In addition, you need Anaconda prior to install Keras for R. 설치 과정에서 생기는 몇 가지 문제점에 대응하기 위한 팁을 올려둡니다. NVidia 계열의 GPU가 있다고 합시다. 윈도우 사용자를 기준으로 설명드립니다. Anaconda가 설치되어 있어야 합니다. 제 경우에는 NVidia 드라이버와 CUDA가 모두 사전에 설치되어 있습니다. 먼저 Rstudio에서 정상적으로 keras를 설치하면 됩니다. install.packages("keras") library(keras) install_keras(method='conda', tensorflow='gpu') 이제 Anaconda 콘솔을 실행합니다. 다음 명령을 입력합니다. activate r-tensorflow 이제 콘다 환경이 r-tensorflow로 바뀝니다. anaconda 채널에서 tensorflow-gpu를 가져와 설치합시다. conda install -c anaconda tensorflow-gpu numpy 버전을 바꿉니다. pip uninstall numpy pip install --upgrade numpy==1.16.1 설치가 완료되었습니다. RStudio로 돌아가서 샘플 코드를 실행해 봅시다. library(keras) use_condaenv("r-te...

tidytext와 KoNLP 함께 사용하기

이미지
여러분 안녕하세요? 코딩하다가 여러분도 필요할 것 같아서 공유드립니다. 최근 Julia Silge가 내놓은 tidytext가 선풍적인 인기를 끌고 있습니다. LSTM을 사용하는 사람에게는 거의 필수품이 되고 있습니다. UT Austin 출신의 닥터 Silge의 노력으로 tidyr과 tibble 계열의 기술들이 새롭게 가치평가 받고 있다고 봅니다. 문제는... 한글 처리는 전혀 안되기 때문에... 그래도 우리에게는 koNLP가 있습니다. 오늘은 koNLP, stringr과 함께 tidytext를 함께 사용하는 방법에 대해서 소개 드리겠습니다. library(tidytext) library(dplyr) library(KoNLP) library(stringr) 필요한 것들을 다 불러왔네요. 그럼 분석할 대상을 좀 보죠. temp.text=tibble(lineid=1:3,   text=c(" 한국 ( 韓國 ), 조선 ( 朝鮮 ), 또는 코리아 (Korea) 는 동아시아에 위치한 지역 또는 헌법상의 국가로 , 현대사에서는 한반도의 대한민국과 조선민주주의인민공화국을 통틀어 이르는 말이다 .",          " 근현대사에서 한국은 고종이 수립한 대한제국을 일컫는 말이었다 .",          " 넓은 의미로 한국은 고조선 이후 한반도에서 설립된 여러 한민족의 국가를 통칭하는 말이다 . 한국의 역사를 한국사라고 한다 ." temp.text를 분석하겠습니다. 몇 가지 stopping word 처리를 위한 데이터를 만들어보겠습니다. stopping_ko_end=regex(" 입니다 $| 이다 $") stopping_ko=tibble(word=c(' 이 ',' 가 ',' 은 ',' 는 ')) 이제, temp=temp.t...

IP 데이터에서 국가 별 R로 위치 데이터 구하기

Country level geolocation data using R based on IP addresses 여러분이 IP 주소를 가지고 있다고 하자. Now let's assume you have an IP address. 예를 들어 125.209.222.141. For example, the address is 125.209.222.141, which is Naver.com. 이 주소는 Naver.com의 IP주소이다. 어느 나라의 IP인지 확인해보자. Let's find out the geolocation of this site especially which country it is! 우선 우리는 rgeolocate 패키지를 필요로 한다. First, we need {rgeolocate}, R pakcage. 설치하고 다음과 같이 따라해보자. Install it by yourself, and let's do the following: > library(rgeolocate) > geofile=system.file("extdata","GeoLite2-Country.mmdb",package="rgeolocate") > maxmind("125.209.222.141",geofile) 결과는 The result is,   continent_name      country_name country_code 1           Asia Republic of Korea           KR

tidyverse 특집 / dplyr, 변수의 이름에 따라 숫자로 데이터 바꾸기

library(dplyr) 데이터가 다음과 같다고 합시다. df=tibble(   m=c('A','B','C'),   x1=c('10','20','30'),   x2=c('100','200','300'),   yx1=c('1000','2000','3000') ) 형태를 보겠습니다. df # A tibble: 3 x 4   m     x1    x2    yx1     <chr> <chr> <chr> <chr> 1 A     10    100   1000  2 B     20    200   2000  3 C     30    300   3000  이제 x로 시작하는 모든 변수의 데이터를 문자에서 숫자로 바꾸고 싶다면? df%>%mutate_at(vars(matches('^x')),as.numeric) # A tibble: 3 x 4   m        x1    x2 yx1     <chr> <dbl> <dbl> <chr> 1 A        10   100 1000  2 B        20   200 2000  3 C        30   300 3000 

patentviews 문제...

특허 분류 코드 데이터가 필요해서... patentsview 패키지를 사용하던 중에 다음과 같은 에러를 만났습니다. Error in nchar(x, type = "w", allowNA = TRUE) : invalid multibyte string, element 1 Error in nchar(x, type = " <ff><fe>w <ff><fe>", allowNA = TRUE) : invalid multibyte string, element 1 냐옹... 해결책:  https://www.r-bloggers.com/web-scraping-and-invalid-multibyte-string/ 간단히 > Sys.setlocale("LC_ALL","English") 문제 해결입니다. 참고로 저는 Windows 사용 중입니다. 비슷한 문제를 겪으시면?

세미나 참가자를 위한 Hidden Markov Model 예제

이미지
안녕하세요? 김태경 교수입니다. 오랫만에 글을 씁니다. 세미나 자료를 준비하다보니 학생들이 HMM을 알고 있나 하는 생각이 퍼뜩들어 자료를 적다가 다 지웠습니다... 대신에 그냥 바로 쓸 수 있도록 샘플이나 만들어보자는 생각에서 포스트를 올립니다. 우선... Hidden Markov Model? 머신러닝 방법 중 하나입니다. 아마 요즘은 딥러닝에 밀려서 텍스트 예측 분야에서는 좀 안 쓰는 것 같습니다만... 사회과학 분야에서는 그렇지 않을 것 같습니다. 훗. 논문의 리뷰어 중 한 명도 "그냥 딥러닝 하지?" 이랬지만서도. 지진파나 음성, 주식 거래량, 필기체 분석 등에서 흔한 방법론입니다. 1960년대에 Baum 등이 은닉 계층을 마코브 모형에 추가했지요. 자세한 것은 Rabiner(1989) 논문을 참조하세요. Markov Chain 확률론 시간에 배웠지요? 행렬의 성분이 확률값으로 이루어진 행렬입니다. 한 상태에서 다른 상태로 변할 확률이 먼 과거의 자취보다 바로 직전의 상태에 따라 결정된다는 것입니다. 흔히 상태-전이 행렬이라고도 합니다. 시장점유율이나 고객 상태 전이, 쿠폰의 사용이나 광고 회피(제가 지금 다루는 것) 등에서 실증 데이터를 바탕으로 한 상태-전이 행렬을 구성할 수 있습니다. 왜 Markov Chain? 아무 곳에서나 쓰라는 것은 아니구요... 시간적인 선후 관계가 있는 데이터를 다룰 때 필요합니다. 체중의 변화나 주식의 변화, 학습이나 글쓰기 등이 그렇지요. 운동 데이터도 마찬가지로 시간의 선후가 있습니다. 골기퍼가 바로 골을 넣어주기도 하지만 적어도 골대에서 골대로 가는 것은 아니니까요. 착실하게 시간을 들여 단계(혹은 상태)를 밟아야 합니다. 관측 벡터 순차 데이터는 관측(observation) 벡터로 표현합니다. 유한 시간 T 동안 관측된 데이터는 위와 같습니다. 관측의 전후는 서로 맞물려 있으니 다음 관측치가 나타날 확률은 조건부 확률로 표현될 것입니다. 이전 ...
이미지
https://chrome.google.com/webstore/detail/mindmap-tab/mkgjficalhplaenklhejcbmlkonbakjj?hl=ko&utm_source=chrome-ntp-launcher 브라우저에서 작동되는 간단하고 쓸만한 마인드맵을 찾다가 발견! 오호 좋다. 텍스트 에디터에서 바로 작업 가능하다. 예를 들어 에디터에 다음과 같이 입력하고 텍스트창에 붙여넣으면 마인드맵이 생긴다. 나에게는 정말 필요한 앱! 이렇게 하면