목록전체 글 (768)
우노
Spark Property Spark는 SparkConf, spark-shell, spark-submit, spark-defaults.conf 을 통해 Spark Application 실행과 관련된 자원을 설정할 수 있습니다. property 적용 순서는 SparkConf, spark-shell, spark-submit, spark-defaults.conf 입니다. 적용 예 https://wooono.tistory.com/45?category=914839 애플리케이션 관련 설정 spark.app.name 애플리케이션 이름 SparkConf의 appName으로 설정하는 것과 같은 속성 spark.driver.cores 드라이버가 사용할 코어 수 클러스터 모드에서만 사용 가능합니다. 기본값 : 1 spark..
실험계획법(DOE, design of experiments)이란? 참고 https://wooono.tistory.com/136 D-optimal Design 기본 개념 전체 데이터셋에서 중요한 데이터만 가져와 효율적으로 실험하기 위해 쓰이는 실험계획법이다. 데이터는 X로 표현되며 정보행렬인 |X’X(대각행렬)|를 최대화하여, 추정 된 회귀 계수의 전체 분산을 최소화하도록 구성된다. 자세한 설명 선형모형 N : 데이터의 개수 (행개수) k : 입력 데이터의 특성 개수 (열개수) Y : N x 1 출력 벡터 X : N x k 입력 데이터 행렬 β : 미지의 회귀 계수 k x 1 벡터 ε : E(ε)=0, N x N 단위행렬인 공분산 행렬을 가진 실험오차 N x 1 벡터 회귀 계수 β 최소제곱법에 의해 추정하..
실험계획법(DOE, design of experiments)이란? 문제 해결을 위해 실험을 계획 하는 방법으로, 최소의 실험 횟수에서 최대의 정보를 얻을 수 있도록 계획하는 것이다. 특성치 (Characteristic value) 실험을 통해 얻어지는 모든 결과치(종속변수 Y)를 의미한다. 인자 (Factor) 실험에 사용되는 원인(독립변수 X)를 의미한다. 인자는 정량적일 뿐만아니라 정성적 데이터로 표현할 수 있다. 예를 들면 온도나 시간은 정량적 데이터로 표현되지만 청결함이나 사람의 심리상태 같은 부분은 정성적 데이터로 표현되기도 한다. 수준 (Level) 실험에서 '인자의 정도나 값' 을 의미한다. 예를 들면 온도와 같은 정량적인 인자의 경우에는 모든 온도 값이, 온도라는 인자의 수준..
추천 시스템 사용자가 아직 보지 않은 드라마에 대한 사용자의 예상 별점을 알 수 있다면? 추천 시스템의 성능이 좋아진다. 사용자에게 예상 별점이 높은 드라마를 추천 해주면 되기 때문이다. 별점 예측 방법 Collaborative Filtering 고전적이지만 지금까지 잘 사용되고 있는 방법 중 하나이다. 통계적인 방법이므로 연산이 빠른 대신 정확도는 조금 떨어진다. 다음 두 가지 방법으로 사용된다. Item-Item Collaborative Filtering User-User Collaborative Filtering Hyprid Methods Collaborative Filtering의 단점을 보완하는 방법 중 하나이다. Latent Factor Model Matrix Factorization을 활용해..
Matrix의 Row를 전체 Vertex 개수로 두고 (LRxLC),(LCxLC) 형태 Matrix 생성하기 위 그림의 1~10 과 같은 순서로 중첩루프를 돌며 (LRxLC),(LCxLC) Matrix를 생성합니다. 자세한 코드 설명 1) Matrix 데이터 입력 2) 입력 데이터의 row, col 크기 입력 3) col slice 단위 설정 4) 최대 col slice 크기 설정 (slice의 nnz가 10^9 를 넘으면 안되므로) 5) LR을 전체 vertex 개수로 두고 col slice 생성 각 col slice 저장 (nnz, density 기입) 각 col slice에서 LCxLC 크기의 row slice 생성 각 row slice 저장 (nnz, density 기입) row slice는 최대..
ECS란? Docker는 최근 각광 받고 있는 컨테이너 기술이다. 하지만 Docker를 이용해 서비스를 구축 하려면 여러가지 고려 해야할 사항이 많다. 따라서 필연적으로 컨테이너를 적절하게 배치하고 관리할 수 있게 도와주는 컨테이너 오케스트레이션 도구의 필요성을 느끼게 된다. AWS의 ECS는 Amazon에서 제공하는 '완전관리형 컨테이너 오케스트레이션 툴'로써, Docker 컨테이너를 이용하여 인프라 환경을 좀 더 편리하게 운영,관리 할 수 있게 해주는 서비스이다. 비슷한 툴로서는 Kubernetes나 Docker Swarm이 있다. ECS 구성 요소 ECS는 크게 아래와 같은 컴포넌트들로 구성 되어 있다. Task definition Task Service Container Instan..
유사도 (Similarity) 드라마를 예시로 들었을 때, 두 드라마의 유사도를 어떻게 측정할 수 있을까? 장르나 키워드가 비슷하면 비슷하다. ( 자카드 유사도 ) 보이스 (범죄, 스릴러, 다크, 서스펜스) 터널 (스릴러, 다크, 서스펜스) 사람들의 평가가 비슷하면 비슷하다. ( 평가 유사도 ) 사람 1의 영화1 평가 (0.5점) 사람 2의 영화2 평가 (0.6점) 자카드 유사도 (Jaccard Similarity) 자카드 유사도 키워드를 통해 두 집합이 얼마나 비슷한지를 측정 분자 두 집합의 교집합을 뽑는다. 분모 두 집합의 합집합을 뽑는다. 집합의 사이즈가 커지면 커질수록 패널티를 먹는다. 예제 보이스 (범죄, 스릴러, 다크, 서스펜스) 터널 (스릴러, 다크, 서스펜스) 교집합 / 합집합 = 3/4 ..
Matrix의 Row를 전체 Vertex 개수로 두고 Col 기준으로 나누기 ( 중복 비허용 ) 예) Matrix의 전체 Column size가 12이고 slice 단위를 5으로 한다면 다음과 같이 분할 됨. 1-5, 6-10 나머지 column인 11-12는 버려짐 예제코드 1024 개의 열을 300 개씩 중복 없이 Slice 하므로 총 3개의 Slice가 나온다. 1-300, 301-600, 601-900 import scala.math.BigDecimal val rdd = sc.textFile("s3://square-matrix/M_1024_1024_0.001.txt") // 입력 데이터 row, col 크기 val row = 1024 val col = 1024 // 원하는 slice 단위 val ..
Matrix의 Row를 전체 Vertex 개수로 두고 Col 기준으로 나누기 ( 중복 허용 ) 예) Matrix의 전체 Column size가 9이고 Slice 단위를 3으로 한다면 Column은 다음과 같이 분할 됨. 1-3, 2-4, 3-5, 4-6, 5-7, 6-8, 7-9 예제코드 1024 개의 열을 1000 개씩 중복 허용하며 Slice 하므로 총 25개의 Slice가 나온다. 1-1000, 2-1001, 3-1002, ... , 25-1024 import scala.math.BigDecimal val rdd = sc.textFile("s3://square-matrix/M_1024_1024_0.001.txt") // 입력 데이터 row, col 크기 val row = 1024 val col = ..
1.23456789 를 소수점 둘 째 자리로 반올림 해 1.23으로 표현하는 방법 import scala.math.BigDecimal val number = BigDecimal(1.23456789).setScale(2, BigDecimal.RoundingMode.HALF_UP).toDouble