본문 바로가기
반응형

R52

4강. 객체지향 프로그래밍 첫걸음 - R6와 텐서 torch의 코드를 살펴보면 우리가 늘상 사용하던 R의 패키지들과는 어딘가 다른점이 있다고 느껴질 것이다. 이것의 근본적인 이유는 바로 torch 패키지가 객체지향언어 (Object Oriented Programming; OOP)를 할 수 있도록 해주는 R6 패키지를 기반으로 하고있기 때문이다. 좀 더 직접적으로 말하면, torch의 텐서와 신경망들이 R6 패키지의 클래스들로 정의되어 있기 때문에, 일반적인 R 패키지들보다 $을 통한 함수(OOP에서는 method 라고 부른다.) 접근이 가능하다. 어떤 이야기인지 한번 좀 더 깊게 들어가보자. 시작하기 여느 패키지와 다를바가 없다. R6 패키지를 설치하도록 하자. # install.packages("R6") library(R6) 클래스(Class)와 멤버.. 2021. 10. 4.
3강. 텐서 이동시키기 - CPU tensor vs. GPU tensor 딥러닝(deep learning)에서는 네트워크의 구조가 조금만 복잡해져도, 필요한 계산량이 엄청나게 늘어나기 때문에 GPU는 사실 필수적이다. torch 패키지에서는 텐서를 다룰때에 현재 다루는 텐서가 어디에 저장되어있는가에 대한 일종의 태그를 달아놓는다. 다음의 코드를 살펴보자. a 2021. 10. 4.
2강. 텐서 (tensor) 들의 연산 배우기 지난 챕터에서 우리는 텐서가 행렬의 연산에 적용되는 %*%과 호환이 되지 않는 다는 것을 알게되었다. 이번 챕터에서는 텐서들의 연산에 대하여 알아보도록 하자. 토치 (torch) 불러오기 및 준비물 준비 토치 (torch) 를 불러오고, 이번 챕터에 사용될 텐서 A, B, 그리고 C를 준비하자. 지난 챕터에서 배운 난수를 이용한 텐서도 만들 예정이니 난수를 고정한다. library(torch) # 난수 생성 시드 고정 torch_manual_seed(2021) A 2021. 10. 4.
1강. 딥러닝 첫걸음, 텐서 (tensor) 만들기 torch와의 첫만남 torch패키지를 설치했으니, 한번 만나봐야한다. 다음의 명령어를 통하여 torch를 불러보자. library(torch) 텐서 (tensor) 만들기 텐서가 무엇이냐! 무언가 대단한 것처럼 보이나, 결국 우리가 R을 배웠을때 사용했던 matrix의 개념을 확장시킨 것이라고 생각하면 된다. 결국 다차원 행렬, 혹은 Array인 것이다. 우리가 많이 쓰는 행렬도 Array에 속하지만, 보통 Array라는 용어는 3차원 이상의 행렬을 암시한다. 이름부터 멋있는 딥러닝인데 다른 용어들이 Array같이 다른 패키지에서 사용되는 것들이랑 동일하면 격이 떨어지므로, 텐서 (tensor) 라고 붙였다. 토치 설명서에 따르면 텐서는 R의 Array와 비슷하나, GPU 계산에도 쓸 수 있다고 나와있.. 2021. 10. 4.
들어가며. torch 패키지 설치하기 딥러닝 공략.zip을 시작하며 한동안 미뤄뒀던 딥러닝 공략집 with R 시리즈를 다시 연재할 생각이다. 슬기로운 통계생활 스터디가 활발하게 진행되고 있고, 이제 torch 역시도 조금 안정된 모습이라서 딥러닝 구현을 하는데 머리가 아프다거나 생명이 단축되는 일이 줄어들었을 것이라고 생각하는 마음에서이다. 이제까지 R에서의 딥러닝은 Python의 라이브러리들을 reticulate 패키지를 이용하여 빌려온 형태였지만, torch for R 패키지는 C 라이브러리를 Torch를 기반으로 R을 wrapper 언어로서 사용하여 패키지를 만들었다. 즉, Torch + Python = PyTorch, Torch + R = RTorch가 되는 셈이다. torch 설치하기 설치 역시 간단한다. 여느 R패키지와 같이 i.. 2021. 10. 4.
1강. 마크다운 기초와 사륜안 패키지 시작하기 R로 PPT 만들기 완전 정복! What up 슬통갱~! 잘 지내셨나요~~!! 이번 시리즈는 R로 만드는 PPT 완전 정복하기 시리즈 입니다. R 프로그래밍 언어의 장점은 바로 프로그래밍과 문서화 작업이 아주 매끄럽게 이어진다는 것입니다. 데이터를 분석한 결과를 바로 레포트로 전송해주는 과정이 너무 편리하게 되어있죠. 이렇게 분석과 레포트의 연결을 빠르게 할 수 있는 도구를 잘 다룬다는 것은 데이터 분석가에겐 너무 좋은 "무기"가 됩니다. 하지만 많은 R 사용자분들이 이 기능을 사용하지 못하시고 있습니다. 왜냐구요? 그 이유는 간단합니다.ㅎㅎ :) 시중에 책이 많이 나와있지 않기 때문입니다. 슬기로운 통계생활에서 요부분을 좀 채워넣고 싶어서 다음과 같이 사륜안 패키지로 PPT만들기 정복하기 강의를 만들었.. 2021. 9. 30.
0강. 빅데이터 분석의 시작 - R 4.1.0, RStudio, Rtools4.0 설치방법 데이터 사이언스 기본 툴인 R을 설치하 방법을 다룹니다. R의 버전이 4.1.0으로 업데이트되면서 Rtools도 4.0 버전을 같이 설치해야 온전하게 사용할 수 있게 되었습니다. 따라서 RStudio와 R, Rtools 세 가지 프로그램을 한꺼번에 저와 똑같이 설치하는 것이 필요합니다. 추가적으로 RStudio를 간지 나게 바꿔줄 테마와 Fira code 역시 같이 설정해줍시다. 0강. 준비과정 먼저 강의안을 다운 받고 시작합시다~! 참고로 Rtools의 경우 맥 사용자는 설치하지 않아도 됩니다. Windows를 OS로 사용하는 사용자들만 설치하면 된다는 점 유의하세요! 그럼 즐강. :) 2021. 9. 30.
R 프로그래밍 무료 기초 강의 안내 안녕하세요, 슬기로운 통계생활에서 첫 정규 커리큘럼으로 시작한 기초 R 강의를 시작했습니다. 슬통 유튜브에서 매주 목요일 밤 10시에 라이브로 진행 할 예정입니다. R을 처음 배우시는 분들, 데이터 분석 공부를 이제 막 시작하시는 분들께 적극 추천드립니다. 정말 아무것도 모른다는 전제 하에 프로그램 설치에서부터 R의 고급 함수들까지 자연스럽게 공부할 수 있도록 수업이 디자인 되어 있습니다. 유료 강의보다 더 유료 강의 같은 강의 무료 R 강의이지만 흔히 생각하시는 무료 강의가 아닙니다. 추후 기업 강의용으로 내용을 준비한 강의입니다. 많이들 생각하시는 얕은 입문 강의라고 생각하시면 안 됩니다.ㅋㅋ 기초부터 차근차근 다진다는 생각으로 맘 다잡고 따라오세요~! 완강하셨을 때 머리속에 R 지식들로 꽉 차있게 .. 2021. 9. 4.
파이썬에서 형태소 분석 후 R로 넘겨주기 - 자연어 처리 고수되기 1탄 자연어 처리 슬기로운통계생활에서는 R을 중심으로 여러 멤버들이 칼럼을 작성 중입니다. 그런데 '왜 갑자기 Python 이야기인가' 궁금해할 분들이 많을 것입니다. 여기서 Python을 언급한 이유는 자연어 처리(Natural language processing)에서 가장 중요한 과정인 형태소 분석(Morphological analysis) 때문입니다. 잠시 자연어 처리를 이야기하자면 컴퓨터에게 인간의 언어를 이해시키려면 인간의 언어(자연어)를 컴퓨터가 이해할 수 있는 형태로 변환하는 과정이 필수적입니다. 예컨대 인공지능 스피커에게 우리가 말을 하면, 인공지능 스피커는 우리가 한 말을 통으로 인식할 수 없습니다. 알고리즘에 따라 다르겠지만, 인간이 말한 문장을 부분부분 끊어서(분절화) 인식합니다. 왜냐하면.. 2021. 2. 23.
[PoliscieR] 정치학과에서 R로 연구하기 정치학과에서 다시 숫자를, 그리고 프로그래밍을 하게 될 줄은... 안녕하세요, 이 게시판은 R meets Political Science라는 이름 그대로 정치학 분야에서 R을 활용해서 정량적인 연구를 하며 제가 겪었던 여러 경험들(대부분이 시행착오겠죠?)과 그 결과로 현재 주로 사용하는 분석 방법과 기법들을 정리하는 데 목적이 있습니다. 간단하게 제 경험을 이야기하자면 (아마 일반화되기는 힘든 경험이겠지만), 저는 한국외국어대학교 정치외교학과에서 석사까지 마무리하고 현재 미국의 University of South Carolina 정치학과에 박사과정에 입학했습니다. 그런데 사실 한국외국어대학교 정치외교학과에 들어가게 된 계기, 정확히는 외대에 진학하게 된 계기 중 하나는 바로 제가 수학을 엄청 싫어한다는 .. 2021. 1. 31.
Rstudio 시작시 특정 R패키지 실행하기 - .Rprofile 파일에 대하여 오늘은 Rstudio를 실행할 때마다 특정 패키지를 실행하는 방법에 대하여 알아보자. 여담이지만, 특정패키지를 .Rprofile 에 붙여서 사용하는 것은 함부로 해서는 안된다. 뭐든 잘 이해하고 적용하는 습관을 들이자. 상황 필자의 경우 R 코딩을 할 때마다, 매번 magrittr 패키지를 사용한다. 물론 코딩을 할 때 다른 사람에게 보여주는 코딩을 할 경우 사용하는 패키지를 명시적으로 선언해주어야만 하지만, 혼자 코딩할 때는 사실 매번 로딩하기 번거로울 때가 있다. Rstudio를 켤 때마다 특정 패키지가 실행되도록 설정하는 방법은 없을까? 당연히 있다. 해결책 위의 문제는 .Rprofile 을 이용하여 해결이 가능하다. usethis::edit_r_profile() R 프로젝트를 사용하지 않는 사람의.. 2021. 1. 25.
ggplot 그래프 3D 렌더링 하기 ggplot 그래프를 3D로 랜더링 해보자 오늘은 rayshader라는 R 패키지에 대하여 알아보도록 하자. ray는 광선을 의미하는데, 게임에서 좀 더 현실적인 효과를 얻기위하여 픽셀별로 빛의 세기를 렌더링하는 방법을 raytracing이라고 한단다. 이런 ray tracing기법을 이용해서? ggplot 그래프를 3d로 바꿔주는 패키지가 있다. 바로 rayshader라는 R 패키지. 이름에서 느껴지다시피 빛을 생각해서 그림자를 그려준다는 의미로 이름을 지은것 같다. 예제 1 다음의 R코드를 보자. 유명한 ggplot2의 diamonds 데이터 셋에 접근해서 등고선 그래프를 다이아몬드 투명도에 따라서 그린 그래프이다. library(ggplot2) gg % sphere_shade(zscale = 10,.. 2021. 1. 23.
반응형