전체 글(96)
-
단순선형회귀모형
관심변수와 설명변수관심변수(=반응변수,종속변수)- 예측의 대상이 되는 변수 설명변수(=독립변수)- 관심변수 속 차이를 설명할 수 있는 변수 선형 회귀 모형 표기법 정의설명변수(=독립변수)- Y : 수치형 관심변수- X : 수치형 설명변수 선형 회귀 모형의 개념단순선형회귀(simple linear regression) - 수치형 관심변수를 수치형 설명변수의 정비례로 설명하는 모형 - 설명변수 X와 회귀 계수를 활용해서 관심변수 Y를 예측가능 회귀 계수를 계산하고 예측에 활용하기결국은 산점도에 가장 합리적인 추세선(직선을) 구하는 것이다. 그 방법으로 최소 제곱법(least squares method)을 활용 ① X가 평균정도 일 때는 Y도 평균정도로 예측 :따라서 모든 회귀직선은 무게 중심()을 지남 추정..
2019.01.21 -
상관계수
R을 이용한 상관계수 및 산점도 그래프 그리기 연봉 데이터를이용하여 상관계수 및 산점도 그래프에 대한 내용을 정리해보자. 경력과 연봉의 데이터셋 경력 연봉 0 1700 1 2000 2 2400 3 2900 4 3500 5 4100 6 4500 7 5100 8.5700 106500 127500 147800 158000 산점도 그래프# 연봉 예측데이터 불러오기 data = read.csv('data/salary.csv', fileEncoding='UTF-8') # 경력 기준 정렬 data[order(data$experience),] # 산점도와 보조선 그리기 plot(data, pch=16, xlab="Experience", ylab="Salary", col="dodgerblue") # 평균선 그리기 abl..
2019.01.18 -
TASKLET 예제
TASKLET 구현 예제대용량의 데이터 처리시 Reader->Processor->Writer 구현 방법 보다는 쿼리에서 INSERT SELECT 쿼리로 구현하는게 더 효과 적인 경우가 있다. 예를 들어 몇천만건 억단위건 데이터 처리시에는 INSERT SELECT로 구현하는 편이 낫다. 이번 프로젝트 진행할때 최대 몇 십억 단위의 데이터를 INSERT SELECT 방식으로 집계 처리하는데에도 약 2~3시간이 걸렸었다. Reader->Processor->Writer의 경우 데이터를 조회 하여서 조회 결과를 객체로 변환하여서 만약 로직이 있다면 로직처리 후 저장의 단계를 거치면서 시간이 많이 걸리게 될 것이다. 천만건 이상의 데이터 처리시에는 INSERT SELECT 쿼리로 구현이 가능하다면 이 방법을 사용 ..
2019.01.15 -
ORA_HASH를 이용한 Partitioning 구현
ORA_HASH를 이용한 Partitioning 구현오라클의 ORA_HASH를 이용하여서 구현하는 방법은 사용자가 설정한 gridSzie 만큼 분할하여서 HASH VALUES를생성한다. 그리고 분할된 영역별로 병렬로 수행하는 방식이다. - 사용자가 지정한 gridSize 만큼 Partition을 생성한다.- 분할된 HASH 영역별로 Reader, Writer 작업을 수행한다.- 위 그림에서 보면 조회된 테이블 결과에서 HASH_RANGE값은 0~gridSize 만큼 생긴다. PartitionJob.xml 작성 PartitionerHelpler.java 작성package com.batchguide.partitioner; import java.util.HashMap; import java.util.Map; ..
2018.12.26 -
Range Partitioning 예제 - 구현
Range Partitioning 구현 앞에서 설정한 설정 정보를 이용하여 실제로 예제를 구현해보도록 하자. 입력 데이터는 MySQL 테이블에 등록 해두었고 이 데이터를 Oracle 테이블에 등록 해보도록 하자. 구현에 앞서 프로그램 전체적인 구조는 아래 그림을 참고 하도록 하자. - 전체적인 구조는 사용자가 지정한 grid-size 만큼 작업을 분할한다. 예제에서는 5로 설정 하였다. 따라서 위의 그림을 보면 5개의 Slave가 생성된다. - 앞에서 작성한 ColumnRangePartitioner 클래스를 이용하여서 minValue와 maxValue를 구한다. - 그리고 Slave 별로 Reader, Writer 작업을 수행한다. RangePartitionJob.xml 작성 - 분할할 작업수를 grid..
2018.12.18 -
Range Partitioning 예제 - 설정
Range Partitioning 설정 테이블이 특정 컬럼을 지정하여 분할하고자 하는 수 만큼의 작업을 분할하여 대용량 데이터를 처리를 위한 예제이다. 사전준비 예제를 작성하기 앞서 샘플 데이터 입수, 테이블 생성, 샘플 데이터 등록, Partitioning 처리를 위한 자바 클래스를 작성한다. 샘플데이터준비 Kaggle 사이트에서 Black Friday 자료를 다운 받는다. 다운로드사이트: https://www.kaggle.com/sdolezel/black-friday 데이터베이스 테이블 생성 MySQL 테이블 생성 스크립트 CREATE TABLE `black_friday` ( `user_id` varchar(10) NOT NULL, `product_id` varchar(10) NOT NULL, `ge..
2018.12.17