아래의 튜토리얼 내용은 dataiku academy 자료를 참고하여 제작되었습니다.
안녕하세요.
Join 레시피 활용편 입니다 : )
Join 레시피
두 개의 데이터셋을 결합하여 한 데이터셋을 다른 데이터셋의 열로 보강하는 기능을 제공합니다. 이를 통해 데이터 간의 관계를 파악하고 통합된 데이터를 생성할 수 있습니다.
Join 레시피 기능들
1. 데이터셋 보강: 조인 레시피의 주요 용도는 한 데이터셋을 다른 데이터셋의 열로 보강하는 것입니다. 두 데이터셋에서 공통된 키 열을 사용하여 값들을 매칭시킵니다.
2. 조인 유형: Left join은 데이터 보강에 자주 사용되는 조인 유형입니다. Left join은 주 데이터셋의 모든 레코드를 유지하면서 보강 데이터셋과 일치하는 값이 있는지 여부에 상관없이 결합합니다. 그 외에도 다양한 조인 유형을 선택할 수 있습니다.
3. 키 열 선택: 조인할 때 사용할 키 열을 선택할 수 있습니다. 기본적으로 dataiku는 자동으로 키 열을 감지하나, 필요에 따라 직접 설정할 수도 있습니다.
4. 추가 기능: 사전 필터(pre-filters)를 사용하여 조인 이전에 특정 행을 유지하거나 제외할 수 있습니다. 또한, 포스트 필터(post-filter)를 사용하여 조인 작업의 결과를 필터링할 수 있습니다.
5. 출력 데이터셋 설정: 조인 작업의 결과를 저장할 출력 데이터셋을 설정할 수 있습니다. 이를 통해 조인된 데이터를 다양한 형식으로 저장하고 분석할 수 있습니다.
새 프로젝트를 생성하겠습니다!
+New Project > DSS Tutorials > Core Designer / Basics > Basics 103
orders_by_customer는 그룹 레시피를 이용하여 고객별 주문데이터로 만든 데이터셋입니다.
추가된 customers 데이터셋은 고객 ID, 성별, 생년월일 등 더 많은 고객정보를 포함하고 있습니다.
Join 레시피를 사용하여 customers 데이터셋에 orders_by_customer 데이터셋의 고객 주문 집계 정보를 붙여보겠습니다!
오른쪽 패널의 작업 탭에서 "Join with..."를 선택합니다. 두 번째 입력 데이터셋으로 orders_by_customer를 선택합니다.
Join 레시피 생성 대화 상자에서는 두 개의 데이터셋만 추가할 수 있지만, 레시피를 생성한 후 Join 단계에서 추가적인 데이터셋을 추가할 수 있습니다.
출력 데이터셋의 이름을 customers_orders_joined로 변경합니다. "Create Recipe"를 클릭합니다.
이 레시피의 핵심 단계는 Join 단계입니다. 여기서 데이터셋 간의 행을 어떻게 매칭할지 선택합니다. 이 경우에는 customers와 orders_by_customer 데이터셋에서 각각 customerID와 customer_id의 값이 동일한 행을 매칭하려고 합니다.
Dataiku에 어떤 열을 매칭할지 알려주기 위해 "Add a condition"을 클릭합니다. Join 조건 대화 상자가 열리며, Dataiku는 ID 열이 조인 키라고 자동으로 인식합니다. "OK" 눌러주세요.
기본적으로 Join 레시피는 Left join을 수행하여, 오른쪽에 매칭되는 정보가 없더라도 왼쪽 데이터셋의 모든 행을 유지합니다. 하지만 우리는 적어도 한 번 이상 주문한 고객만 작업하려고 하므로 조인 유형을 수정해야 합니다.
Inner join을 선택합니다. 이렇게 하면 주문을 한 고객만 보존되고, 다른 행은 출력 데이터셋에서 제거됩니다.
출력 데이터셋에는 customers 데이터셋과 orders_by_customer 데이터셋의 모든 열을 가져오되, customer_id 열은 제외하고 가져와야 합니다. (왜냐하면 customers 데이터셋의 customerID 열에 동일한 정보가 있기 때문입니다).
"Selected columns" 단계로 이동하고, orders_by_customer 데이터셋에서 customer_id 열을 선택 해제합니다.
Run 버튼을 눌러서 실행해주세요!
위와 같이 데이터를 확인 할 수 있습니다 : )
Join 유형별 예시
join 레시피에서는 다양한 조인 유형을 선택할 수 있습니다. 각 조인 유형은 데이터를 어떻게 결합할지를 결정합니다.
예시를 통해서 확인해보겠습니다!
1. Left Join
Left Join은 왼쪽 테이블의 모든 행을 포함하며, 오른쪽 테이블에서 일치하는 행이 있는 경우 해당 행을 추가합니다.
2. Inner Join
Inner Join은 두 테이블에서 공통된 값을 가진 행들만 결과로 반환합니다.
3. Right Join
Right Join은 오른쪽 테이블의 모든 행을 포함하며, 왼쪽 테이블에서 일치하는 행이 있는 경우 해당 행을 추가합니다.
4. Cross Join
Cross Join은 두 테이블 간의 모든 가능한 조합을 생성하는 조인 유형입니다. 크로스 조인은 조인 조건을 지정하지 않고 테이블 간의 모든 행을 결합합니다.
Join 레시피 활용과 자세한 유형을 확인해보았습니다.
궁금한 내용 있으시면, 댓글로 질문 남겨주세요 : )
'AI 및 데이터 분석' 카테고리의 다른 글
Dataiku - 레시피 활용 (4) (0) | 2023.06.07 |
---|---|
Dataiku - Lab 기능 (0) | 2023.06.05 |
Dataiku - 레시피 활용 (2) (+ Statistics Worksheet) (0) | 2023.06.03 |
Dataiku - 레시피 활용 (1) (0) | 2023.06.02 |
Dataiku - 설치 및 프로젝트 만들기 & 데이터셋 살펴보기 (1) | 2023.06.01 |