[AWS] R에서 S3의 데이터 가져오기

R studio server를 AWS에 설치하고 가장 큰 문제는 데이터 가져오기이다.

구글 드라이브에 데이터를 올리고 불러오거나 github에 올리고 가져오는 방법도 있지만,
우리는 AWS를 쓰고 있으니 S3를 사용해서 하기로 하자.

참고로 이 글은 AWS에서 기본적으로 제공하는 Linux[centOS]를 기반으로 작성되었다.

 

계속 읽기

Advertisements

[AWS] Request Spot Instances 이용하기

EC2 Instance에서 t2.micro(free tier)만을 사용하다가  R package 중에서 프로젝트에 반드시 필요한 ggplot2나 dplyr을 설치 시 용량 부족을 보고 더 큰 용량으로 옮기려고 했다.

그런데 이런 경우 돈이 들어간다.

그럼 돈을 아끼면서 내용들도 그대로 옮기고 용량만 옮길 방법을 찾다가 발견하였다.

바로, Request Spot Instances 이다.

계속 읽기

[Algorithm] Apriori Algorithm with R

이제 우리는 수치적으로 물품간의 상관관계를 알 필요가 있다.
그러므로써 구매할 물품을 추천해주는 시스템을 구축하는 것이 가능해진다.

이제부터 우리가 이를 위해 사용할 알고리즘이 장바구니(Apriori) 알고리즘이다
(정도현 선배님과 김은정 선배님께 도움을 받았습니다)

이는 장바구니 알고리즘을 google에 검색하였을 때 가장 먼저 접하게 된 알고리즘이다.
그래서 장바구니 알고리즘에 가장 자주 사용되거나 기초가 되는 알고리즘이라고 생각했다.

그렇다면 이 알고리즘은 우리가 하려는 추천시스템에 사용 가능한지 알기 위해 내용을 알아보자.

계속 읽기

[데이터분석] First Exploratory Analysis

Kaggle의 Instacart Market Bascket Analysis라는 대회(?)를 신청하였고, 이 곳에서 주는 데이터를 토대로 고객들의 다음 재구매 상품을 추정하고 추천해주는 시스템을 개발할 것이다.
(무려 1등시 12,000$…)

데이터를 토대로 알고리즘을 찾아보고 적절한 알고리즘을 적용하기 위해선 데이터를 알 필요가 있다. 그러기 위해 데이터 분석의 초기단계를 하는 것이다.
데이터 분석을 통해 어떤 데이터가 들어있으며 어떤 경향을 나타내는지 알아보자.

그런데 처음하는 데이터 분석이라 다른 사람이 해둔 것을 보기로 했다.

Kernel에 Philipp Spachtholz라는 분이 작성한 report를 참고하였다.


일단, 사용할 R 패키지들을 소개하겠다. 아래의 내용을 따라하려면 필요한 패키지이다.
* instal.packages(“name”)으로 설치 가능

data.table
dplyr
ggplot2
knitr
stringr
DT

위 패키지들로 부터 적절한 함수를 사용하여 아래의 그래프와 데이터들을 얻어내었다.

먼저, 주어진 csv 파일 데이터는 ‘aisles‘, ‘departments‘, ‘order_products__prior‘, ‘order_products__train‘, ‘orders‘, ‘products‘, ‘sample_submission‘ 로 7개가 주어진다.

sample_submission‘에서는 유효한 데이터를 얻을 수 없음으로 여기서는 사용하지 않는다.

그러면 나머지 데이터들의 형태를 보자.

데이터파악

계속 읽기

[AWS] R에 devtools package 설치하기

dplyr과 arulesViz 설치를 github로 하는 법을 찾다가 devtools라는 패키지가 필요하게 되어 설치하는 법을 찾아 보았다.

결론부터 말하면 dplyr과 arulesViz 설치를 원하면 t2.micro로는 안된다.
용량부족…

이번 설치는 따로 사진 첨부는 없이 커맨드로 진행한다.

일단 command를 킨다.

AWS라면 putty로 연결하면 된다.

sudo yum -y install libcurl libcurl

sudo yum -y install openssl-devel

위의 2 커맨드를 입력하고 나면 Rstudio로 접속하여 다음과 같이 입력한다.

install.packages(“devtool”, type=’source’)

사실 저번 RMySQL & DBI 설치와 매우 흡사하다.

CentOS라는 특수상황에서 이런 경우는 매우 많이 겪을 수 있다.

devtools 라는 패키지를 설치하면 install_github()를 통해 이제 github로 부터 패키지를 다운 받을 수 있게 됨으로 유용하게 사용이 가능하다.

추가로, dplyr나 arulesViz를 설치하려면 AWS는 t2.micro(free tier)보다 용량이 큰 것의  instance를 생성해야한다.

출처 :

https://stackoverflow.com/questions/30394563/cant-install-git2r-nor-devtools-r-packages-on-centos-7-0-64-bit

https://stackoverflow.com/questions/20923209/problems-installing-the-devtools-package

[AWS] Elastic IPs 연결하기

우리는 AWS EC2 Instace를 재시동할 때마다

새로운 Public DNS를 받아와 새로운 주소로 연결하여

기존 설정을 바꾸어야 하는 불편함이 있었다.

이런 불편함을 Elastic IPs로 해소해버리자.

아래와 같은 EC2 Dashboard에서 빨간 상자(Elastic IPs)로 선택된 부분 중 하나로 들어가자.

aws Elastic IPs.png

들어가게 되면 다음과 같은 메인 창에서

aws Elastic IPs main.png

Allocate new address를 눌러 주자.

aws Elastic IPs Allocate_new_address_1

위 화면에서 Allocate를 누르면 아래와 같이 나온다.

aws Elastic IPs Allocate_new_address_2

제대로 address가 나오는 것이 확인이 되면 Close를 누르자.

aws Elastic IPs Associate_address_1.png

다시 Elastic IPs를 눌렀던 화면으로 돌아가게 되면 한개의 IP가 추가된 것을 볼 수 있다.

이제 새로 생성된 IP를 우클릭 혹은 Actions를 누른 후 Assocaite address를 눌러준다.

aws Elastic IPs Associate_address_2.png

그럼 위와 같은 화면에서 Instance를 선택하고 거기에 알맞은 Instance를 골라준다.

그때 Private IP는 방금 생성한 IP로 선택해 준다.

모든 과정이 끝나면 Associate를 눌러주면 된다.

그러면 이제 해당 Instance를 stop시켜도 Public DNS가 사라지지 않음을 볼 수 있게 된다.