데이터 분석 입문 선형대수 · LA01 데이터 행 = 벡터
고객 한 명은 숫자 몇 개일까?
표의 한 줄이 좌표평면의 화살표가 돼요
개념표의 한 행 = 화살표
고객 한 명의 (방문수, 구매액)을 좌표로 찍으면, 원점에서 그 점까지의 화살표가 돼요. 표의 한 행이 곧 벡터예요.
피처가 개이면 벡터의 성분도 개, 차원 공간의 한 점이에요.
행 = 고객 1명(관측치), 열 = 측정 항목(피처)
문제오늘의 한 문제
고객 A, B, C의 (방문수, 구매액[만원])을 적은 표 예요. 왼쪽 숫자가 방문수, 오른쪽 숫자가 구매액이에요.
| A | 2 | 1 |
| B | 3 | 4 |
| C | 4 | 2 |
고객 B를 하나의 벡터로 쓰고 그 차원을 쓴 것은?
풀이한 행이 고객 한 명
- 1표의 한 행이 고객 한 명: 고객 B = (3, 4)
- 2성분의 개수 = 피처의 개수 = 2 → 2차원
- 3방문수 열(2, 3, 4)은 고객이 아니라 같은 항목을 모아 놓은 것
정답 ① (3, 4), 2차원
개념 다시행과 열, 무엇이 무엇일까?
표 는 행이 개(고객), 열이 개(피처)인 모양이고, 로 말해요. 여기서는 예요.
행 vs 열
행 = 관측치(고객 1명), 열 = 피처(측정 항목). 피처가 3개면 3차원이라 그림은 못 그려도 계산은 똑같아요
X[1] # array([3, 4])웹에서만 · 자세한 해설
영상에서는 그림으로 감을 잡았어요. 여기서는 표를 벡터로 읽는 법과, 행과 열을 헷갈리기 쉬운 이유를 끝까지 정리해요.
표를 벡터로 읽기
| 고객 | 방문수 | 구매액(만원) |
| A | 2 | 1 |
| B | 3 | 4 |
| C | 4 | 2 |
한 행을 읽으면 그 고객의 벡터예요: , , . 한 열을 읽으면 같은 항목을 고객 전체에서 모은 벡터예요: 방문수 열 , 구매액 열 .
중학교에서 배운 좌표평면의 점 와 같은 이야기예요. 점의 좌표가 곧 벡터의 성분이고, 피처가 늘면 좌표축이 하나씩 늘어날 뿐이에요.
단계별 풀이
- 1표 의 모양은 : 고객 명, 피처 개
- 2고객 한 명은 표의 한 행이에요. 고객 B는 두 번째 행이니
- 3벡터의 성분 수는 피처 개수 이므로 2차원
- 4그래서 정답은 ① , 2차원
선택지별 오답 이유
- 1② , 3차원: 고객 수 을 차원으로 착각했어요. 차원은 피처 개수 예요.
- 2③ , 3차원: 방문수 열을 고객으로 읽었어요. 열은 같은 항목을 모은 것이에요.
- 3④ , 2차원: 성분 순서를 바꿨어요. 첫 성분은 방문수, 둘째 성분은 구매액이에요.
- 4⑤ , 3차원: 고객 이름은 데이터 값이 아니라 행을 가리키는 이름표(인덱스)예요.
자주 하는 실수
행과 열 혼동
판다스에서 df.iloc[1]은 '행'(고객 1명), df['방문수']는 '열'(항목 하나)이에요. 모양 (n, p)에서 앞이 행 수, 뒤가 열 수예요.
파이썬으로 확인
import numpy as np
X = np.array([[2, 1], [3, 4], [4, 2]])
print(X.shape)
print(X[1])
print(X[:, 0])
# 실행 결과
# (3, 2)
# [3 4]
# [2 3 4]확인 문제
피처에 나이를 하나 더해서 고객 B의 값이 (방문수 3, 구매액 4, 나이 28)이 되었어요. 표 의 모양과 고객 B의 벡터는?
정답 보기
- 1모양은 : 고객 3명 × 피처 3개
- 2고객 B , 3차원 벡터
같은 유형에서 자꾸 막히나요?
그 유형을 잘 아는 과외 선생님을 연결해 드립니다. 상담은 무료예요.
