데이터셋이란 무엇일까?
데이터와 데이터셋은 그냥 같은 말 아닐까?
데이터 포인트와 속성이 모이면 무엇이 될까요? 여기서는 그것들이 모여서 이룬 묶음을 살펴봅니다.
데이터셋(dataset)은 목적에 맞게 관련 데이터를 모아 정리한 묶음입니다. 데이터 포인트는 하나 이상이면 됩니다.
용어 풀이
data + set입니다. 영어 set은 「한 벌 · 한 묶음」을 뜻합니다. 커피잔 여섯 개를 한 상자에 담은 것을 「커피잔 세트」라고 부르는 것과 같습니다.
데이터 (data)
관찰이나 측정으로 얻은 객관적 사실이나 값으로, 다양한 형태(숫자, 텍스트, 이미지 등)로 존재할 수 있습니다.
여기서는 목적에 따라 묶이기 전의 낱개를 가리킵니다.
데이터셋 (dataset)
특정 분석이나 처리라는 목적에 맞게 관련 데이터를 모아 정리한 것으로, 하나 이상의 데이터 포인트로 이루어집니다. 흔히 표나 데이터베이스처럼 구조화된 형태로 구성되지만, 리뷰 글 모음처럼 구조 없이 모인 데이터셋도 있습니다.
낱개에 목적이 생긴 묶음입니다.
둘을 구분하는 기준은 「목적」입니다. 서랍에 굴러다니는 영수증은 데이터이고, 그것을 「이번 달 지출을 알아보려고」 날짜 · 항목 · 금액 표로 옮겨 적으면 데이터셋이 됩니다. 같은 내용이라도 왜 모았는지가 정해지고 그 목적에 맞게 정리하면 데이터셋이 됩니다.
정형 데이터로 표현된 영화 데이터셋
| 제목 | 감독 | 관객 수(만 명) | 평점 |
|---|---|---|---|
| 우리집 | 감독 A | 324 | 8.8 |
| 민들레 | 감독 B | 186 | 8.7 |
| 영혼들 | 감독 C | 405 | 9.1 |
| 아홉 번째 별 | 감독 D | 227 | 9.3 |
속성과 데이터 포인트로 나누어 읽으면, 이 영화 데이터셋은 4개의 속성(제목 · 감독 · 관객 수 · 평점)과 4개의 데이터 포인트(영화 네 편)로 이루어져 있습니다. 속성은 세로줄(열), 데이터 포인트는 가로줄(행)입니다. 영화 제목과 값은 수업에서 원리를 확인하려고 지어낸 값입니다.
우리 반 학생들의 키를 종이에 아무렇게나 적어 둔 것은 데이터일까요, 데이터셋일까요? 데이터셋이 되려면 무엇이 더 있어야 하는지 「목적」이라는 말을 넣어 설명해 보세요.
데이터셋은 표로만 되어 있을까?
칸에 안 들어가는 것들은 데이터셋이 못 되는 걸까?
데이터는 정형 데이터로 표현하거나, 구조화되지 않은 리뷰 텍스트와 이미지 같은 비정형 데이터로도 표현할 수 있습니다.
비정형 데이터로 표현된 리뷰 데이터셋
이 리뷰 모음도 하나의 데이터셋입니다. 「이 영화에 대한 관객의 반응」이라는 목적으로 모였기 때문입니다. 다만 칸이 정해져 있지 않으므로 비정형입니다. 글의 길이도 제각각이고, 옆에 붙은 프로필 이미지도 그 안을 표의 열로 나눌 수 없습니다.
데이터셋은 세 가지로 나뉩니다
- 정형 데이터로 구성된 데이터셋 — 영화 데이터셋처럼 전부 표의 칸으로 나누어 적힘
- 비정형 데이터로 구성된 데이터셋 — 리뷰 데이터셋처럼 전부 표의 칸으로 나눌 수 없음
- 정형과 비정형이 섞인 데이터셋 — 실제로 흔한 경우
영화 예매 앱을 떠올려 보세요. 상영 시간 · 좌석 · 가격은 정형이고, 포스터 이미지 · 예고편 영상 · 관람평은 비정형입니다. 한 화면 안에 둘이 같이 있습니다.
서로 다른 형태의 데이터셋을 함께 분석하면 새로운 통찰을 얻을 수 있습니다. 위 영화 데이터셋과 리뷰 데이터셋을 함께 분석하면 해당 영화에 대한 관객들의 감정과 느낀 점을 더 명확하게 파악할 수 있습니다.
평점 8.8이라는 숫자만으로는 왜 그 점수인지 알 수 없습니다. 리뷰를 함께 보면 「웃겨서」인지 「감동해서」인지가 드러납니다. 숫자는 「얼마나」를, 글은 「왜」를 알려 줍니다.
우리 학교 급식 만족도 조사에서 정형 데이터셋에 해당하는 것과 비정형 데이터셋에 해당하는 것을 하나씩 들어 보세요. 그리고 둘을 함께 보면 무엇을 더 알 수 있을까요?
데이터셋을 합치면 무엇이 좋을까?
따로 있는 표 두 개를 왜 굳이 하나로 만들까?
서로 다른 데이터셋을 함께 분석하려면 먼저 하나로 합쳐야 합니다. 여기서는 어떻게 합치는지 살펴봅니다.
데이터 통합은 흩어져 있는 데이터셋 여럿을 하나로 합치는 일입니다.
속성이 많아집니다
여러 데이터셋을 통합하면 한 번에 분석할 수 있는 속성의 수가 많아지므로 포괄적인 분석이 가능합니다.
관계가 더 보입니다
더 많은 수의 속성 간 관계를 발견할 수 있습니다. 속성 사이의 상관관계나 인과 관계를 찾을 재료가 늘어납니다.
영화 데이터셋만 보면 「평점이 높은 영화」까지밖에 알 수 없습니다. 여기에 상영관 데이터셋을 붙이면 「평점이 높은 영화가 어느 관에서 하는가」를 한 번에 물을 수 있습니다. 따로 있을 때는 할 수 없던 질문을 할 수 있게 되는 것이 통합하는 이유입니다.
합칠 재료: 데이터셋 두 개
| 제목 | 감독 |
|---|---|
| 우리집 | 감독 A |
| 민들레 | 감독 B |
| 영혼들 | 감독 C |
| 제목 | 상영관 |
|---|---|
| 우리집 | 1관 |
| 아홉 번째 별 | 1관 |
| 영혼들 | 3관 |
여기서 쓰는 영화 데이터셋은 『데이터셋이란 무엇일까?』 절의 표에서 「아홉 번째 별」을 뺀 세 편입니다. 합치기 전에 두 가지를 확인하세요. 첫째, 두 표에 공통된 속성이 있는지 봅니다. 여기서는 「제목」이 두 표를 잇는 다리 역할을 합니다. 둘째, 한쪽에만 있는 데이터가 무엇인지 봅니다. 민들레는 영화 데이터셋에만, 아홉 번째 별은 상영관 데이터셋에만 있습니다. 이 둘을 어떻게 처리하느냐에 따라 통합 방법이 세 가지로 나뉩니다.
도서관의 「도서 목록(책 제목 · 저자)」과 「대출 기록(책 제목 · 대출일)」을 합치려 합니다. 두 표를 잇는 공통된 속성은 무엇이고, 한 번도 빌려 가지 않은 책은 어느 표에만 있게 될까요?
통합하는 방법은 몇 가지일까?
한쪽에만 있는 데이터는 버려야 할까, 남겨야 할까?
데이터 통합 방법은 세 가지 종류가 있으며, 목적에 맞는 방법을 선택하여 통합합니다.
아래 그림에서 두 원이 겹치는 부분이 양쪽에 모두 있는 데이터이고, 색칠된 부분이 결과에 남는 데이터입니다.
두 데이터셋에서 공통된 속성인 「제목」을 기준으로 같은 데이터만 통합합니다. 양쪽에 모두 있는 것만 남고, 한쪽에만 있는 것은 버려집니다.
| 제목 | 감독 | 상영관 |
|---|---|---|
| 우리집 | 감독 A | 1관 |
| 영혼들 | 감독 C | 3관 |
이 방법은 불필요한 데이터 없이 공통된 값만 필요한 경우에 사용할 수 있습니다. 빈칸이 하나도 없어 바로 분석에 쓰기 좋습니다. 대신 민들레와 아홉 번째 별은 사라졌다는 점을 잊으면 안 됩니다.
영화 데이터셋의 데이터 포인트를 기준으로 상영관 데이터셋의 데이터 포인트를 통합하고, 일치하는 데이터가 없는 경우에는 해당 속성값을 빈칸으로 둡니다.
| 제목 | 감독 | 상영관 |
|---|---|---|
| 우리집 | 감독 A | 1관 |
| 민들레 | 감독 B | |
| 영혼들 | 감독 C | 3관 |
이 방법은 기준이 되는 데이터셋과 다른 데이터셋과의 관계를 파악할 때 사용할 수 있습니다. 영화 세 편이 모두 남아 있고, 민들레의 상영관 칸만 비어 있습니다. 「우리 영화 중 아직 상영관이 안 잡힌 것은?」을 알고 싶을 때 이 방법을 씁니다.
공통된 속성을 기준으로 모든 데이터셋의 데이터 포인트를 통합합니다. 어느 한쪽에만 있어도 버리지 않고 모두 남깁니다.
| 제목 | 감독 | 상영관 |
|---|---|---|
| 우리집 | 감독 A | 1관 |
| 민들레 | 감독 B | |
| 아홉 번째 별 | 1관 | |
| 영혼들 | 감독 C | 3관 |
이 방법은 데이터셋 간의 완전한 관계를 파악할 때 사용할 수 있습니다. 아무것도 잃지 않는 대신 빈칸이 가장 많이 생깁니다.
세 방법을 한 줄로 비교하면
| 방법 | 남는 데이터 포인트 | 빈칸 | 언제 쓰나 |
|---|---|---|---|
| 1. 공통된 것만 | 2개 (양쪽에 다 있는 것) | 없음 | 공통된 값만 필요할 때 |
| 2. 기준 데이터셋 전부 | 3개 (영화 데이터셋 전부) | 조금 | 기준 데이터셋과의 관계를 볼 때 |
| 3. 모든 데이터 | 4개 (양쪽 전부) | 가장 많음 | 완전한 관계를 볼 때 |
고르는 기준은 「무엇을 알고 싶은가」입니다. 빈칸이 없는 깔끔한 표가 늘 좋은 것이 아닙니다. 방법 1을 쓰면 「아직 상영관이 안 잡힌 영화」는 아예 보이지 않게 됩니다. 버려진 데이터가 사실은 답이었을 수도 있습니다.
직접 판단해 봅시다
감독 A의 영화가 현재 어디에서 상영하는지를 알고 싶다면 어떤 통합 방법을 사용해야 할까요?
세 방법 모두 감독 A의 영화가 어디에서 상영되고 있는지 알 수 있습니다. 「우리집」은 양쪽 데이터셋에 다 있어서 어느 방법으로 합쳐도 남기 때문입니다. 다만 「공통된 속성을 기준으로 통합하는 방법」(방법 1)이 가장 효율적입니다. 필요 없는 빈칸이 딸려 오지 않기 때문입니다.
학생 명단(이름 · 반)을 기준으로 동아리 명단(이름 · 동아리)을 합쳐 「아직 동아리에 들지 않은 학생」을 찾으려 합니다. 세 방법 중 어느 것을 써야 할까요? 방법 1로 합치면 찾는 학생은 어떻게 될까요?
오렌지로 직접 통합해 볼까?
방금 배운 세 가지 방법이 프로그램에서는 어떻게 나타날까?
오렌지 프로그램의 위젯으로 두 개 이상의 데이터셋을 쉽게 통합할 수 있습니다. 위젯을 사용해 봅시다.
이번 실습에서 만들 워크플로
데이터 수집하기
구글 스프레드시트를 열어 아래 두 표를 각각 입력하고, 파일 메뉴의 다운로드에서 xlsx 형식으로 내려받아 저장합니다. 창 두 개, 파일 두 개입니다.
상영관 데이터
| 상영관 | 시작 시간 | 제목 | 금액 |
|---|---|---|---|
| 1관 | 19:00 | 우리집 | 11,000 |
| 1관 | 17:30 | 아홉 번째 별 | 10,000 |
| 3관 | 18:00 | 영혼들 | 10,000 |
영화 데이터
| 제목 | 감독 | 관객 수(만 명) | 평점 |
|---|---|---|---|
| 우리집 | 감독 A | 324 | 8.8 |
| 민들레 | 감독 B | 186 | 8.7 |
| 영혼들 | 감독 C | 405 | 9.1 |
데이터 통합하기
- 오렌지 프로그램을 열고 위젯에서 상영관 데이터를 불러옵니다. 창이 열리면 저장한 xlsx 파일을 고르고, 속성명을 확인한 뒤 를 클릭합니다.
- 같은 방법으로 위젯을 하나 더 놓아 영화 데이터를 불러옵니다.
- 두 개의 에 위젯을 연결하고, 설정을 [제목] - [제목]으로 설정합니다.
은 「공통된 속성」을 지정하는 설정입니다. 두 표를 잇는 다리를 무엇으로 놓을지 정하는 것이어서, 여기를 잘못 고르면 뒤의 결과가 모두 틀립니다. 여기서는 양쪽에 다 있는 제목을 골랐습니다.
데이터 확인하기
에 위젯을 연결하여 통합된 데이터를 확인하고, 위젯에서 설정을 바꿔 봅니다.
이번 실습에서는 상영관 데이터가 기준입니다. 위젯에 먼저 연결한 데이터를 Data, 그 이후에 연결한 데이터를 Extra data라고 부릅니다. 『통합하는 방법은 몇 가지일까?』 절에서는 영화 데이터셋이 기준이었지만, 여기서는 상영관을 먼저 불러오므로 기준이 뒤바뀝니다. 같은 설정이라도 무엇을 먼저 연결했느냐에 따라 결과가 달라집니다.
Merging 설정 세 가지는 통합 방법 세 가지와 같습니다
이름만 영어일 뿐, 벤 다이어그램이 정확히 같습니다. 셋을 모두 눌러 보고 결과가 어떻게 달라지는지 확인해 보세요.
| 오렌지의 Merging 설정 | 뜻 | 앞에서 배운 방법 |
|---|---|---|
| 기준(Data)의 행은 모두 두고, Extra data의 열을 붙인다. 짝이 없으면 빈칸으로 둔다. | 방법 2 — 기준 데이터셋 전부 | |
| 일치하는 행을 찾고, 일치하지 않는 행은 출력에서 제외한다. | 방법 1 — 공통된 것만 | |
| 일치하는 행을 찾고, 일치하지 않는 행은 끝에 추가한다. | 방법 3 — 모든 데이터 |
세 설정을 각각 눌러 보고 적어 봅시다
설정마다 데이터 포인트가 몇 개 나오는지 세어 보고, 어떤 특징이 있는지 적어 보세요. 위 두 표(상영관 3개 · 영화 3개, 공통은 우리집 · 영혼들)를 기준으로 미리 예상한 뒤 화면과 맞춰 보세요.
| 설정 | 예상 데이터 포인트 수 | 화면에서 확인한 수 · 특징 |
|---|---|---|
| 상영관 3개가 모두 남으므로 3개 | 직접 확인해 보세요 | |
| 공통은 우리집 · 영혼들뿐이므로 2개 | 직접 확인해 보세요 | |
| 상영관 3개 + 영화에만 있는 민들레 = 4개 | 직접 확인해 보세요 |
통합에 쓸 수 있는 위젯이 하나 더 있습니다. 위젯입니다. 는 공통된 속성을 기준으로 두 데이터셋의 행을 통합하고, 는 동일한 형식의 두 데이터셋을 단순히 연결한다는 점에서 차이가 있습니다. 다리를 놓고 잇느냐, 그냥 아래에 이어 붙이느냐의 차이입니다.
을 [제목] - [제목]이 아니라 [상영관] - [감독]으로 잘못 설정하면 어떤 일이 생길까요? 「다리」라는 말로 설명해 보세요.
핵심 정리
데이터셋
dataset
- 개수가 아니라 목적이 기준이다. 데이터 포인트 하나로도 데이터셋이 된다
- 서랍 속 영수증은 데이터, 지출을 알려고 옮겨 적은 표는 데이터셋
- 보통 표나 데이터베이스 형태로 구성된다
데이터셋의 형태
structured · unstructured
- 정형(영화 표) · 비정형(리뷰 글 · 이미지) · 섞인 것
- 서로 다른 형태를 함께 분석하면 새로운 통찰을 얻는다
- 숫자는 얼마나를, 글은 왜를 알려 준다
데이터 통합
data integration
- 합치면 따로 있을 때는 할 수 없던 질문을 할 수 있다
- 속성 수가 늘어 포괄적인 분석이 가능해진다
- 속성을 옆으로 이어 붙이려면 두 표를 잇는 공통된 속성이 필요하다
통합의 세 가지 방법
Orange · Merging
- 공통된 것만 — 빈칸 없음 / Find matching pairs of rows
- 기준 데이터셋 전부 — 짝 없으면 빈칸 / Append columns
- 모든 데이터 — 아무것도 안 버림 / Concatenate tables
- 빈칸 없는 표가 늘 좋은 것은 아니다. 버려진 데이터가 답일 수 있다
확인 퀴즈
배운 내용을 확인해 봅시다.
데이터와 데이터셋의 차이로 가장 알맞은 것은?
제목 · 감독 · 관객 수 · 평점 네 열에 영화 네 편이 적힌 영화 데이터셋이 있습니다. 이 데이터셋의 속성 수와 데이터 포인트 수는?
데이터 통합의 이점으로 알맞지 않은 것은?
빈칸 없이 양쪽에 모두 있는 데이터만 남기고 싶습니다. 알맞은 통합 방법은?
오렌지의 설정은 앞에서 배운 어떤 방법과 같을까요?